我可以在环境变量而不是.terraformrc文件中定义terraform云凭据吗?

我可以在环境变量而不是.terraformrc文件中定义terraform云凭据吗?,terraform,Terraform,我知道我需要在.terraformrc文件中定义terraform云凭据,如下所述: 有没有办法不使用.terraformrc文件并在环境变量中设置凭据和令牌 附言: 只是一个附带的问题,我们有Terraform Enterprise或Cloud的StackOverflow标签吗?答案是肯定和否定的 如果问题是使用环境变量验证TFE提供程序,那么答案是肯定的。该更改是为了启用TFE_令牌和TFE_主机名来验证TFE提供程序,作为Terraform CLI配置文件的替代方案。然后,您可以与该提

我知道我需要在.terraformrc文件中定义terraform云凭据,如下所述:

有没有办法不使用.terraformrc文件并在环境变量中设置凭据和令牌

附言:


只是一个附带的问题,我们有Terraform Enterprise或Cloud的StackOverflow标签吗?

答案是肯定和否定的

如果问题是使用环境变量验证TFE提供程序,那么答案是肯定的。该更改是为了启用
TFE_令牌
TFE_主机名
来验证TFE提供程序,作为Terraform CLI配置文件的替代方案。然后,您可以与该提供商的TFE/Terraform云交互,并使用环境变量进行身份验证


如果问题是使用环境变量通过Terraform CLI验证TFE交互,那么答案是否定的。TFE验证不在Terraform CLI的验证范围内。我还通过一个快速测试验证了提供者身份验证环境变量在CLI中的作用不类似。为此,您必须使用
terraform.rc
.terraformrc
credentials.tfrc.json
在CLI配置中查找凭据是terraform处理凭据的默认方式,但您可以通过配置,Terraform将运行一个外部程序来获取凭据,而不是直接查阅配置文件

凭证帮助程序是通过其stdin/stdout支持特定协议的任意程序,因此原则上它们可以执行任何操作,包括检查环境变量。我以前写的是一个凭证助手,它正好做到了这一点,因此配置该助手可能就足以满足您在这里的需要,或者如果没有,您可以将其作为一个示例来使用


请注意,Terraform的凭据模型是面向主机的,而不是面向服务的,因此在设置此模型时,我们将Terraform配置为对
app.Terraform.io
上的所有应用程序使用给定的凭据。这包括Terraform Cloud/特定于企业的
远程
后端和Terraform Cloud只是其中一个实现的其他服务,如模块注册协议。

感谢您的帮助。考虑到CLI正在使用脚本中定义的TFE提供程序,是否可以安全地假设当terraform.rc丢失时,脚本中的TFE提供程序将接管并读取环境变量TFE_令牌?是:提供程序将在没有CLI配置文件的情况下使用环境变量进行身份验证。但CLI仍将无法进行身份验证。