GCP控制台操作正常但Terraform/gcloud报403权限错误求助
GCP Terraform与控制台权限不一致问题排查求助
在GCP控制台可成功在共享VPC子网中创建GCE VM及主、别名IP地址,但使用Terraform执行相同操作时,触发如下403错误:
Error: Error creating Address: googleapi: Error 403: Required 'compute.addresses.createInternal' permission for 'projects/xxx/regions/us-central1/addresses/yyy', forbidden
另一次尝试中还遇到compute.instances.setDeletionProtection权限错误。
补充信息
- 控制台与Terraform/命令行使用同一用户身份
- 拥有项目中由组织管理员授予的自定义"developer"角色,因控制台可完成操作故认为权限足够
- VM位于项目A,共享VPC/子网位于项目B,该Terraform代码在我为VM项目所有者的场景下可正常运行:
resource "google_compute_address" "alias-ips" { name = var.name address_type = "INTERNAL" purpose = "GCE_ENDPOINT" region = var.region subnetwork = "https://www.googleapis.com/compute/v1/projects/${var.subnet_project}/regions/${var.region}/subnetworks/${var.subnet}" project = var.project }
- 使用Policy Troubleshooter未得到有效结果,显示项目及自定义角色权限为"Unknown",无权限查看访问结果
更新1
使用gcloud创建VM及主、别名IP成功,但设置删除保护(gcloud compute instances update XXX --deletion-protection或创建时添加该参数)触发403错误,推测Terraform处理别名IP的方式与gcloud不同或代码存在问题。
更新2
通过gcloud auth application-default login配置Terraform的GCP身份验证,未设置GOOGLE_APPLICATION_CREDENTIALS,确认使用同一身份,且该环境在其他权限宽松的GCP项目中可正常运行Terraform操作。现求助排查该权限不一致问题。
内容的提问来源于stack exchange,提问作者mnt
相关产品推荐
相关产品推荐

