Cloud Run关联主机项目Serverless VPC连接器权限报错排查
问题场景
共享VPC架构下,*host(主机)项目创建Serverless VPC连接器,供service(服务)*项目x内的Cloud Run服务访问同VPC下VM实例,在服务项目部署Cloud Run新修订版本时触发权限报错:
Please ensure the project's service agent has the permission [vpcaccess.connectors.use] for action Connect on resource projects/.../connector
根因
服务项目的Cloud Run默认服务代理账号,没有被授予主机项目下对应Serverless VPC连接器的使用权限,共享VPC场景下跨项目调用连接器不会自动继承权限,需要手动显式授权。
操作步骤
- 先获取服务项目的Cloud Run服务代理账号:账号格式固定为
service-<服务项目数字ID>@serverless-robot-prod.iam.gserviceaccount.com,可在服务项目IAM页面勾选「显示Google托管的服务账号」选项后直接定位到该账号。 - 按需给该账号授予连接器使用权限:
- 遵循最小权限原则推荐单资源授权:进入主机项目的Serverless VPC连接器详情页,找到报错信息中指向的目标连接器,在权限配置页给上述服务代理账号绑定
VPC Access Connector User角色,该角色自带所需的vpcaccess.connectors.use权限。 - 若服务项目需要复用主机项目下的多个VPC连接器,可直接在主机项目的IAM全局配置页,给该服务代理绑定项目级的
VPC Access Connector User角色。
- 遵循最小权限原则推荐单资源授权:进入主机项目的Serverless VPC连接器详情页,找到报错信息中指向的目标连接器,在权限配置页给上述服务代理账号绑定
- 补全校验关联权限:确认主机项目内,上述服务代理账号已被授予连接器所在子网的
Compute Network User角色,否则权限配置完成后仍可能触发VPC网络访问类报错。 - 等待1-2分钟待IAM权限全局传播生效后,重新触发Cloud Run修订版本的部署操作即可。
内容的提问来源于stack exchange,提问作者gorilla_glue
相关产品推荐
相关产品推荐

