授予用户对特定子域的访问权限

Grant user access to specific subdomain

我正在寻找一些指导,但很难通过 Google 找到直接的答案。

我正在使用 Google Cloud Platform 和 Firebase 构建一个网络应用程序,我想授予用户仅访问他们自己的子域的权限。因此,例如,如果用户 1 是组织 Lakers 的一部分,我希望他们使用的域是 lakers.myapp.com。如果用户 2 是 Bucks 的一部分,他们的应用程序将托管在 bucks.myapp.com。当未经授权的人访问这些域之一时,他们应该无法查看任何内容,因为他们未在该子域下获得授权(就像任何普通的网络应用程序一样)。我已经设置好所有登录名,可以将用户重定向到他们的子域,但是检查用户是否有权查看该子域的过程是什么?

如果答案有很多部分,我很乐意收到一些关于如何做到这一点的资源链接;我想确保一切都做对了。

  1. 对于第一部分:(我们可以根据 GCP 域限制用户(身份)吗?),那么答案是肯定的。 Resource Manager provides a domain restriction constraint that can be used in organization policies to limit resource sharing based on domain. This constraint allows you to restrict the set of identities that are allowed to be used in Identity and Access Management policies.

组织政策可以使用此约束将资源共享限制为一组指定的一个或多个 Google 工作区域,并且可以在 per-folder 或 per-project 的基础上授予例外.有关添加例外的详细信息,请参阅 Override the organization policy for a project

  1. 对于第二部分:(如何将 Firebase 数据库锁定到来自特定电子邮件域的任何用户?)。如果您使用的是新的 Firebase,这现在是可能的,因为电子邮件在安全规则中可用。

在安全规则中,您可以访问电子邮件地址以及是否经过验证,这使得 use-cases 成为可能。例如,使用这些规则,只有经过身份验证、经过验证的 gmail 用户才能编写他们的个人资料,请参阅 了解更多详情。