В поисках быстрого способа получить номер моей учетной записи, я изначально думал об использовании, aws iam get-account-authorization-details --max-items 1
но есть несколько проблем с тем, чтобы сделать это таким образом. Есть ли способ сделать это, чтобы учетные записи не переключались между собой?
100
aws sts get-caller-identity|jq -r ".Account"
aws sts get-caller-identity --output json | jq '.Account' | sed 's/\"//g'
--query 'Account'
деталь.jq
что вас задействуют или установят в системе. Некоторые серверы запрещают установку посторонних пакетов из соображений безопасности. Вы можете сделать что-то подобное,aws sts get-caller-identity --output json |grep Account |awk -F ': "' '{print$2}' |sed 's/\".*//'
но это немного раздражает, и вы можете сделать--query 'Account' --output text
это прямо сейчас.Из моего соответствующего ответа для интерфейса командной строки AWS PowerShell , ваш идентификатор учетной записи является частью массива ресурсов, которые вы создаете ... и тех, которые создаются для вас автоматически. Некоторые ресурсы также будут указывать вас как OwnerId.
Группа безопасности по умолчанию автоматически создается для вас в VPC каждого региона по умолчанию в качестве зарезервированной группы безопасности. Из документации :
Это делает его надежным кандидатом для получения нашего идентификатора учетной записи, если вы используете классическую версию EC2 или используете VPC по умолчанию (* см. Крайние случаи, если у вас нет).
Пример:
Он используется
--query
для фильтрации вывода до «идентификатора владельца» для первого результата этого запроса, а затем используется--output
для вывода идентификатора вашей учетной записи в виде открытого текста:Пограничные случаи:
(Спасибо @kenchew) Обратите внимание, что если вы удалили свой VPC по умолчанию в данном регионе, эта группа безопасности больше не существует, и вам следует использовать одно из следующих альтернативных решений:
Дальнейшее чтение:
источник
Если вы работаете на сервере с предполагаемой ролью, вы не можете позвонить
aws sts get-caller-identity
. Кроме того,describe-security-groups
вы не можете всегда использовать--group-names
фильтр (он не работает, если у вас нет VPC по умолчанию), поэтому просто выберите первую группу безопасности. Я считаю, что это самый надежный вариант, независимо от того, какой тип аутентификации вы используете или какой у вас VPC.источник
Мой любимый метод - использовать,
aws iam get-user [--profile <profile>]
так как для этого вам нужна только роль самообслуживания IAM.источник