Smartbi系统目前不支持多租户模式。但是可以通过构建机构资源目录以及机构用户组的模式,来创建相对隔离的多机构资源权限体系。示意图如下:
如上图所示。
- 每个相对隔离的机构都有其用户组。并且组中存在一个组管理员,可对本组的用户组、用户和角色进行维护。
- 每个相对隔离的机构都有其资源目录。机构下的用户只能在其资源目录下进行资源的开发、浏览。与其他机构的资源目录互不影响。
2.示例创建
注意:在参考此文档创建示例之前,请先备份知识库。
2.1背景
产品中有一些权限或者角色配置是内置的,因此需要先去除。
设置如下
- 编辑根组,将其“普通角色”勾除
- 找到以下对应的节点,右键选择“资源授权”,删除默认的Everyone权限配置。
需要执行此操作的位置如下:
- 数据连接-数据连接
- 数据准备-自助ETL-自助ETL
- 数据准备-业务主题-业务主题
- 数据准备-数据集-数据集
- 分析展现-分析报表
- 资源发布-资源发布
- 资源发布-资源发布-电脑主题
- 资源发布-资源发布-平板主题
- 资源发布-资源发布-手机主题
- 公共设置-流程管理
去掉“公共设置”中默认继承的权限。在下述节点上右键选择“资源授权”,并勾除“允许父项的继承权限传播到对象所有子对象”
需要执行此操作的位置包含如下:
(1)公共设置-参数定义
(2)公共设置-脱敏规则
(3)公共设置-用户属性
(4)公共设置-转换规则
(5)公共设置-宏资源包
(6)公共设置-值域范围
2.2说明
以上面示意图中的“企划”与“财务”两个机构为例。接下来我们讲述如何配置实现。
2.3在各根节点下方创建机构目录
需要创建的顶级目录有:
- 数据连接-数据连接
- 数据连接-公共空间
- 数据准备-业务主题
- 分析展现-分析报表
- 公共设置-参数定义
- 公共设置-脱敏规则
- 公共设置-用户属性
- 公共设置-转换规则
- 公共设置-流程管理
- 公共设置-宏资源包
- 公共设置-值域范围
- 系统运维-计划任务-计划
- 系统运维-计划任务-任务
这些目录构建好后,后续通过超级管理员授权给对应的组管理员。组管理员即可操作其机构对应的资源目录(包括授权给其机构用户、角色、以及在目录下添加目录、资源等操作)。
2.4在用户管理中创建各机构组
在根组下创建各机构组:
2.5创建并配置各组管理角色
现在我们需要在根组下创建各组的组管理员角色,并使用超级管理员账号为各个组管理员角色分配初始权限。后续将各组的管理员角色赋予各机构组的组管理员账号之后,各机构组的组管理员账号即可进行其机构内的角色、用户、资源的管控。
1.在根组下创建角色“财务组管理员角色”
2.为“财务组管理员角色”,设置操作权限,勾选如下内容:
需要勾选的节点 | |
---|---|
数据连接 | 全部 |
数据准备 | 业务主题 |
数据集 | |
分析展现 | 全部 |
移动端 | 全部 |
资源发布 | 全部 |
公共设置 | 参数 |
脱敏规则 | |
用户属性 | |
转换规则 | |
流程 | |
宏资源包 | |
值域范围 | |
系统运维 | 计划任务 |
资源迁移 | |
用户管理 | |
清空缓存 | |
查看发布资源 | |
流程定义 | |
流程监控 | |
用户日志 |
3.为“财务组管理员角色”设置资源权限,如下:
目录 | 权限 | 应用到范围选择 | ||
---|---|---|---|---|
数据连接 | 引用、查看、再授权 | 只有该目录 | ||
数据连接 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
数据连接 | 高速缓存库 | 引用、查看、再授权 | 该目录、子目录及文件 | |
数据连接 | 跨库联合数据源 | 引用、查看、再授权 | 该目录、子目录及文件 | |
业务主题 | 引用、查看、再授权 | 只有该目录 | ||
业务主题 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
数据集 | 引用、查看、再授权 | 只有该目录 | ||
数据集 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
分析报表 | 引用、查看、再授权 | 只有该目录 | ||
分析报表 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
公共空间 | 引用、查看、再授权 | 只有该目录 | ||
公共空间 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
资源发布 | 引用、查看、再授权 | 只有该目录 | ||
资源发布 | 电脑主题 | 引用、查看、编辑、再授权 | 只有该目录 | |
资源发布 | 平板主题 | 引用、查看、编辑、再授权 | 只有该目录 | |
资源发布 | 手机主题 | 引用、查看、编辑、再授权 | 只有该目录 | |
公共设置 | 引用、查看、再授权 | 只有该目录 | ||
公共设置 | 参数定义 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 参数定义 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 脱敏规则 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 脱敏规则 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 用户属性 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 用户属性 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 转换规则 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 转换规则 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 流程管理 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 流程管理 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 宏资源包 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 红资源包 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 值域范围 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 值域范围 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
计划任务 | 引用、查看、再授权 | 只有该目录 | ||
计划任务 | 任务 | 引用、查看、再授权 | 只有该目录 | |
计划任务 | 任务 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
计划任务 | 计划 | 引用、查看、再授权 | 只有该目录 | |
计划任务 | 计划 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
到此处“财务组管理员角色”的权限即可处理完毕。
4.在根组下创建一个“企划组管理员角色”
5.为“企划组管理员角色”,设置操作权限,勾选如下内容:
需要勾选的节点 | |
---|---|
数据连接 | 全部 |
数据准备 | 业务主题 |
数据集 | |
分析展现 | 全部 |
移动端 | 全部 |
资源发布 | 全部 |
公共设置 | 参数 |
脱敏规则 | |
用户属性 | |
转换规则 | |
流程 | |
宏资源包 | |
值域范围 | |
系统运维 | 计划任务 |
资源迁移 | |
用户管理 | |
清空缓存 | |
查看发布资源 | |
流程定义 | |
流程监控 | |
用户日志 |
6.为“企划组管理员角色”设置资源权限,如下
目录 | 权限 | 应用到范围选择 | ||
---|---|---|---|---|
数据连接 | 引用、查看、再授权 | 只有该目录 | ||
数据连接 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
数据连接 | 高速缓存库 | 引用、查看、再授权 | 该目录、子目录及文件 | |
数据连接 | 跨库联合数据源 | 引用、查看、再授权 | 该目录、子目录及文件 | |
业务主题 | 引用、查看、再授权 | 只有该目录 | ||
业务主题 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
数据集 | 引用、查看、再授权 | 只有该目录 | ||
数据集 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
分析报表 | 引用、查看、再授权 | 只有该目录 | ||
分析报表 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
公共空间 | 引用、查看、再授权 | 只有该目录 | ||
公共空间 | 财务 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 | |
资源发布 | 引用、查看、再授权 | 只有该目录 | ||
资源发布 | 电脑主题 | 引用、查看、编辑、再授权 | 只有该目录 | |
资源发布 | 平板主题 | 引用、查看、编辑、再授权 | 只有该目录 | |
资源发布 | 手机主题 | 引用、查看、编辑、再授权 | 只有该目录 | |
公共设置 | 引用、查看、再授权 | 只有该目录 | ||
公共设置 | 参数定义 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 参数定义 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 脱敏规则 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 脱敏规则 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 用户属性 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 用户属性 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 转换规则 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 转换规则 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 流程管理 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 流程管理 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 宏资源包 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 红资源包 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
公共设置 | 值域范围 | 引用、查看、再授权 | 只有该目录 | |
公共设置 | 值域范围 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
计划任务 | 引用、查看、再授权 | 只有该目录 | ||
计划任务 | 任务 | 引用、查看、再授权 | 只有该目录 | |
计划任务 | 任务 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
计划任务 | 计划 | 引用、查看、再授权 | 只有该目录 | |
计划任务 | 计划 | 企划 | 引用、查看、编辑、再授权 | 该目录、子目录及文件 |
到此 “企划组管理员角色”也已配置完成。
其实“财务组管理员角色”与“企划组管理员角色”的逻辑是一致的。赋予同样的操作权限;在配置资源权限时,主要讲“财务”对应的目录的权限授予“财务组管理员角色”,将“企划”对应的目录的权限授予“企划组管理员角色”
2.6创建各机构的组管理员并赋予角色
1.使用admin用户 在“财务”组下创建一个用户,并授予其“财务组管理员角色”。若已存在用户,也可以直接将“财务组管理员角色”授予该用户。该用户即成为“财务”机构的组管理员。
2.同理,使用admin用户 在“企划”组下创建一个用户,并授予其“企划组管理员角色”。若已存在用户,也可以直接将“企划组管理员角色”授予该用户。该用户即成为“企划”机构的组管理员。
2.7配置完毕
上述配置完成之后,组管理员即可登录系统。创建其机构中的用户、角色、用户组等。并将其对应的资源目录根据实际场景进行授权。
3.特殊需求
根据现场的需求,存在一批特殊高管用户,需要同时属于“企划”机构和“财务”机构。且需要有各组管理员自行来添加这些用户。
此需求目前产品中没有实现方案。建议折中采用以下方案:
1.由超级管理员在“根组”下创建此类用户。
2.若组管理员需要添加这些用户到自己的组下,需要向超级管理员进行申请。并由超级管理员进行用户的配置、以及用户角色的相关配置。
4.风险点
- 由于用户是各机构进行管理,且产品中是不支持同名用户的。因此可能出现创建用户报“用户已存在”的错误。比如企划机构组中已经存在用户“张三”,此时财务组管理员想要在财务机构下创建另一个“张三”是无法成功的,只能创建“张三1”。
- 顶级目录只有查看权限,所以在保存资源到这些目录时会报错。只能选择对应的目录之后再进行保存。
如下:财务组的开发人员创建数据源,想要保存在“数据连接”节点下会报错
只能先选择“财务”目录,然后保存
- 针对“三特殊需求”中的方案。如果实际使用中涉及到数据权限。可能存在一些未知的风险。
- 如果用户和机构是通过同步用户的方式进行添加维护的。而不是此文档中的新建的方式。那么需要注意如下几点:
(1)在同步时,需要构建好机构。比如同步前在第三方系统中财务的原始组织架构如下(顶级机构默认有3个):
那么同步到Smartbi时,需要在同步的过程张处理成如下的机构:
(2)如果用户已经同步过来,那么可以先确定同步过来的哪些用户为“组管理员”,然后由超级管理员创建好组管理员角色并分配角色给对应的用户
(3)设置好组管理员后,需要由组管理员对其用户进行管理。创建对应的角色、设置权限等并赋予对应的用户。
(4)使用此文档中的方案时,用户同步的逻辑除了第一次同步时允许在同步过程中给用户设置角色以外,后续的同步不允许再通过同步的逻辑给用户设置角色。否则会将组管理员所做的授权等覆盖掉。