首页 > 解决方案 > 使用 Google Identity 和 IAM 限制对 GCP 资源的访问

问题描述

我整天都在寻找解决方案,但还没有想出任何东西......我认为这可能相当简单。

我有一个 Cloud Run 实例,我想使用 Google Identity 保护它。我启用了 Cloud Identity 并添加了一个测试用户,并构建了一个使用 Google 身份(电子邮件/密码)登录和注销用户的网络应用程序。这一切都很好。

我想做的是确保 Cloud Run 实例仅接受来自使用 Google Identity 登录的用户的请求。所有其他请求将被阻止。

我相信解决方案位于 Cloud IAM 和/或 Identity-Aware Proxy 中的某个位置,但尚未找到解决方案....

有任何 GCP 专家可以帮助我指出正确的方向吗?

标签: google-cloud-platformgoogle-cloud-rungoogle-identity

解决方案


我同意你的看法,这是一个必须具备的要求,而且并不简单。实际上,今天,直接这样做是不可能的,您必须添加一个层,使用 Cloud Identity 和受 Cloud IAM(和 Google 前端)保护的 Cloud Run 代理您的经过身份验证的用户。

今天的解决方案是为此使用 Cloud Endpoint。我写了一篇文章来保护使用 API Keys 的无服务器产品。您只需要使用 Firebase auth 更改安全定义 (是 Firebase,因为如果您实现了一个对用户进行身份验证的页面,您会看到 JS 库是一个 Firebase 库!!)

所以,事情在慢慢地、一步一步地发展。昨天,全局负载均衡器添加了一项功能,以接受无服务器产品(包括 Cloud Run)。几周前,AppEngine IAP 接受外部身份。这些是全球图景的一部分。最后,可以在全局负载均衡器上设置 IAP,所有这些都将协同工作。正如我所说,一步一步。


推荐阅读