python - boto3 获取每项服务的可用操作

标签 python amazon-web-services boto3

我想以编程方式获取允许用户跨 aws 服务执行的所有操作。 我试图摆弄 simulate_principal_policy 但似乎此方法需要所有操作的列表,我不想维护硬编码列表。

例如,我还尝试使用 iam:* 调用它,并得到了一个通用的“implicitDeny”响应,因此我知道不允许用户执行所有操作,但我需要更高粒度的操作。

关于如何动态获取 Action 列表的任何想法? 谢谢!

最佳答案

我很惊讶没有人正确回答这个问题。这是使用 boto3 直接解决 OP 问题的代码:

import boto3

session = boto3.Session('us-east-1')

for service in session.get_available_services ():
   service_client = session.client (service)
   print (service)
   print (service_client.meta.service_model.operation_names)

但是,IAM 是一种特殊情况,因为它不会在上面的 get_available_services() 调用中列出:

IAM = session.client ('iam')
print ('iam')
print (IAM.meta.service_model.operation_names)

关于python - boto3 获取每项服务的可用操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51930111/

相关文章:

python - AWS Lambda boto3 : Instance launch from lambda boto3 python eroor

python - boto3 定价客户端的区域名称和位置之间的映射

python - 无法在opencv python中编写视频

Python os.system() 输入文本到脚本

python - Google App Engine 上 Django 中的包含标签

python - 如何在 "no module named xyz"错误上获得更多诊断输出?

javascript - Alexa Smarthome-无需 AWS 的技能

amazon-s3 - 如何确定哪个 AWS 位置最适合为特定区域的客户提供服务?

hadoop - 如何静音 apache zookeeper 调试消息 (AWS EMR)?

amazon-ec2 - 使用 Boto3 在 AWS 上创建新的 EC2 key 对