Google Cloud Run开发环境访问控制及URL限制配置咨询
解决方案
1. 实现Cloud Run全路径仅对已登录开发者开放
- 配置Cloud Run IAM权限:给开发者账号或团队组授予
roles/run.invoker角色。操作路径:Cloud Run控制台 → 目标服务 → 「权限」标签 → 添加成员,输入开发者邮箱/组,选择「Cloud Run Invoker」角色。 - 修复负载均衡器认证问题:
- 负载均衡器后端服务需开启「需要认证」,并选择「Google ID令牌」作为认证方式。用户访问自定义域名时会被引导至Google登录,登录后负载均衡器会自动携带有效令牌转发请求到Cloud Run。
- 确保负载均衡器关联的服务账号拥有
roles/run.invoker权限,否则负载均衡器无法调用Cloud Run服务。
- 解决路径访问被拒问题:
- Cloud Run的认证是全局生效的,若基础URL可访问但带路径不行,检查请求是否携带了有效ID令牌(登录状态下浏览器会自动附带),同时排除代码层面对特定路径的自定义拦截逻辑。
2. 限制仅通过负载均衡器访问Cloud Run
- 设置Cloud Run访问范围:在Cloud Run控制台「触发」页面,将服务访问权限设为内部或负载均衡器,直接拒绝外部对原生URL的访问。
- 锁定IAM权限:移除Cloud Run权限中的
allUsers等公开访问成员,仅保留负载均衡器后端服务使用的服务账号(格式为service-PROJECT_NUMBER@cloudservices.gserviceaccount.com)和必要的调试用开发者账号。这样只有负载均衡器能合法调用Cloud Run,原生URL会直接返回访问禁止。
内容的提问来源于stack exchange,提问作者andreas-fahrecker
相关产品推荐
相关产品推荐

