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

Terraform创建GCP负载均衡报invalid_grant 所有者无法查看SA权限

GCP Terraform部署HTTPS负载均衡问题排查方案

核心配置错误修复

当前Terraform转发规则配置存在两处致命错误,是触发异常的首要原因:

  • 资源类型选择错误:EXTERNAL_MANAGED方案的全局HTTPS负载均衡对应的转发规则是全局资源,必须使用google_compute_global_forwarding_rule资源,不能用区域级的google_compute_forwarding_rule,全局资源不需要传入region参数。
  • 字段映射完全错误:转发规则通过ip_address字段绑定静态IP,target字段必须指向负载均衡的目标HTTPS代理资源的self_link,不能直接传入静态IP值。

修正后的最小转发规则配置参考:

# 原有全局静态IP配置无问题
resource "google_compute_global_address" "main" {
  name = "main"
}

resource "google_compute_global_forwarding_rule" "lb" {
  name                  = "lb"
  provider              = google-beta
  project               = "owlee-software"
  ip_protocol           = "TCP"
  load_balancing_scheme = "EXTERNAL_MANAGED"
  port_range            = "443"
  ip_address            = google_compute_global_address.main.self_link
  target                = google_compute_target_https_proxy.lb.self_link # 需提前创建关联的目标HTTPS代理资源
  network_tier          = "PREMIUM"
}

注意:完整部署HTTPS负载均衡还需补全SSL证书、URL映射、后端存储桶、后端服务等关联资源,缺失关联资源同样会导致部署失败。

invalid_grant: Account has been deleted错误排查

该错误多数场景为配置非法触发google-beta provider异常鉴权返回,并非真的服务账号被删除,按以下步骤处理:

  • 清理本地凭证缓存:删除本地~/.config/gcloud/路径下的旧凭证文件,在Terraform的google provider块中显式指定新创建服务账号的密钥路径,避免环境变量、默认凭证中残留已删除旧服务账号的密钥信息。
  • 等待权限传播:如果是刚删除旧服务账号立刻创建同名新服务账号,GCP侧IAM数据全局传播最长需要15分钟,等待后重新执行terraform plan即可。
  • 给Terraform使用的服务账号分配负载均衡相关最小权限,无需直接绑定Editor粗粒度角色,核心需要的权限覆盖全局地址、全局转发规则、目标HTTPS代理、URL映射、后端存储桶、SSL证书的增删改查操作即可。

IAM策略报告无法查看问题处理

该报错与项目级权限无关,是云资产服务的权限校验逻辑导致:

  • 云资产的IAM策略分析能力要求在组织节点或项目所属的文件夹节点绑定Cloud Asset Owner/Cloud Asset Viewer角色,项目级绑定该类角色不生效,因为该能力默认需要从组织层级枚举全量资源。
  • 角色绑定后等待5-10分钟的全局权限传播周期,再刷新控制台访问即可。
  • 如果是个人免费版GCP账号,默认没有组织节点,该策略报告功能本身不支持使用,直接关闭对应视图即可,不影响正常资源部署操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:03:12