Можно ли получить идентификатор учетной записи AWS с помощью только ключа AWS Access и секретным ключом в командной строке (CLI)

Не получается, потому что /usr/bin/java - это файл, а не каталог.

Вы можете сделать:

cd "$(dirname "$(which java)")"

Или использовать расширение параметров в zsh:

cd "${"$(which java)"%/*}"
7
12.11.2018, 06:43
2 ответа

Почти каждый объект AWS включает идентификатор учетной записи. Например, мой пользователь IAM — это arn :aws :iam ::АККАУНТ _ID :user/Andrew.Lorien, а идентификатор одного из моих стеков cloudformation — arn :aws :. ] cloudformation :us -west -2 :АККАУНТ _ID :stack/my -репозиторий/12345678 -90ab -cdef -1234 -567890abcdef. Таким образом, вы можете запросить все, что у вас есть, и извлечь из этого идентификатор. Вот bash one -лайнер, который получает первого пользователя IAM (строку вида arn :aws :iam ::АККАУНТ _ID :пользователь/ПОЛЬЗОВАТЕЛЬ _ИМЯ )и извлекает идентификатор учетной записи.

aws iam list-users --query "Users[0].Arn" --output text | cut -d ":" -f 5
0
27.01.2020, 20:18

Это правильный путь:

~ $ aws sts get-caller-identity
{
    "Account": "123456789012", 
    "UserId": "AIDABCDEFGHJKL...", 
    "Arn": "arn:aws:iam::123456789012:user/some.user"
}

Это работает для пользователей IAM, ролей IAM между учетными записями -, ролей IAM EC2 и т. д.

Используйте вместе с jq, чтобы получить только идентификатор учетной записи:

~ $ aws sts get-caller-identity | jq -r.Account
123456789012
8
27.01.2020, 20:18

Теги

Похожие вопросы