aws sts get-session-token завершается с профилем - PullRequest
0 голосов
/ 02 апреля 2019

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

aws sts get-session-token --profile myprofile
Enter MFA code for arn:aws:iam::1234567890:mfa/myid:

An error occurred (AccessDenied) when calling the GetSessionToken operation: 
Cannot call GetSessionToken with session credentials

Последующие вызовы пропускаютПроверка MFA, показывающая, что она прошла нормально.

Запуск get-session-token без параметра --profile работает нормально:

$ aws sts get-session-token
{
    "Credentials": {
...

Что может быть не так?Я даже иду по этому пути?

Соответствующая часть моего ~/.aws/config:

[profile otherprofile]
mfa_serial=arn:aws:iam::xxx:mfa/myid
aws_access_key_id=xxx
aws_secret_access_key=xxx

[profile myprofile]
source_profile=otherprofile
region=ap-southeast-2
role_arn=arn:aws:iam::xxx:role/owner
mfa_serial=arn:aws:iam::xxx:mfa/myid

1 Ответ

1 голос
/ 02 апреля 2019

Ваш первоначальный вызов использует роль IAM.Он пытается вызвать get-session-token, что вернет некоторые временные учетные данные.

Однако при использовании роли IAM CLI AWS автоматически использует ваши обычные учетные данные для вызова assume-role, тем самым получая обратно наборвременных полномочий.Невозможно вызвать get-session-token с временными учетными данными (из роли).Вот почему сообщение об ошибке гласит: Cannot call GetSessionToken with session credentials.

Если вы хотите позвонить get-session-token, вам нужно будет сделать это с обычными учетными данными, как вы это делали во втором примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...