You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Terraform Cloud配置Google Cloud Platform (GCP)身份认证

Terraform Cloud与GCP身份认证配置方案

你遇到的报错是因为Terraform Cloud的远程运行环境中没有GCP的身份凭据,本地执行gcloud auth application-default login生成的凭据仅在本地生效,无法被Terraform Cloud读取。按照以下步骤完成配置即可:

方案1:通过Terraform Cloud环境变量配置(无需修改现有代码)

  • 第一步:在GCP控制台的IAM服务中创建专用服务账号,为其分配当前Terraform配置所需的权限(例如本例操作存储桶需要Storage相关权限),导出JSON格式的服务账号密钥文件。
  • 第二步:打开对应Terraform Cloud工作区,进入「Variables」配置页,在Environment Variables分类下新增变量:
    • 变量名:GOOGLE_CREDENTIALS
    • 变量值:粘贴刚才导出的JSON密钥完整内容
    • 勾选「Sensitive」选项,确保密钥不会被明文展示
  • 第三步:保存配置后重新触发Terraform运行,即可正常完成身份认证。

方案2:修改Provider配置通过Terraform敏感变量传递凭据

如果需要显式在Provider块中指定凭据,可按以下方式修改配置:

  1. 新增敏感变量定义,用于接收密钥内容:
variable "gcp_credentials" {
  type = string
  sensitive = true
  description = "GCP服务账号JSON密钥"
}
  1. 修改google provider块,添加credentials参数:
provider "google" {
  project = "my-project-id"
  region = "europe-west3"
  zone = "europe-west3-a"
  credentials = var.gcp_credentials
}
  1. 进入对应Terraform Cloud工作区的「Variables」配置页,在Terraform Variables分类下新增变量:
  • 变量名:gcp_credentials
  • 变量值:粘贴导出的JSON密钥完整内容
  • 勾选「Sensitive」选项后保存即可。

注意事项

  • 禁止将服务账号密钥明文写入代码提交到版本仓库,所有敏感凭据必须通过Terraform Cloud的敏感变量存储。
  • 定期轮换服务账号密钥,不再使用的密钥及时在GCP控制台吊销。

内容的提问来源于stack exchange,提问作者Slava Fomin II

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 13:06:04