是否可以为身份感知代理下的服务的特定端点提供公共访问?

Pav*_*man 3 google-app-engine google-cloud-platform google-iap

我在 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.

这对我来说不清楚,有点令人困惑。

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

谢谢!

gui*_*ere 7

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

在此处输入图片说明

你有几个选择

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