安全性 - App Engine 多租户 (Python)

Security - App Engine multitenancy (Python)

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

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

选项 1:使用命名空间来分隔客户端的数据。这在数据存储级别似乎非常可靠;没有适当的命名空间数据将不会被提供。由于我们有每个用户的公司名称,我认为这将非常安全,不会泄露。

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

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

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

谢谢!

Which precautions do I need to take to avoid someone guessing or hacking at URLs to get to unauthorized data?

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

Is there a tool or API to "clone" a given GAE app to many clients? We would feed the list of clients and update the code to all those instances in one go.

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