Можете ли вы получить имя учетной записи 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()