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

时间:2020-11-06 14:23:33

标签: firebase security google-cloud-platform subdomain

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

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

如果答案包含很多部分,我很乐意收到一些有关如何执行此操作的资源链接;我想确定它做对了。

1 个答案:

答案 0 :(得分:0)

  1. 对于第一部分:(我们可以基于GCP域限制用户(身份)吗?),那么答案是肯定的。 Resource Manager提供了域限制约束,可以在organization policies中使用该约束来限制基于域的资源共享。通过此约束,您可以限制Identity and Access Management policies中允许使用的一组身份。

组织策略可以使用此约束将资源共享限制为一个或多个Google Workspace域的指定集合,并且可以按文件夹或按项目授予例外。有关添加例外的更多信息,请参见Override the organization policy for a project

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

在安全规则中,您既可以访问电子邮件地址,也可以访问是否经过验证,这使一些很好的用例成为可能。例如,使用这些规则,只有经过身份验证,经过验证的gmail用户才能编写其个人资料,请参阅Stackoverflow Link了解更多详细信息。