如何仅为GSuite帐户限制对GAE Flexible网站的访问?

时间:2017-03-05 17:52:49

标签: google-app-engine google-apps google-app-engine-python app-engine-flexible

如何限制访问GAE灵活网站仅限于我在GSuite中的所有帐户以及我明确提供的其他Google帐户。 AFAIR在app.yaml处理程序部分的标准GAE版本中有类似的东西。

所以我的情景:

  • 制作版本受限制直至上线
  • dev和舞台版本永久限制

我想在IAM级别执行此操作,以拒绝访问该网站的流量。但我没有在文档中找到任何内容。

1 个答案:

答案 0 :(得分:2)

好的,在重新思考问题并深入挖掘文档后,我找到了一个关于开发环境的页面 - https://cloud.google.com/appengine/docs/standard/python/creating-separate-dev-environments

所以我当前的解决方案不是拥有像devstageprod这样的单独版本,而是在一个项目中使用它们,而是为每个环境创建单独的项目。 / p>

它还将简化数据库的管理 - 之前我在一个数据库服务器中考虑了特定环境中的不同数据库。现在我将有一个单独的数据库实例。

无论如何,我仍然遇到保护访问权限的问题。 我的方式与Restrict App Engine access to G Suite accounts on custom domain中的方式相同:

  • 将Google身份验证更改为我的Google Suite域
  • 在我的应用中添加了自定义域
  • 将我的网页域名添加到我的GSuite作为第二个域名 我仍然可以在没有身份验证的情况下连接到我的页面 - 即使在"隐身模式"以及其他计算机和手机。

修改 作为一种解决方法,我使用了Django-lockdown模块。因为时间已经绰绰有余 - 我有一个密码,我有一个会话,我可以在中间件中设置它或作为网址的装饰器。

编辑2: 今天我注意到GAE Flexible中的一个新功能 - Identity-Aware Proxy。 这是我正在搜索的功能。您可以通过以下方式限制accces:

  • Google帐户电子邮件:user@gmail.com
  • Google Group:admins@googlegroups.com
  • 服务帐号:server@example.gserviceaccount.com
  • Google Apps域名:example.com