Как получить информацию о роли IAM пользователя с помощью boto3? - PullRequest
0 голосов
/ 11 февраля 2020

Например: при входе в учетную запись AWS федеративный вход отображается как myrole/usr1. пользователь user1 не является пользователем IAM. Пытался получить удостоверение с помощью client.get_caller_identity() с использованием модуля sts.

при запуске в лямбде, он давал роль, назначенную лямбде, а не реальную роль, которую я ищу. Как получить информацию о роли myrole?

1 Ответ

0 голосов
/ 11 февраля 2020

Вот способ получить имя роли из кода в целом:

import boto3
s = boto3.Session(profile_name="some_profile_name")
c = s.client("sts")
c.get_caller_identity()

Вы получите ответ в виде {'UserId': '...', 'Account': '...', 'Arn': 'arn:aws:sts::...:assumed-role/.../federated_username_here', ...}

Однако это означает, что вы настроили AWS Профиль CLI с именем some_profile_name, и для этого вам нужно настроить федеративный доступ через CLI или знать имя роли, насколько я понимаю, вы хотите получить. Проблема с курицей и яйцом.

То же самое относится и к попыткам получить его с помощью среды кода AWS, лямбда будет отображать свою роль, ec2 точно так же.

Таким образом, чтобы увидеть его с консоли, вы можете попробовать go перейти на страницу https://console.aws.amazon.com/billing/home?# / account , и, если у вас есть разрешения на просмотр этой страницы, ваша предполагаемая роль будет указана как Account Name.

...