如何让GCP开发环境URL仅对开发团队访问?解决Cloud Run认证报错
Cloud Run开发环境仅限特定人员访问的最简方案
问题场景
你有开发环境dev.moocapps.com和生产环境moocapps.com,开发环境包含前后端两个Cloud Run服务,前端需与后端、Stripe等外部服务通信。开启Cloud Run「Require authentication」后出现如下报错:
Error: Forbidden
Your client does not have permission to get URL / from this server
最简实现方案
方案1:Cloud IAM权限绑定(推荐)
关闭Cloud Run服务的「Require authentication」,改用IAM权限精准控制访问:
- 给需要访问的开发者账号,分别绑定前后端Cloud Run服务的
roles/run.invoker角色,该角色允许调用对应服务。 - 开发者访问时会自动跳转到Google账号登录页,验证通过即可访问,无需额外开发,安全性高。
方案2:静态密码校验(适配非Google账号成员)
如果团队有非Google账号的开发者,可在前端服务添加简单的静态密码验证:
- 在前端入口(比如Nginx配置或前端全局拦截逻辑)加入用户名密码校验,只有输入正确凭证才能进入系统。
- 这种方式配置简单,无需依赖Google生态,但安全性略低,适合小团队内部使用。
关键注意点
- 后端服务需限制仅接受前端服务的请求:可通过Cloud Run服务间的IAM权限绑定,或配置VPC连接器,避免后端直接暴露。
- 前端与Stripe等外部服务的通信不受影响,这类客户端发起的请求不会被Cloud Run的权限规则拦截。
内容的提问来源于stack exchange,提问作者Tito
相关产品推荐
相关产品推荐

