数据管理DMS行级管控可实现所有已接入DMS的非NoSQL数据库类型的统一行级权限管控,可以解决不同人员只允许访问不同数据行的问题。例如,销售经理只能查看本人所负责地域的数据,不能查看全部地域数据。

前提条件

实例的管控模式为安全协同。更多信息,请参见查看管控模式

背景信息

在对数据进行安全保护时,一般有纵向数据安全保护和横向数据安全保护两种需求:

  • 纵向数据安全保护:通过字段管控功能实现。

    通过区分字段的敏感等级,实现字段的脱敏、半脱敏。更多信息,请参见管理敏感数据

    例如,负责统计分析工作的员工不能查看订单中用户的电子邮箱。

    纵向数据保护
  • 横向数据安全保护:通过行级管控功能实现。

    所有的行通过一个或若干个确定的值(管控值)进行区分,实现对行数据的管控。

    例如,连锁企业的订单,只允许员工查看本人所负责地域的数据,不能看全部区域的数据。

    hegnxaign

约束和限制

  • 仅支持关系型数据库,如MySQL、PolarDB等。
  • 仅支持安全协同模式的实例。
  • 仅支持物理库,逻辑库暂未开放。
  • 不具备所有行权限的用户,对行级管控表进行SQL查询、订正、删除时,筛选条件有如下限制:
    • 需要明确受管控字段的筛选值,且筛选值在管控值列表内。
    • 筛选条件会受到一些限制,例如:
      • Where条件仅支持 =in两种操作符。
      • OR、XOR、逻辑非等运算操作均无法使用。

名词解释

  • 管控表、管控字段和管控值
    • 行级管控表:需要进行行级管控的表。
    • 管控字段:行级管控表管控的字段。
    • 管控值:管控字段的取值。
  • 行权限:行级管控权限,通过管控表中字段的值(管控值)管控行级数据。
    • 单值行权限:针对一个或多个管控值进行单独管控。
    • 所有行权限:具备行级管控表中所有行的权限。
  • 配置组:具有相同管控值的管控字段可以添加为一个配置组。

    例如,表A和表B需要使用同样的管控值进行行级管控,则可通过一个配置组同时对表A和表B进行行级管控。

添加行级管控

您的用户角色为管理员、DBA或安全管理员。关于用户角色,请参见查看我的系统角色

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择安全与规范 > 敏感数据管理 > 敏感数据列表
  3. 单击行级管控页签。
  4. 单击添加管控组
  5. 添加管控组对话框中,输入管控组名称。
  6. 添加行配置后,单击添加
    1. 单击添加行配置
    2. 搜索并选择目标数据库。
    3. 选择目标表和需要设置行级管控的字段。
    4. 可选:单击添加行配置,添加多个具有相同管控值的行级管控表。
    成功添加行级管控后,在没有申请行权限前,您不能在SQL窗口中查看该目标表中的数据。12
  7. 可选:申请单值行权限,需要添加管控值。
    1. 在目标管控组的操作列中,单击详情
    2. 管控值详情面板,单击添加行值
    3. 导入行值对话框中,选择是否追加行值。
      • :在原有管控行值的基础上增加新的行值。
      • :将原有的管控行值清除,新增新的行值。
    4. 输入行值内容。
      说明 您可以在一个行值中添加多个管控值,管控值用逗号分隔。申请该行值的权限后,您会拥有行值中多个管控值的查询权限。

      例如,公司只允许某员工查看北京和上海客户的资料,可以输入行值内容为北京,上海,员工申请该行值的权限后,即可查看北京和上海区域的客户资料。

申请开通行权限

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择安全与规范 > 权限
  3. 页面右上角,选择权限申请 > 行-权限
  4. 输入数据库名。
    说明 支持%模糊匹配搜索。
  5. 选择行权限范围。
    • 单值:可针对每一个行值申请权限。
      说明
      • 一个行值中可能包含多个管控值。如果您具有该行值的权限,则拥有该行值中多个管控值的查询、导出或变更权限。
      • 一个管控值可能对应多行数据。如果您具有该管控值的行权限,则拥有该管控表中多行数据的查询、导出或变更权限。
    • 所有:具备行级管控表的所有行权限,可访问整个行级管控表。
  6. 单击搜索
  7. 选中目标行权限,单击添加
    说明 行值为-,表示拥有所有行权限。
  8. 选中权限类型,选择期限,填写权限申请原因。
  9. 单击提交申请
    待审批通过后,申请人可在SQL窗口中对管控表进行查询、导出或变更。7安全与规范 行级管控 有权限查询2
    说明 如需释放行级管控权限:
    • 主动释放:在查看我的权限区域,查看、释放本人名下的权限。更多信息,请参见查看我的权限
    • 管理者释放:在运维管理 > 用户管理页面,目标用户操作列的更多 > 权限详情中查看、释放目标用户的权限。