3

我在 Google Cloud App 引擎中有一项服务,它位于IAP后面。

它仅供我组织内的用户访问。我需要让所有用户都可以访问该服务的一些端点。有没有可能实现?

我找到了一个指令,它说这是可能的,但它也说:The allUsers and allAuthenticatedUsers values are unsupported member types in a conditional role binding. If you specify one of these member types, the setIamPolicy operation will fail.

这对我来说并不清楚,而且有点混乱。

一个小例子:我的服务有一个 url https://google-cloud-app-engine-service.com 我只想让这个服务的一个端点可供所有人使用: https://google-cloud-app-engine -service.com/public_endpoint

谢谢!

4

2 回答 2

7

您不能使用 IAP 将 URL 路径列入白名单。最好的粮食是服务。我的意思是,您可以在 AppEngine 上激活 IAP。然后,对于您想要的服务,您可以选择它,转到信息面板并添加allUsersallAuthenticatedUsers使用角色IAP-secured web app user

在此处输入图像描述

你有几种选择

  • 自己管理安全,不要使用 IAP(这不是一个好主意)
  • 在 AppEngine 前面使用 Cloud Endpoint。我写了一篇关于使用 APIKey 保护的文章,但是您可以根据需要更改安全定义。问题是您必须在 Cloud Endpoint 中定义所有 API,并且您的堆栈中有一个额外的组件
  • 使用 2 项服务(如果可能)。设置一个公开,另一个受 IAP 保护。
于 2020-06-12T18:57:18.363 回答
0

正如@guillaume-blaquiere 在他的回答中所建议的那样,我将我的应用程序引擎服务分成两个独立的服务,并让第一个服务只能从我的组织内部访问,而第二个服务则可供使用 IAP 的每个人访问。

于 2020-10-05T06:03:43.660 回答