aws sts assume-role以Json格式返回凭据。有没有一种简单的方法(比如将它们放入环境变量中),以便后续对aws的调用可以使用它们?
基本上,我想要类似于AWS的sudo -i。
注意:我目前正在使用env-变量中的当前凭据在我的笔记本上执行此操作,但如果该解决方案也适用于原始角色凭据来自实例-元数据的EC2实例,则会更好。
发布于 2015-10-31 20:36:02
与显式调用sts assume-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要使用您设置的角色,您可以提供--profile CLI选项,或者确保使用配置文件名设置AWS_PROFILE环境变量。
当然,您也可以显式调用sts assume-role命令,然后需要解析出适当的值,并将它们放入以下环境变量:AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY和AWS_SESSION_TOKEN。
https://serverfault.com/questions/732807
复制相似问题