【发布时间】:2020-04-05 09:45:29
【问题描述】:
我部署了一个使用基本身份验证访问Google Cloud Run 的第三方网络应用程序。我还想通过仅允许组织中经过 Google 身份验证的用户访问来保护端点。这两种方法都使用请求的Authorization 标头,我无法让它工作。
我尝试关注this 的帖子,在一个字段中提供了两个凭据。我的理由是,GCP 应该选择它支持的最强的凭证机制 - 承载 - 并为 webap 保留基本凭证。我不知道 webapp 是否可以处理它,因为 Google 的反向代理已经禁止我访问。
curl "-HAuthorization: bearer ${bearer_token}, basic ${base64_userpw}" https://my-google-endpoint.com
-> 401 未经授权
我也尝试了Proxy-Authorization,但没有不同的结果。
curl "-HProxy-Authorization: Bearer ${bearer_token}" "-HAuthorization: basic ${base64_userpw}" https://my-google-endpoint.com
有没有办法让嵌套身份验证与 Google 的反向代理一起使用?我能够通过仅提供承载来绕过反向代理,但自然会在服务上碰壁。在代理端停用身份验证后,我能够使用基本凭据对服务进行身份验证。
附: 我没有使用浏览器访问 webapp,而是使用命令行工具。
【问题讨论】:
-
IAP 在哪里? Cloud Run 前面?
-
我可能在术语上弄错了。我将 Cloud Run 配置为仅允许经过身份验证的访问,并假设它与 IAP 的原理相同。
标签: google-cloud-platform authorization google-cloud-run google-iap