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