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

如何在Terraform中创建GCP工作负载身份IAM绑定?遇正则匹配错误

问题原因与解决方法

错误的核心原因是Terraform的google_service_account_iam_binding资源对service_account_id字段的格式要求和gcloud命令不同:

  • gcloud允许直接使用IAM服务账户的邮箱地址作为标识
  • Terraform要求该字段必须使用完整的资源路径格式,即projects/{PROJECT_ID}/serviceAccounts/{SA_EMAIL}

你当前代码里的service_account_id用了邮箱格式(GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com),不符合Terraform的校验正则,所以触发错误。

修正后的代码

resource "google_service_account_iam_binding" "service-account-iam" {
  service_account_id = "projects/GSA_PROJECT/serviceAccounts/GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com"
  role               = "roles/iam.workloadIdentityUser"
  members = [
    "serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE/KSA_NAME]",
  ]
}

只需把service_account_id替换为包含项目路径的完整资源标识符即可解决该错误。

内容的提问来源于stack exchange,提问作者Nitin G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 06:06:18