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

GCP误删IAM用户恢复后创建私有服务连接报权限错误如何解决

问题背景
  • 执行Terraform的google_project_iam_binding资源变更时,意外删除了项目下所有IAM主体,目前已完成全部用户的权限恢复。
  • 后续创建GCP私有服务连接、为Cloud SQL分配私有IP的过程中触发权限报错:

创建连接时遇到问题,对项目'projects/XXXXXX'缺少必需的'compute.globalAddresses.list'权限,帮助令牌:XXXXXXX

  • 已执行的排查修复操作:
    • 禁用所有相关服务后重新启用
    • 当前操作使用的IAM账号已绑定Owner角色
    • PROJECT_NUMBER@cloudservices.gserviceaccount.com服务账号已授予Editor角色
  • 完成上述操作后,创建私有连接仍然报相同错误,报错截图如下:
    报错截图
根因与修复步骤

该报错的核心原因是批量删除IAM时,误删了Service Networking服务对应的Google托管服务代理账号的权限,仅恢复PROJECT_NUMBER@cloudservices.gserviceaccount.com的权限无法覆盖私有服务连接的底层操作权限要求。
按以下步骤修复即可:

  1. 定位目标服务代理账号,账号格式为service-[你的项目数字ID]@service-networking.iam.gserviceaccount.com,该账号是GCP私有服务访问功能的官方托管执行身份,负责私有连接创建、全局IP地址预留等底层计算资源操作,重新启用服务不会自动为该账号补全缺失的IAM权限。
  2. 为该服务账号绑定项目级的roles/compute.networkAdmin(计算网络管理员)角色,可直接执行以下gcloud命令完成绑定:
gcloud projects add-iam-policy-binding 你的项目ID \
    --member="serviceAccount:service-你的项目数字ID@service-networking.iam.gserviceaccount.com" \
    --role="roles/compute.networkAdmin"
  1. 等待1-2分钟待IAM权限全局同步生效后,重新尝试创建私有服务连接即可。

补充校验:如果后续其他GCP服务也出现无理由的权限报错,可执行gcloud projects get-iam-policy 你的项目ID导出全量IAM策略,核对所有service-*@*.gserviceaccount.com格式的Google托管服务账号是否绑定了对应默认角色,补全缺失的角色绑定即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:57:24