Политика 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 для вас с этим;)

Другие вопросы по тегам