Политика AWS IAM для пользователей соленых облаков
Каковы минимальные права при создании пользователя IAM для salt-cloud, чтобы он мог выполнять свою работу, следуя принципу наименьших привилегий?
Мне просто нужно создать экземпляры EC2, используя файл карты: однако я не знаю достаточно соленого облака, чтобы быть уверенным в реальных операциях, которые оно выполняет.
Я бы предпочел использовать предопределенную политику, если она существует.
1 ответ
Я сам был заинтересован в этом, поэтому взглянул на источник соляных облаков (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
Естественно, вы можете использовать соль для создания профиля IAM для вас с этим;)