我一直在使用AWS作为云服务,Terraform作为IaC。经常需要复制粘贴凭据,这很烦人。有没有可用的解决方案或者其他的解决方法可以使用AWS SSO呢?
我一直在使用AWS作为云服务,Terraform作为IaC。经常需要复制粘贴凭据,这很烦人。有没有可用的解决方案或者其他的解决方法可以使用AWS SSO呢?
据我了解,AWS SSO(身份验证v2)和terraform之间存在当前问题;只有V1身份验证(访问密钥和秘密密钥)才能得到可靠的接受。
例如,此开放的PR 或者 这个问题 或者 这个正在进行中的引用合并
有几个项目通过从AWS SSO生成V1凭证来绕过此问题。
我使用的是一个名为yawsso的PyPi库。
尝试这个:
pip3 install yawsso
yawsso login # this will authenticate - you no longer need to run 'aws sso login'
请确保在使用export AWS_PROFILE=foo
命令时,"foo"是你~/.aws/config
文件中的配置文件名字,例如[profile foo]
。
yawsso
将登录所有列在AWS配置文件中的配置文件,这样您就不需要一个一个地登录所有工作所需的配置文件。
现在似乎可以在没有外部插件的情况下实现,详见此处: https://registry.terraform.io/providers/hashicorp/aws/latest/docs#shared-configuration-and-credentials-files
示例:
provider "aws" {
profile = "customprofile"
}