为salt-cloud创建IAM用户时,最低权限是什么赋予它以便它可以在principle of least privilege之后完成其工作?
我只需要使用地图文件创建EC2实例:但是我不知道有多少盐云来确定它执行的实际操作。
我更愿意使用预定义的策略(如果存在)。
答案 0 :(得分:3)
我自己很好奇,所以看看盐云源(盐/云/云/ 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配置文件;)