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

Cloud Run配置IAP+HTTPS LB后403问题:需认证模式下的差异原因

Cloud Run 搭配IAP+HTTPS LB仍报403(服务设为Require Authentication)的排查方向
  • IAP服务账号权限配置差异
    另一组织中,大概率已为IAP对应的服务账号(格式通常为service-<PROJECT_NUMBER>@gcp-sa-iap.iam.gserviceaccount.com)授予了Cloud Run的roles/run.invoker角色。IAP验证用户身份后,会用自身服务账号调用Cloud Run,只要该账号拥有调用权限,即使Cloud Run设为Require Authentication也能正常访问。你需要检查当前项目中该IAP服务账号是否被添加到Cloud Run服务的权限列表中,且具备调用权限。

  • 组织策略的隐性差异
    虽然表面都设为Require Authentication,但另一组织可能存在例外的组织策略——比如针对IAP服务账号或特定Cloud Run资源,豁免了constraints/run.authentication的部分限制,或者组织策略的约束逻辑本身存在差异。可以对比两个组织的相关策略配置,确认是否存在这类豁免规则。

  • 负载均衡器后端服务的认证设置差异
    配置HTTPS LB的后端服务时,另一组织可能启用了后端服务认证,并指定IAP服务账号作为认证主体。这样LB在转发请求到Cloud Run时,会自动携带合法的身份凭据,让Cloud Run认可该请求的合法性。你需要检查当前LB后端服务的“认证”配置项,是否已正确配置为使用IAP服务账号做身份验证。

  • Cloud Run服务的身份受众配置差异
    若Cloud Run服务设置了自定义身份受众(通过--set-env-vars=GOOGLE_CLOUD_RUN_AUDIENCE=...配置),必须确保IAP生成的令牌受众与该值完全匹配。另一组织可能正确配置了受众匹配,而你的服务要么未设置,要么受众值不匹配,导致令牌验证失败触发403。

  • IAP客户端ID与Cloud Run的关联差异
    检查IAP的OAuth客户端是否与Cloud Run服务正确关联,或者另一组织的IAP客户端配置中包含了Cloud Run服务允许的权限范围。如果IAP生成的令牌没有Cloud Run认可的权限范围,也会导致认证失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:30:45