我想使用credential_process
中的~/.aws/config
配置选项为Terraform中的AWS提供程序获取凭据。
我看到对credential_process
的支持是recently (9 days ago) added to the AWS GO SDK v1.16.4。我还看到AWS GO SDK依赖项为changed to that version in the Terraform AWS provider even more recently (11 hours ago)。
下一个Terraform AWS提供程序版本(显然为v1.52.0)发布后,我是否会自动获得对credential_process
功能的支持?
在Terraform v0.11.10和provider.aws v1.51.0中,似乎没有使用credential_process
,因为出现以下错误:
* provider.aws: error validating provider credentials: error calling sts:GetCallerIdentity: NoCredentialProviders: no valid providers in chain. Deprecated.
我在环境中确实有suggested by the SDK documentation的AWS_SDK_LOAD_CONFIG=1
。 Terraform是否需要使用它还是要加载~/.aws/config
?
答案 0 :(得分:0)
所有您需要做的就是导出AWS_PROFILE =“ x”,然后terraform将使用它。
答案 1 :(得分:0)
使用AWS_PROFILE
和 AWS_SDK_LOAD_CONFIG
:
AWS_PROFILE=foo AWS_SDK_LOAD_CONFIG=1 terraform plan
正在讨论配置文件vars和credential_process:https://github.com/terraform-providers/terraform-provider-aws/issues/6913
答案 2 :(得分:0)
credential_process
配置选项可用于Terraform v1.52.0及更高版本。因此,要回答我自己的问题,我只需要等待发布。
其他人指出,AWS_PROFILE
环境变量可用于选择配置文件。不过,这并不特定于使用credential_process
。