Как переключаться между ролями из ec2 cli?

Я предоставляю экземпляр ec2 с определенной ролью. Я хочу изменить предполагаемую роль позже из ec2 cli, чтобы получить доступ к кросс-аккаунту, что-то сделать, а затем вернуться к моей первоначальной роли. Как мне этого добиться?

2 ответа

Решение

Я бы использовал файл ~/.aws/config с добавленным дополнительным профилем.

  • Предполагая, что RoleA является вашей ролью профиля экземпляра,
  • RoleB - это роль, которую вы хотите взять на себя
  • RoleA имеет sts:acceptrole

Обновите ваш ~/.aws/config, чтобы он выглядел следующим образом

[profile roleb]
role_arn = arn:aws:iam::123412341234:role/RoleB
region=us-east-1
credential_source = Ec2InstanceMetadata

Поэтому, если вы хотите запустить роль из предполагаемой роли b, вы бы

aws s3 --profile roleb ls 

Для получения дополнительной информации https://docs.aws.amazon.com/cli/latest/topic/config-vars.html

Вы не переключитесь на другую роль. Скорее, вы бы запросили временные учетные данные, связанные с другой ролью, а затем использовали бы эти новые учетные данные для выполнения вызовов API.

Шаги будут:

  • Вызов aws sts assume-role --role-arn arn:aws:iam::nnn:role/your-role --role-session-name foo
  • Возьмите временные учетные данные, которые возвращаются. Я бы порекомендовал хранить их в ~/.aws/credentials файл с помощью aws configure --profile role2
  • Затем выполните вызов API с этой ролью, например: aws s3 ls --profile role2

Чтобы использовать оригинальные учетные данные, просто оставьте --profile,

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