![](/img/trans.png)
[英]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.