运行 Boto 功能所需的最低 IAM 政策

Minimum IAM policy required to run Boto functions

我正在尝试 运行 在 python 脚本中使用一些 boto 函数。我需要创建一个具有执行这些 boto 功能所需的最低权限的 IAM 策略。有什么好的方法可以将这些 boto 函数与执行它们所需的 AWS IAM 权限相关联。

例如,这是我拥有的 boto 模块 (python)。用户 运行 需要哪些 IAM 权限?有什么好的方法可以找到吗?

boto.ec2.autoscale.connect_to_region
boto.ec2.elb.connect_to_region
boto.ec2.connect_to_region
boto.ec2.instance.Instance
boto.ec2.elb.loadbalancer.LoadBalancer
boto.ec2.autoscale.group.AutoScalingGroup

您列出的函数与对 AWS 的 API 调用之间没有 1:1 关联。

如果您使用 client 函数,则需要该函数的特定权限,例如:

response = ec2_client.describe_instances()

此命令需要 ec2:DescribeInstances 权限。

boto3 还提供了resource 函数,提供更像对象的体验,例如:

instance = ec2_resource.Instance('id')

此类函数可以调用任意数量的底层 API 调用,因此确定此类调用所需的权限并不容易。

您可以使用 AWS CloudTrail 查看进行的基础 API 调用,以便确定权限。