跳转到: 导航, 搜索

Murano/Specifications/Per Tenant Isolation

每租户隔离 (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 中,只需要进行一些小的更改。将为每个租户创建单独的文件夹以存储缓存。