有数支持对角色设置数据访问权限,权限控制粒度可达到行和列级别。接下来将通过具体的示例来介绍如何设置行级权限及列级权限。

数据行级权限

当我们希望东北大区的销售人员只能看到“东北”地区的数据,我们可以建立一个“数据行级权限”,然后设置数据访问权限,只允许该角色成员访问“东北”地区的数据,然后将该“数据行级权限”赋予东北大区的销售人员即可。

下面我们将分步骤介绍操作方法

1、创建一个“数据权限”

数据权限管理 - 图1

2、进入到数据权限的编辑页面,可选择tab页进行行列权限设置页面的切换

数据权限管理 - 图2

数据连接:点击后可选择某一数据连接进行设置

权限规则:设置多个字段时,权限与权限之间可以选择AND,满足字段1和字段2,选择OR,满足字段1或字段2

例如:在权限字段中,首先选择订单表—地区—东北,其次选择订单表—类别—B

数据权限管理 - 图3

权限规则AND指设置的这两个字段同时满足。赋予到用户身上时,在下方的订单表中,用户只能看到第3行数据,东北—黑龙江—B—200

数据权限管理 - 图4

OR指这两个权限满足一个就行,这时赋予到用户身上,他能看到2、3、4行的数据

数据权限管理 - 图5

设置方式-权限字段:设置方式包括【固定值】【动态值】

设置方式选择【固定值】时,可选择【添加列表筛选】或【添加树状筛选】设置不让用户查看的字段

例如:添加列表筛选中【选择表】中选择[超市],【选择字段】中选择[超市]下[地区]字段,【选择数据项】可手动输入[东北]或列表筛选勾选[东北],将该“数据行级权限”赋予给东北大区的销售人员,则他们在访问相关报告时,只会看到“东北”地区的数据

数据权限管理 - 图6

树状筛选器可选择多个字段,当我们的数据筛选条件比较复杂,涉及多个层级的筛选时(比如要筛选“东北”地区跟“辛集”市的数据),这时候可以使用树状筛选来实现。

数据项中展示所选字段下的所有数据项,左侧可进行选择,右侧显示已选择内容,添加的筛选条件会显示在窗口中,确定后即可生效

数据权限管理 - 图7

3、根据用户的属性来进行数据行级权限管控

试想这样一种场景,我们的公司在“东北、华北、华东、华南”四个大区都有销售人员,我们希望不同大区的销售访问同一张报告时候只能看到自己所属大区的数据,用“数据行级权限”可以实现这样的需求,我们可以创建4个“数据行级权限”,每个“数据行级权限”只能访问一个大区的数据,然后给不同大区的销售人员分配对应的“数据行级权限”。 上述方法,当我们存在多少个大区,我们就需要创建对应数量的“数据行级权限”。那么有没有更简便的方法呢,可以借助有数的用户属性来实现。

1、创建一个“数据行级权限”,选择要设置权限的数据连接,并选择设置方式为“动态值” 数据权限管理 - 图8

2、选择要设置权限的表跟字段,选择要匹配的用户属性 数据权限管理 - 图9

3、保存后,将该“数据行级权限”分配给所有用户,则每个用户访问报告时会根据该用户所在大区来筛选数据,只能看到自己大区的数据

属性设置路径:企业域管理-人员信息-属性列表-设置一个属性值地区,在对应用户后输入东北或其他地区

在这里配置好后,行级权限中,属性一栏只用输入地区,添加行级权限时会针对用户的属性来展示他能看到的数据权限,这时这条数据权限可以赋予到多个用户身上

另外,可在平台管理界面对用户属性进行管理,有数暂不提供修改用户属性的入口。有数提供api接口,可以从客户自有的系统(比如OA系统)中读取每个用户的用户属性。

数据权限管理 - 图10

数据权限管理 - 图11

数据列级权限

数据列级权限的设置和行级权限基本一致,列级权限仅支持固定值的设置。

1、在列权限设置界面,选择需要设置访问权限的数据连接和权限字段所在表

数据权限管理 - 图12

2、选择要设置列权限的字段,勾选的字段为没有查看权限的字段

数据权限管理 - 图13

3、设置好以上权限后,保存权限设置

保存后,可在右侧添加成员,则该成员即受该权限的限制

数据权限管理 - 图14

4、对于没有列权限的数据,用户所查看的报告若包含改字段的数据,则数据均作隐藏处理,如下表所示:

数据权限管理 - 图15

5、针对整个报告,允许在报告设置入口勾选[不区分数据权限],勾选后,该报告下的所有报表、控件均不受数据行级&列级权限影响。

数据权限管理 - 图16

若报告已设置不受数据权限影响,则针对单图表的数据权限设置置灰不可选,hover时也有相应提示。

数据权限管理 - 图17