我正在尝试在Python脚本中运行一些Boto函数。我需要创建一个IAM策略,并具有最低要求执行这些Boto功能的最低权限。有没有一个很好的方法,可以将这些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调用,以确定权限。