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

浏览器经HTTP(S)负载均衡访问鉴权Cloud Run报403解决方案

Cloud Run配置仅认证访问时的浏览器访问方案(适配HTTP(S)负载均衡链路)

配置为「仅允许已认证用户访问」的Cloud Run服务,会强制校验所有入站请求携带的合法OIDC身份令牌,未携带有效令牌的请求直接返回403。负载均衡转发链路下出现403,核心原因要么是用户侧请求没带有效用户令牌,要么是负载均衡转发到Cloud Run的环节没过服务侧认证,以下是可落地的实现方式:


生产环境首选:负载均衡层集成IAP实现无感知登录

该方案完全匹配HTTP(S) Load Balancer → 前端转发规则 → Cloud Run后端 → Python应用的链路要求,终端用户不需要安装任何插件:

  • 调整Cloud Run入站规则:把Cloud Run的流量入口设置为仅接收内部流量和Cloud Load Balancing流量,避免用户绕过负载均衡直接访问Cloud Run原生域名
  • 给负载均衡绑定的Cloud Run后端开启IAP(身份感知代理):开启后IAP会关联专属服务账号,必须给这个服务账号授予目标Cloud Run服务的roles/run.invoker(Cloud Run调用者)权限,这样负载均衡转发请求到Cloud Run时,IAP会自动附加服务账号签名的合法OIDC令牌,通过Cloud Run的服务侧校验
  • 配置IAP访问授权:把允许访问的用户/用户组加入IAP授权列表,授予IAP-secured Web App User角色。配置生效后,浏览器访问负载均衡域名时会自动跳转到Google账号登录页,用户用授权账号登录后即可正常访问,全程无额外操作。

自有身份体系适配方案

如果需要对接自建用户系统,不使用Google原生账号体系:

  • 在负载均衡层配置无服务器扩展,挂载自定义身份鉴权服务
  • 用户在浏览器端完成自定义登录流程、身份校验通过后,鉴权层放行请求
  • 在负载均衡的Cloud Run后端配置中,开启服务账号身份令牌自动注入,由负载均衡给发往Cloud Run的请求附加合法OIDC令牌,即可通过Cloud Run的认证校验。

开发调试临时访问方案

开发阶段不走负载均衡,直接访问Cloud Run原生URL调试时,可以选以下两种方式:

  • 安装支持自动注入OIDC令牌的浏览器扩展,登录拥有Cloud Run调用权限的Google账号后,扩展会自动给请求附加合法Authorization头,直接访问即可
  • 本地通过gcloud CLI生成临时身份令牌,拼接为URL参数访问:
    1. 执行命令生成有效期1小时的临时令牌:gcloud auth print-identity-token
    2. 拼接访问链接:https://<你的Cloud Run原生域名>/?access_token=<上一步生成的令牌值>
      该方式仅适合临时调试,绝对不能用于生产环境。

高频403排查点

  • 走负载均衡链路时,90%的403问题源于未给转发链路使用的服务账号授予Cloud Run调用者权限,导致LB到Cloud Run的请求未通过认证
  • 确认授权用户的权限配置正确:走IAP链路需要给用户授予IAP Web应用用户权限,直接访问Cloud Run需要给用户授予Cloud Run调用者权限,仅拥有项目级查看权限无法通过校验
  • 不要为了临时绕开403给Cloud Run绑定allUsers类型的调用者权限,这会让服务完全公开,违背仅认证用户可访问的安全配置要求。

内容的提问来源于stack exchange,提问作者sidharth vijayakumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:48:51