aws sts assume-role
учетные данные возвратов в Json-формате. Есть ли простой способ (как помещение их в переменных среды) так, чтобы последующие вызовы к aws
может использовать их?
В основном я хочу что-то как sudo -i
для AWS.
Примечание: Я в настоящее время делаю это на своем ноутбуке с текущими учетными данными в огибающих переменных, но было бы хорошо, если бы решение также работало над экземплярами EC2, куда исходные ролевые учетные данные прибывают из метаданных экземпляра.
Вместо явного вызова команды sts accept-role
можно настроить профиль , который принимает на себя определенную роль, которая затем кэшируется в CLI . Это хорошо документировано , но вы в основном просто настраиваете его как обычный профиль в своем файле ~ / aws / config
, например:
[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadmin
source_profile = default
Если вы применяете MFA при использовании роль (что я настоятельно рекомендую вам сделать), она будет выглядеть примерно так:
[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadmin
source_profile = default
mfa_serial = arn:aws:iam::123456789012:mfa/jonsmith
Для использования роли, которую вы настроили, вы либо указываете опцию CLI - profile
, либо обязательно установите Переменная среды AWS_PROFILE
с именем профиля.
Вы, конечно, также можете явно вызвать команду sts accept-role
, тогда вам нужно будет проанализировать соответствующие значения и поместить их в следующие переменные среды: AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
и AWS_SESSION_TOKEN
.