python - 安全性 - App Engine 多租户 (Python)
问题描述
我们在工业客户端的桌面上运行旧的 .exe 解决方案,我需要将其移植到 Google App Engine。所有客户端都将拥有相同版本的应用程序,无需自定义代码。我们需要确保数据不会在新 GAE 应用程序的不同客户端之间泄露或被某些外部方窥探。
所以我有几个问题希望有人能够帮助我。
选项 1:使用命名空间来分隔客户端的数据。这在 Datastore 级别似乎非常强大;没有正确的命名空间数据将不会被提供。由于我们有每个用户的公司名称,我认为这对于泄漏是非常安全的。
Q1:我需要采取哪些预防措施来避免有人猜测或入侵 URL 以获取未经授权的数据?
选项 2:我们可以为每个客户端创建一个单独的代码和数据存储实例。这将提供客户端之间的最佳分离。
Q2:是否有工具或 API 可以将给定的 GAE 应用程序“克隆”给许多客户?我们将提供客户端列表并一次性将代码更新到所有这些实例。
谢谢!
解决方案
我需要采取哪些预防措施来避免有人猜测或入侵 URL 以获取未经授权的数据?
命名空间不是 Datastore 的安全机制。有权访问项目中的一个分区的用户可以访问项目中的所有分区。命名空间提供了一种在项目中组织实体的方法。
是否有工具或 API 可以将给定的 GAE 应用程序“克隆”给许多客户?我们将提供客户端列表并一次性将代码更新到所有这些实例。
要拥有完全隔离的服务实例,您可以使用Cloud Resource Manager API以编程方式创建新项目并跨项目访问资源。
推荐阅读
- javascript - 单击链接并打开新窗口时,具有土耳其字符的我的 URL 参数之一更改为 Unicode
- c# - 如何关闭打印预览对话框?
- python - 按子列表长度排序列表
- macos - ImportError:Mac OS 上没有名为 pymysql 的模块
- php - Mysql docker容器上的Symfony 4连接
- flutter - 颤动中的样式剪贴板
- python - 在 np.array 中以数字方式附加二进制数
- javascript - 如何停止垂直滚动 OnSortCol 事件触发
- javascript - 如何使用 JavaScript 将数据传递给 LibGDX?
- opengl - btTriangleIndexVertexArray 的使用