AWS Cloudformation: возможно ли получить доступ к идентификатору пользователя в шаблоне Cloudformation? - PullRequest
0 голосов
/ 04 апреля 2019

Я хотел бы автоматически пометить определенные ресурсы AWS, определенные в шаблоне CloudFormation, пользователем, который использует этот шаблон для создания стека.Можно ли получить доступ к какому-либо идентификатору пользователя в шаблоне?

Ответы [ 2 ]

0 голосов
/ 13 апреля 2019

Есть один способ сделать это, но это не красиво и есть предостережение.

Вы можете запустить скрипт bash, как показано ниже, для экземпляра ec2:

AWS_INSTANCE_ID=`curl -s http://169.254.169.254/latest/meta-data/instance-id`
USER_ID=`aws sts get-caller-identity --output text --query 'Arn'`
aws ec2 create-tags --resources "${AWS_INSTANCE_ID}" --tags 'Key=CreatedBy,Value="${USER_ID}"' --region eu-west-1

Это помечает текущий экземпляр именем пользователя, который запускает CLI на этом экземпляре.

Однако предостережение заключается в том, что CLI должен запускаться пользователем, а не ролью, поэтому ваши пользовательские ключи должны быть скопированы на сервер - и затем снова удалены в конце сценария.

Не идеально, но дает вам возможность.

0 голосов
/ 05 апреля 2019

Я не думаю, что это возможно.

Сервисы AWS привязаны к Аккаунтам AWS. Как только IAM подтверждает, что конкретный пользователь имеет разрешение на вызов API, генерируемые ресурсы становятся связанными с учетной записью, а не с конкретным пользователем. Например, невозможно посмотреть на экземпляр EC2 и определить, кто запустил экземпляр.

Эта информация, однако, доступна в AWS CloudTrail , но это скорее журнал аудита - она ​​не предоставляет информацию о пользователе обратно в сервис.

Итак, я подозреваю, что стеку не предоставлена ​​информация о пользователе, который его запустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...