1. 概述
1.1 版本
FineBI 版本 | 功能变动 |
---|---|
6.0 | - |
6.0.2 | 新增「表开启权限继承后,原来给此表手动设置的关联会失效」的相关提示,可参见本文 3.1 节 |
1.2 应用场景
当一张表设置了行列权限,我们可以给使用它制作的自助数据集开启权限继承。这样该自助数据集自动继承了父表的行列权限,不需要另外设置,更加方便。
所以当我们的子表权限和父表的行列权限一致时,我们可以使用权限继承。
1.3 功能简介
自助数据集可以设置是否开启权限继承:
开启权限继承:可以直接继承父表的行列权限,不需要再另外设置行列权限;
关闭权限继承:不会继承父表的行列权限,但用户可以在权限中单独为该表配置 行列权限 。
2. 示例
当前「地区维度表」有两个子表「互联网地区访问统计」和「互联网渠道统计数据」。如下图所示:
2.1 设置行列权限
1)管理员将文件夹「互联网行业」的使用权限分配给 Anna;并点击「地区维度表」编辑按钮配置行列权限。如下图所示:
2)设置 Anna 只能看到杭州市的数据。如下图所示:
2.2 开启权限继承效果
给「地区维度表」的子表「互联网地区访问统计」开启权限继承,如下图所示:
注:有「互联网地区访问统计」管理权限的用户有权限开启或关闭权限继承。详细可参见:数据权限
登录 Anna 账号(工程内置示例账号默认密码都为 1 ),可以看到只有杭州市的数据。如下图所示:
2.3 不开权限继承效果
1)用有管理权限的账号,关闭「互联网地区访问统计」的权限继承按钮。
2)重新登录 Anna 账号,可看见该表没有继承父表的行权限,Anna 可以看到所有市的数据。如下图所示:
这种情况下,管理员可以单独给「互联网地区访问统计」分配行列权限,详细请参见:行列权限。
3. 注意事项
3.1 重新开启权限继承会导致之前设置的关联消失
一个自助数据集,无法同时「开启权限继承」和「手动设置关联」;
当给自助数据集开启「权限继承」时,原来该自助数据集手动设置的关联会自动消失:
1)点击「权限继承开启按钮」,系统提示:开启权限继承会导致已添加的关联失效,确定开启权限继承?
2)点击「确定」,权限继承开启,手动设置的关联关系消失。如下图所示:
3.2 权限继承受创建者权限限制
若自助数据集的创建者本身只拥有部分数据,这时候查看者和创建者的权限取交集。
例如:
1)eoco 拥有「表A」中「上海、北京、江苏」这部分的数据,他用这张「表A」制作了自助数据集并发布到了公共数据中;
2)管理员给 alice 分配行列权限,alice 拥有表A「上海、江苏、浙江」的数据;
3)管理员还给 alice 开启了此自助数据集的权限继承。
4)登录 alice 账号,可以看到 alice 在此数据集中只能看到「上海、江苏」的数据。
3.3 设置行权限的字段必须添加到分组框
抽取数据下的权限继承需要注意以下两点:
做自助数据集添加分组汇总时,必须将设置行权限的字段添加到分组框。开启权限继承后,自助数据集才有数据,否则自助数据集展示为空;
A 表与 B 表建立关联:A 表:B 表=1:N。对主表 A 设置行权限,使用 B 表做自助数据集添加分组汇总时,必须将设置行权限的字段添加到分组框。对开启权限继承后,自助数据集才有数据,否则自助数据集展示为空;
3.4 上下合并后数据集为空
使用设置行权限的表建立一张自助数据集,该自助数据集添加了「分组汇总」和「上下合并」,并开启权限继承。这种情况下自助数据集无论怎么设置都会展示为空。
3.5 左右合并逻辑优化
本节中的逻辑优化仅针对抽取的,开启权限继承的,包含左右合并步骤的自助数据集。
用户(包括创建者)访问自助数据集时,走权限继承左右合并逻辑,更新自助数据集时不走权限继承左右合并逻辑,不受影响。
3.5.1 逻辑优化
5.x 版本中,若抽取的自助数据集开启了权限继承,则其中的左右合并步骤,无论是哪种合并方式,取数时的行权限均为「左表行权限」和「右表行权限」的交集,可能会造成合并后数据的缺失。
针对以上问题,6.0 版本中对权限继承下左右合并的逻辑进行优化,保证合并后数据的准确性和完整性,具体如下表所示:
注:优化权限继承下左右合并的逻辑时,同时引入了「空即是真」的行权限合并逻辑:
即部门/职位/角色在配置了表权限的前提下,若没有配置行权限,则对该表的行权限为 true(可以看到该表的全部数据),详情请参考:行列权限特殊场景 。
合并方式 | 行权限 |
---|---|
左合并 | 取左表行权限 |
右合并 | 取右表行权限 |
交集合并 | 左表和右表上的行权限取交集 |
并集合并 | 左表和右表上的行权限取并集 |
3.5.2 开启逻辑优化开关
超级管理员可通过以下配置项修改权限继承下的左右合并逻辑,具体操作步骤请参考:填报修改fine_conf_entity 。
注:6.0 版本的新工程,开关默认开启,使用优化后的权限继承左右合并逻辑。
由 5.x 版本升级至 6.0 版本的工程,开关默认关闭,使用老的权限继承左右合并逻辑。
配置项 | 参数值 |
---|---|
SystemOptimizationConfig.roleEmptyFilterAsTrueFilter | true:开启开关,使用优化后的权限继承左右合并逻辑 false:关闭开关,使用老的权限继承左右合并逻辑 |