我想以编程方式获取允许用户跨 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/