4

在为 salt-cloud 创建 IAM 用户时,赋予它的最低权限是什么,以便它可以按照最小权限原则完成工作?

我只需要使用映射文件创建 EC2 实例:但是我不知道足够的 salt-cloud 来确定它执行的实际操作。

如果存在,我更愿意使用预定义的策略。

4

1 回答 1

3

我自己对此很好奇,所以查看了盐云源(salt/cloud/clouds/ec2.py)。有趣的是,他们不使用 boto 库来调用 AWS,而是选择自己处理请求,并且他们完成请求的方式使得提取您需要获得权限的操作变得非常容易。

这个oneliner拉出了所有的动作

grep "'Action':" cloud/clouds/ec2.py | awk '{print $4;}' | sed "s/[},']//g" | sort | uniq

如您所见,它是所有可用 Ec2 权限的一个相当大的子集。

AllocateAddress AssociateAddress AttachVolume CancelSpotInstanceRequests CopySnapshot CreateKeyPair CreateSnapshot CreateTags CreateVolume DeleteKeyPair DeleteSnapshot DeleteTags DeleteVolume DescribeAvailabilityZones DescribeImages DescribeInstanceAttribute DescribeInstanceTypes DescribeInstances DescribeKeyPairs DescribeRegions DescribeSnapshots DescribeSpotInstanceRequests DescribeSubnets DescribeTags DescribeVolumes DescribeZones DetachVolume GetConsoleOutput GetPasswordData ImportKeyPair ModifyInstanceAttribute ModifyNetworkInterfaceAttribute RebootInstance RebootInstances RegisterImage RequestSpotInstances RunInstances StartInstance StartInstances StopInstances TerminateInstances

当然,您可以使用 salt 为您创建一个 IAM 配置文件;)

于 2015-11-23T13:31:49.033 回答