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

如何配置Google IAP实现两个Google App Engine应用间授权互通

让通过前端IAP验证的用户访问后端IAP资源的方案

完全不需要禁用后端的IAP,你可以通过以下两种方式实现已通过前端IAP验证的用户访问后端服务:

方式一:传递用户的IAP身份令牌

这是最直接的用户身份传递方案,步骤如下:

  • 获取前端IAP令牌:前端通过IAP验证后,可从Google Auth实例中获取用户的ID Token,比如在JS中用gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token拿到令牌。
  • 请求后端时携带令牌:调用后端API时,将ID Token放在请求头的Authorization字段中,格式为Bearer <你的ID_TOKEN>。
  • 后端验证令牌合法性:后端需要验证令牌的有效性,核心验证点包括:
    • 确认令牌由Google IAP签名颁发
    • 令牌的aud(受众)字段与后端IAP的客户端ID匹配
    • 令牌未过期
      你可以用对应语言的Google官方验证库(比如Python的google-auth)来简化验证逻辑。
  • 配置后端IAP权限:把前端用户的Google账号或所属群组添加到后端IAP的授权列表中,确保验证通过后用户有权访问。

方式二:使用服务间身份验证(适合无用户身份传递场景)

如果前端服务只是作为中间层调用后端,不需要传递具体用户身份,可以用服务账号实现:

  • 给前端GAE服务的默认服务账号授予访问后端IAP资源的权限。
  • 前端服务用自身的服务账号生成OAuth 2.0令牌,调用后端API时携带该令牌,后端IAP会验证服务账号的权限,允许访问。

总结:保留后端IAP的前提下,通过上述两种方案就能解决前端调用后端被拦截的问题,无需禁用IAP带来安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:30:41