连接权限
数据连接通过权限管理和权限控制,在提高数据使用便利性的同时保护数据的安全性,使系统具有统一数据发布平台的能力,让各业务部门能够对权威、统一的数据实现按需所取。
连接管理
数据连接创建者(下文称 owner)创建数据连接后,可以设置连接管理员,让管理者进行数据的进一步下发。
管理者受规则约束
连接中有管理者约束设置,表示连接 owner 和管理者是否受连接设置的规则约束,默认情况下管理者受约束,该功能只能由 owner 设置,管理者不能设置。
数据连接 owner 和管理者
数据连接 owner 和管理者分工不同。 数据连接 owner 管理整个数据连接,包括创建、编辑、删除连接,设置规则分发连接,设置连接管理者,及管理者约束规则。 连接管理者只是协助 owner 进行数据下发,建立数据使用规则。
连接权限
数据连接 owner 和数据连接管理者都可以设置连接规则,对用户设置权限,下面详细的介绍连接权限内容。
- 数据连接内容列表
- 数据预览
- 权限控制
数据连接内容列表
为了让用户能够方便、快捷的找到所需要的表,衡石 SENSE 特意添加了按照全部
、按已授权
、按未授权
、按访问者
四种方式进行搜索的功能。
只有 owner(连接的创建者)的搜索框前面有下拉列表,可以通过上述四种方式进行筛选。
对于授权用户,搜索框前面没有下拉列表,只能从所有已授权表中进行筛选。
全部
搜索默认从该连接的全部表中进行筛选,下方列出连接中所有目录,展开目录显示连接中所有表。在搜索框中输入想要查找的表的名称即可检索出该表。
按已授权
选择按已授权
后,下方列出所有授权过的目录(若未对目录设置规则,但是该目录下有已授权的表,该目录也会显示)展开目录显示连接中所有授权过的表,已授权的目录或表下方会有绿色的 icon。在搜索框中输入想要查找的已授权表的名称即可检索出该表。
按未授权
选择按未授权
后,下方列出所有未授权的目录(若未对目录设置规则,但是该目录下有未授权的表,该目录也会显示)展开目录显示连接中所有未授权的表。在搜索框中输入想要查找的未授权表的名称即可检索出该表。
按访问者
选择按访问者
后,下方列出该数据连接中所有的目录,展开目录显示连接中所有表。在搜索框内输入想要查找的用户/用户组的名称即可查看该用户/用户组能看到的目录和表。
数据预览
用户在数据预览处可以查看所选中表的数据。
owner 查看数据
数据连接中 owner 可以查看自己创建的数据连接中表的所有数据。
授权用户查看数据
授权用户可以看到由数据 owner 设置规则后的数据。查看权限由授权类型决定。
权限控制
对数据连接进行权限控制能够实现对数据的分发,owner 可以通过添加规则决定让哪些用户访问数据连接中的数据。每条规则由授权用户和授权类型组成。
提示
授权用户
授权用户可以针对系统中的用户和用户组进行授权。
授权类型
授权类型包括查看名称(LS)、查看数据结构(SC)、只读访问(RO)、完全访问(RW)四种类型。数据连接、目录、表都支持上述四种类型。具体授权范围如下。
查看名称(LS)
- 在连接上设置时可以访问该连接下所有目录、表的名称。
- 在目录上设置时可以访问该目录下所有表的名称。
- 在表上设置时可以访问该表的名称。
查看数据结构(SC)
- 在连接上设置时可以访问该连接下所有目录、表的名称以及表的结构。
- 在目录上设置时可以访问该目录下所有表的结构。
- 在表上设置时可以访问该表的结构。
只读访问(RO)
- 在连接上设置时可以访问该连接下所有目录、表的名称,表的结构和数据。
- 在目录上设置时可以访问该目录下所有表的名称、结构和数据。
- 在表上设置时可以访问该表的名称、结构和数据。表的 RO 只读访问与其他授权类型不同,可以设置行、列权限。
行权限设置时可通过简单过滤、表达式过滤、SQL 表达式过滤三种方法进行数据筛选,并指定用户查看筛选的数据。
- 简单过滤 在简单表达式中可以通过固定值和用户属性来设置行权限控制。当有多个简单过滤条件时,可以设置规则为满足'全部条件'或满足'任一条件'。
- 表达式过滤 通过使用表达式进行权限控制,表达式比简单过滤更加灵活。 如图所示,设置用户只能看到大区经理与系统用户名匹配的数据。
- SQL 表达式过滤 可以通过 SQL 实现数据过滤,常用于跨表权限控制、复杂场景过滤使用。如图所示,用户查看订单表时,先要看自己在大区负责人表中负责哪些地区,才能查看订单表中对应地区的信息。如果用户在大区负责人表中没有对应的地区信息,那么订单表中就没有数据可以查看。
提示
- 使用表达式时,请注意字段和用户属性的用法。
- SQL 表达式可实现跨表数据过滤,简单过滤、表达式过滤只能在本表中进行数据过滤。
列权限设置列字段是否对用户可见,创建列权限规则后指定用户不能查看规则中的列字段内容。 如对用户张三设置了列权限规则,则张三在查看该连接时,看不到年份、订单编号、地区、门店等列字段相关信息。
完全访问(RW)
- 在连接上设置时可以访问和更改该连接下所有表的名称、结构和数据。
- 在目录上设置时可以访问和更改该目录下所有表的名称、结构和数据。
- 在表上设置时可以访问和更改该表的名称、结构和数据。
添加连接规则
下面演示给连接添加规则以及规则生效后授权用户查看情况。 第一步:添加规则
在数据连接选择需要授权的连接,打开右侧的权限控制
列表,点击+
添加规则。在规则列表中生成一条空规则,修改规则的名称使其更贴合业务逻辑。
第二步:选择授权用户以及用户组
选择本条规则作用的用户/用户组,滚动竖轴的滚动条,点击用户/用户组列表进行添加。
提示
如果选择全部用户,可以添加用户组中的 ALL_USERS。
第三步:选择授权类型
根据需要给连接添加对应的授权类型,这里选择查看名称。
第四步:保存规则
点击保存
,规则设置成功,规则名称后是当前规则所授权的用户/用户组的数量。
授权用户查看数据
授权用户在数据连接中可以看到该连接级连接下面的所有目录、表的名称。
提示
- 每个规则支持选择一种授权类型。
添加目录规则
下面演示给目录添加规则以及规则生效后授权用户查看情况。 第一步:添加规则
在数据连接选择需要授权的目录,打开右侧的权限控制
列表,点击+
添加规则。在规则列表中生成一条空规则,修改规则的名称使其更贴合业务逻辑。
提示
继承列表中显示了继承规则,是该目录上一层级的所有规则,默认是继承该规则。也可以选择不继承。
第二步:选择授权用户以及用户组
选择本条规则作用的用户/用户组,滚动竖轴的滚动条,点击用户/用户组列表进行添加。
提示
如果选择全部用户,可以添加用户组中的 ALL_USERS。
第三步:选择授权类型
根据需要选择对应的授权类型。这里选择只读访问类型。
第四步:保存规则
点击保存
,规则设置成功,规则名称后面是当前规则内所授权的用户/用户组的数量。
授权后用户访问
授权用户可以看到该目录下所有表的名称、结构和数据。
添加表规则
下面的示例是给表添加规则以及规则生效后授权用户查看情况。 第一步:添加规则
在数据连接选择需要授权的表,打开右侧的权限控制
列表,点击+
添加,一条空规则添加成功,修改规则的名称使其更贴合业务逻辑。
提示
继承列表中显示了继承规则,是该表上一层级的所有规则,默认是继承该规则,也可以选择不继承。
第二步:选择授权用户以及用户组
选择本条规则作用的用户/用户组,滚动竖轴的滚动条,点击用户/用户组列表进行添加。
提示
如果选择全部用户,可以添加用户组中的 ALL_USERS。
第三步:选择授权类型
根据需要选择对应的授权类型。这里选择只读访问类型。
通过简单过滤设置行权限。
第四步:保存规则
点击保存
,规则设置成功,规则名称后的未保存更新为当前规则内所选授权用户用/户的数量。
授权后用户访问
选择不同的授权类型,该条规则内的用户访问应用时,在该数据连接内可见的内容分别为:
规则之间的关系
继承关系
在数据连接权限控制中,继承关系遵循以下规则:
- 目录会继承所属连接上的规则,该规则在表目录的规则列表中置顶,且只能查看不能修改。
- 表会继承所属目录和连接上的规则,该规则在表的规则列表中置顶,且只能查看不能修改。
- 来自父级节点的继承规则,支持全部继承、部分继承和不继承。默认是全部继承且生效。
- 没有继承的父级节点规则,可以通过勾线重新继承。
- 继承规则与当前规则同时生效时取并集。
权限取并集
目录上和表上的授权类型不一致时,表上的授权类型生效的是权限较大的。
示例:目录上为用户 A 设置的授权类型为“查看名称”,该目录下某一张表为用户 A 设置的授权类型为“只读访问”,则用户 A 在该表上的实际权限为“只读访问”。
对于同一个用户,同一个表,如果创建了多条规则,那么最后生效的权限是规则的并集。
示例:对于同一个表,如果在规则1中为用户 A 授权访问区域为“北京市”的数据,在规则2中为用户 A 授权访问区域为“上海市”的数据,最终用户 A 可以访问的是“北京市”和“上海市”的数据。