首页 > 解决方案 > 安全性 - App Engine 多租户 (Python)

问题描述

我们在工业客户端的桌面上运行旧的 .exe 解决方案,我需要将其移植到 Google App Engine。所有客户端都将拥有相同版本的应用程序,无需自定义代码。我们需要确保数据不会在新 GAE 应用程序的不同客户端之间泄露或被某些外部方窥探。

所以我有几个问题希望有人能够帮助我。

选项 1:使用命名空间来分隔客户端的数据。这在 Datastore 级别似乎非常强大;没有正确的命名空间数据将不会被提供。由于我们有每个用户的公司名称,我认为这对于泄漏是非常安全的。

Q1:我需要采取哪些预防措施来避免有人猜测或入侵 URL 以获取未经授权的数据?

选项 2:我们可以为每个客户端创建一个单独的代码和数据存储实例。这将提供客户端之间的最佳分离。

Q2:是否有工具或 API 可以将给定的 GAE 应用程序“克隆”给许多客户?我们将提供客户端列表并一次性将代码更新到所有这些实例。

谢谢!

标签: pythongoogle-app-enginegoogle-cloud-platformmulti-tenant

解决方案


我需要采取哪些预防措施来避免有人猜测或入侵 URL 以获取未经授权的数据?

命名空间不是 Datastore 的安全机制。有权访问项目中的一个分区的用户可以访问项目中的所有分区。命名空间提供了一种在项目中组织实体的方法。

是否有工具或 API 可以将给定的 GAE 应用程序“克隆”给许多客户?我们将提供客户端列表并一次性将代码更新到所有这些实例。

要拥有完全隔离的服务实例,您可以使用Cloud Resource Manager API以编程方式创建新项目并跨项目访问资源。


推荐阅读