Можете ли вы получить имя учетной записи AWS от Boto?

У меня есть ключ и секретный ключ, и я хотел бы позвонить boto, чтобы получить имя учетной записи. Я могу получить идентификатор учетной записи, но имя учетной записи AWS является загадкой.

2 ответа

Чтобы получить псевдоним учетной записи AWS в boto3:

alias = boto3.client('iam').list_account_aliases()['AccountAliases'][0]
  • Хотя ответ API допускает использование нескольких псевдонимов учетных записей, в документах AWS говорится, что на одну учетную запись может быть только один.
  • Псевдоним учетной записи не совпадает с именем учетной записи, но он буквенно-цифровой и более пригоден для использования, чем номер учетной записи. Это также не требует столько привилегий для доступа, как получение имени учетной записи через boto3 organizations сервис.

Чтобы получить идентификатор счета (номер):

id =  boto3.client('sts').get_caller_identity().get('Account')

От Получить идентификатор учетной записи AWS от Boto

id = boto3.client('sts').get_caller_identity().get('Account')

затем

name =   boto3.client('organizations').describe_account(AccountId=id).get('Account').get('Name')

Уже поздно, но может быть полезно в будущем. Если вы используете службу организации, используя приведенный ниже код, вы можете получить имя учетной записи.

org = boto3.client('organizations')
account_name = org.describe_account(AccountId='account-id').get('Account')
print(account_name ['Name'])

Для получения дополнительной информации

Это возможно только в том случае, если вы используете IAM и хотите получить этот псевдоним. Если у вас есть учетные данные root, получить имя учетной записи невозможно.

Связанный вызов: get_account_alias()

http://boto.readthedocs.org/en/latest/ref/iam.html

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