Как переключаться между ролями из 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
,