在我的工作中,当使用 aws cli 时,我们使用 aws_session_token。我在 puppetlabs-aws 对 aws_session_token 的支持中看不到任何内容。有任何想法吗?
问问题
91 次
1 回答
0
当您从 AWS 安全令牌服务 (STS) 获取临时凭证时,通常使用 AWS_SESSION_TOKEN。这通常是在您调用 Assume 角色时。因此,这在很大程度上取决于您如何设置命令行:
如果您明确地调用像这样的角色:
aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/RoleToAssume" --role-session-name AWSCLI-Session
您应该得到包含三个变量的响应:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
您应该能够将这些中的每一个导出为环境变量,然后运行puppet apply
.
如果您没有显式调用假设角色并且正在使用实例配置文件,那么 puppet 应该会自动找到这 3 个变量。
如果您通过 AWS_PROFILES 调用假设角色,那么在设置环境变量后~/.aws/config
运行应该就足够了。puppet apply
AWS_PROFILE
您可能还想考虑使用更新的puppetlabs amazon_aws 模块,它取代了 puppetlabs/aws。
于 2021-01-19T00:33:38.583 回答