我正在尝试在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调用,以便确定权限。