运行 Boto 函数所需的最低 IAM 策略

dre*_*und 5 python boto amazon-web-services amazon-iam boto3

我正在尝试在 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
Run Code Online (Sandbox Code Playgroud)

Joh*_*ein 3

您列出的函数与对 AWS 的 API 调用之间不存在 1:1 的相关性。

如果您使用某个client功能,那么您需要该功能的特定权限,例如:

response = ec2_client.describe_instances()
Run Code Online (Sandbox Code Playgroud)

该命令需要ec2:DescribeInstances许可。

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

instance = ec2_resource.Instance('id')
Run Code Online (Sandbox Code Playgroud)

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

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