Cookie或标头发送自己的API以防止Google Cloud Identity Aware Proxy(IAP)302?

Cookie或标头发送自己的API以防止Google Cloud Identity Aware Proxy(IAP)302?

问题描述:

我已经在开发环境(与Kubernetes合作并使用Let's Encrypt)上设置了Cloud IAP,并且一切正常。Cookie或标头发送自己的API以防止Google Cloud Identity Aware Proxy(IAP)302?

的设置用于此应用非常基本的:

1)一种API具有数REST端点和永久数据存储的,在项目

2)SPA前端应用利用说API,在不同的项目

在我的浏览器(试过Chrome和Firefox),我可以通过IAP屏这两个应用验证自己的谷歌用户(由布莱恩g到浏览器选项卡中的每个域),但是一旦我尝试使用SPA尝试请求API,我会看到网络请求302重定向到Google IAP登录页面。

问题: 是否有需要通过API请求送到了代表用户,使IAP可直通页眉或饼干吗?

注意 我看到这两个饼干BTW GCP_IAAP_AUTH_TOKENGCP_IAAP_XSRF_NONCE

什么是受IAP,“API”或“SPA”保护的?如果是SPA,IAP应该正常工作。如果它是API,那么今天最好的选择是使用https://cloud.google.com/iap/docs/authentication-howto来对API进行SPA身份验证,并且可能还会传递https://cloud.google.com/iap/docs/signed-headers-howto以便API可以单独验证最终用户的凭据。

从SPA到API传递GCP_IAAP_AUTH_TOKEN将不起作用,出于安全原因,在将请求传递给最终用户应用程序之前,我们会剥离它(如果负载平衡器和应用程序之间的传输是HTTP,生命一个更难攻击者。)

+0

在这种情况下,SPA和API都受到IAP系统的保护。 – bonesbrigade

+0

明白了。在这种情况下,我建议使用服务帐户认证指令让SPA对API进行身份验证,并且在那次调用中,SPA应该包括从IAP获得的X-Authenticated-User-JWT。 SPA可以验证JWT并将其用作最终用户向SPA发起请求的证据。这不是一个强大的机制,因为这些令牌不能提供强有力的预防措施来防止重播或篡改 - 即一个拥有SPA控制权的人仍然拥有大量权力 - 但它至少会为您提供一些基本的最终用户凭证检查。 这是否适合你? –

+0

是的,这听起来很合理,让我试试吧! – bonesbrigade