[英]In Puppet, on which node should I declare the puppetlabs-aws classes?
[英]I need to use aws_session_token with puppetlabs-aws
在我的工作中,当使用 aws cli 时,我们使用 aws_session_token。 我在 puppetlabs-aws 中没有看到任何对 aws_session_token 的支持。 有任何想法吗?
当您从 AWS 安全令牌服务 (STS) 获取临时凭证时,通常会使用 AWS_SESSION_TOKEN。 这通常发生在您调用 Assume 角色时。 所以这在很大程度上取决于您如何设置命令行:
如果您明确地调用 assume role 是这样的:
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
。
如果您没有明确调用 assume role 并且正在使用实例配置文件,puppet 应该会自动找到这 3 个变量。
如果您在~/.aws/config
中通过 AWS_PROFILES 调用承担角色,那么在设置AWS_PROFILE
环境变量后运行puppet apply
就足够了。
您可能还想考虑使用更新的 puppetlabs amazon_aws 模块,它取代了 puppetlabs/aws。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.