数据管理DMS行级管控可实现所有已接入DMS的非NoSQL数据库类型的统一行级权限管控,可以解决不同人员只允许访问不同数据行的问题。例如,销售经理只能查看本人所负责地域的数据,不能查看全部地域数据。
前提条件
实例的管控模式为安全协同。更多信息,请参见查看管控模式。背景信息
在对数据进行安全保护时,一般有纵向数据安全保护和横向数据安全保护两种需求:
- 纵向数据安全保护:通过字段管控功能实现。
通过区分字段的敏感等级,实现字段的脱敏、半脱敏。更多信息,请参见管理敏感数据。
例如,负责统计分析工作的员工不能查看订单中用户的电子邮箱。
- 横向数据安全保护:通过行级管控功能实现。
所有的行通过一个或若干个确定的值(管控值)进行区分,实现对行数据的管控。
例如,连锁企业的订单,只允许员工查看本人所负责地域的数据,不能看全部区域的数据。
约束和限制
- 仅支持关系型数据库,如MySQL、PolarDB等。
- 仅支持安全协同模式的实例。
- 仅支持物理库,逻辑库暂未开放。
- 不具备所有行权限的用户,对行级管控表进行SQL查询、订正、删除时,筛选条件有如下限制:
- 需要明确受管控字段的筛选值,且筛选值在管控值列表内。
- 筛选条件会受到一些限制,例如:
- Where条件仅支持
=
和in
两种操作符。 - OR、XOR、逻辑非等运算操作均无法使用。
- Where条件仅支持
名词解释
- 管控表、管控字段和管控值
- 行级管控表:需要进行行级管控的表。
- 管控字段:行级管控表管控的字段。
- 管控值:管控字段的取值。
- 行权限:行级管控权限,通过管控表中字段的值(管控值)管控行级数据。
- 单值行权限:针对一个或多个管控值进行单独管控。
- 所有行权限:具备行级管控表中所有行的权限。
- 配置组:具有相同管控值的管控字段可以添加为一个配置组。
例如,表A和表B需要使用同样的管控值进行行级管控,则可通过一个配置组同时对表A和表B进行行级管控。
添加行级管控
您的用户角色为管理员、DBA或安全管理员。关于用户角色,请参见查看我的系统角色。
- 登录数据管理DMS 5.0。
- 在顶部菜单栏中,选择 。
- 单击页面右上角的全域敏感数据列表,进入敏感数据列表页面。
- 单击行级管控页签。
- 单击添加管控组。
- 在添加管控组对话框中,输入管控组名称。
- 添加行配置后,单击添加。
- 单击添加行配置。
- 搜索并选择目标数据库。
- 选择目标表和需要设置行级管控的字段。
- 可选:单击添加行配置,添加多个具有相同管控值的行级管控表。
成功添加行级管控后,在没有申请行权限前,您不能在SQL窗口中查看该目标表中的数据。 - 可选:申请单值行权限,需要添加管控值。
申请开通行权限
- 登录数据管理DMS 5.0。
- 在顶部菜单栏中,选择 。
- 页面右上角,选择 。
- 输入数据库名。说明 支持%模糊匹配搜索。
- 选择行权限范围。
- 单值:可针对每一个行值申请权限。说明
- 一个行值中可能包含多个管控值。如果您具有该行值的权限,则拥有该行值中多个管控值的查询、导出或变更权限。
- 一个管控值可能对应多行数据。如果您具有该管控值的行权限,则拥有该管控表中多行数据的查询、导出或变更权限。
- 所有:具备行级管控表的所有行权限,可访问整个行级管控表。
- 单值:可针对每一个行值申请权限。
- 单击搜索。
- 选中目标行权限,单击
。
说明 行值为-
,表示拥有所有行权限。 - 选中权限类型,选择期限,填写权限申请原因。
- 单击提交申请。待审批通过后,申请人可在SQL窗口中对管控表进行查询、导出或变更。说明 如需释放行级管控权限:
- 主动释放:在查看我的权限区域,查看、释放本人名下的权限。更多信息,请参见查看我的权限。
- 管理者释放:在操作列的 中查看、释放目标用户的权限。 页面,目标用户