Murano/Specifications/Per Tenant Isolation
< Murano | Specifications
每租户隔离 (Murano-v0.4)
简介
Murano Metadata Repository 服务器在 Murano-v0.4 版本中引入。但其中没有访问限制:任何用户都可以编辑任何服务定义或文件。为了防止这种行为,新的每租户隔离功能将被添加到 Murano-v0.4.1 版本中。
详情
在当前实现中,所有文件都按数据类型分组并存储在相应的目录中。所有这些目录都位于“Services”目录中,以及清单文件(服务定义)。由于 Metadata Server 将数据存储在文件系统上,因此隔离数据的最佳解决方案是将数据分成单独的文件夹。
目录结构
- 公共文件夹
这是所有通用服务的初始数据。它将包含所有共享资源。此文件夹的内容将无法从 UI 进行编辑。修改它的唯一方法是直接将文件复制到 Common 文件夹(注意:文件应复制到正确的位置,并且应清除所有客户端和服务器缓存)。文件夹内容将被复制到租户文件夹。
- 租户文件夹
将为每个租户创建一个以 tenant_id 命名的单独文件夹。属于同一租户的用户将具有相同的修改文件权限。该文件夹应在首次上传请求时创建,并填充来自 Common 文件夹的数据。所有修改将在租户的文件夹中进行。
客户端缓存结构
- Murano Conductor 缓存组织将保持不变 - 它具有每个任务的隔离,因此不同的任务将在不同的租户中执行。
- Murano Dashbord 缓存应按租户组织:对于每个租户,将有一个单独的 tenant_id 文件夹,其中包含该租户的缓存。
UI 变更
在 Murano Dashboard 中,只需要进行一些小的更改。将为每个租户创建单独的文件夹以存储缓存。