更新时间:2024-08-29 GMT+08:00

管理静态脱敏任务

本章主要介绍如何创建静态脱敏任务,静态脱敏支持的源端和目的端可通过参考:静态脱敏场景介绍查看。

数据静态脱敏,可以防止隐私数据在未经脱敏的情况下从企业流出。满足企业既要保护隐私数据,同时又保持监管合规,满足企业合规性。敏感数据通过静态脱敏,提供内置高效、丰富的脱敏算法,对原始数据中敏感数据进行掩码、截断、hash等,并将脱敏后的数据写入到目标端数据表。而目标表数据可以用来对外提供数据服务,为数据安全使用提供基础保障。

前提条件

  • 静态脱敏任务需要根据脱敏策略来进行脱敏,相关前提条件如下:
  • DLI引擎静态脱敏任务,需要为dlg_agency委托授予如下OBS权限策略,授权方法可参考授权dlg_agency委托章节。
    obs:bucket:HeadBucket
    obs:bucket:CreateBucket
    obs:object:PutObject
    obs:object:DeleteObject
    obs:bucket:ListBucket
    obs:object:GetObject
    obs:bucket:GetEncryptionConfiguration
    obs:bucket:PutEncryptionConfiguration

约束与限制

  • 静态脱敏时,请根据待脱敏数据的字段类型正确选择脱敏算法,否则可能会导致数据库数据异常。例如对date字段使用数值随机算法脱敏,会导致data类型将被强制脱敏为数值类型(Hive和DLI脱敏),或者写入失败报错(DWS脱敏);对数值字段使用哈希算法脱敏,会导致数值类型被强制脱敏为哈希值字符串(Hive和DLI脱敏),或者写入失败报错(DWS脱敏)。
  • 运行需要解析样本文件的静态脱敏任务时,样本文件大小建议不超过10MB,否则静态脱敏任务可能会失败。另外,OBS样本文件只能用于DLI引擎的静态脱敏任务,HDFS样本文件只能用于MRS引擎的静态脱敏任务。静态脱敏场景与引擎之间的对应关系请参考参考:静态脱敏场景介绍
  • 运行使用自定义哈希类型脱敏算法的静态脱敏任务时,如果使用了dws-SM3密码杂凑算法,则必须选择DWS引擎运行,要求DWS集群版本不低于8.1.3;如果使用了通用-SM3密码杂凑算法,则必须选择DLI或MRS引擎运行。
  • DLI引擎的静态脱敏任务,运行参数需要存储在OBS桶中,任务运行完成或失败后会删除任务运行参数文件。
    • DLI引擎的同源静态脱敏任务,运行参数存储在工作空间日志桶中,默认以dlf-log-{Project id}命名。
    • DLI引擎的跨源静态脱敏任务,运行参数存储在自动创建的加密用户桶dls-dli-{projectId}中。
    因此DLI引擎静态脱敏前,还需要为dlg_agency委托授予如下OBS权限策略,授权方法可参考授权dlg_agency委托章节。
    obs:bucket:HeadBucket
    obs:bucket:CreateBucket
    obs:object:PutObject
    obs:object:DeleteObject
    obs:bucket:ListBucket
    obs:object:GetObject
    obs:bucket:GetEncryptionConfiguration
    obs:bucket:PutEncryptionConfiguration
  • DLI引擎的静态脱敏任务,当源端或目的端为DWS时,请参考配置DLI队列与内网数据源的网络联通配置DLI队列与公网网络联通打通DLI Spark通用队列与DWS的网络连接,否则会导致静态脱敏任务失败。
  • 源端或目的端为DLI的静态脱敏任务,不支持对DLI中default数据库的数据表进行脱敏。
  • MapReduce服务(MRS Hive)所在的MRS集群必须开启Kerberos认证,且必须安装Spark组件。
  • MRS引擎的静态脱敏任务,当源端或目的端为DWS时,请参考参考:授权并绑定委托为MRS集群配置委托,并确保MRS集群安全组出方向规则满足如下要求,否则会导致静态脱敏任务失败。
    • 协议:TCP
    • 端口范围:80
    • 远端地址:169.254.0.0/16
  • MRS引擎的静态脱敏任务,当源端或目的端仅一端为DWS时,支持的数据类型如下。如果有其他不支持的数据类型,将导致静态脱敏任务失败。
    • tinyint
    • smallint
    • int
    • bigint
    • decimal
    • double
    • float
    • boolean
    • string
    • timestamp
  • DWS引擎的同源静态脱敏任务,不支持跨数据库脱敏,即DWS源端和目的端数据表所在的数据库必须相同。
  • 静态脱敏任务的数据集范围选择为增量时,需选择时间字段类型Timestamp、Date字段类型来确定增量范围。

创建静态脱敏任务

  1. DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
  2. 单击左侧导航树中的静态脱敏,进入静态脱敏页面,在页面上方单击“新建”,创建静态脱敏任务。

    图1 创建静态脱敏任务

  3. 在弹出的创建任务页面中填写任务名称和描述,单击“下一步”

    图2 基本信息配置

  4. 进行脱敏任务源、目标端配置。参数配置参考表1

    图3 配置脱敏任务

    脱敏任务参数配置说明:
    表1 脱敏任务参数配置

    参数名

    参数描述

    源端配置

    *数据源类型

    目前支持数据湖探索(DLI)、数据仓库服务(DWS)和MapReduce服务(MRS Hive)。

    *数据连接

    选择已在管理中心组件创建的数据连接。若未创建请参考创建DataArts Studio数据连接新建连接。

    *SQL队列

    数据源类型为DLI时,需要选择DLI SQL队列。

    *数据库

    单击设置选择待脱敏的数据库。

    不支持对DLI default数据库中的数据表进行脱敏。

    *源表名

    单击设置选择待脱敏的数据表。

    *是否指定列

    支持指定列脱敏。开启后您可以对源表中的指定列配置脱敏算法,支持对多列分别配置不同的脱敏算法。

    说明:

    注意该参数确定后,无法再通过编辑任务修改此选项。

    *指定列

    开启“是否指定列”时,此参数为必选项。

    如果您需要对某列进行脱敏,则必须勾选对应列,然后选择脱敏算法才能生效。如果仅选择脱敏算法,则无法实现脱敏。

    说明:
    • 静态脱敏时,请根据待脱敏数据的字段类型正确选择脱敏算法,否则可能会导致数据库数据异常。例如对date字段使用数值随机算法脱敏,会导致data类型将被强制脱敏为数值类型(Hive和DLI脱敏),或者写入失败报错(DWS脱敏);对数值字段使用哈希算法脱敏,会导致数值类型被强制脱敏为哈希值字符串(Hive和DLI脱敏),或者写入失败报错(DWS脱敏)。
    • 如下算法在使用前必须先在脱敏算法处配置密钥,才能正常使用。
      • 哈希算法中的“HMAC-SHA256哈希”算法。
      • 加密算法中的“dws列加密”算法。

    不同脱敏算法的更多使用限制,请参考管理脱敏算法

    *数据集范围

    只有使用时间字段timestamp、Date来确定增量范围时,才可以选择增量模式。

    一般而言,全量模式下脱敏任务使用单次调度,增量模式下脱敏任务使用周期调度。

    *指定时间字段

    增量模式下,选择时间字段timestamp、Date来确定增量范围。

    脱敏策略配置

    *脱敏策略

    仅当未指定列时可配置。

    下拉选择您预先创建好的脱敏策略。

    说明:
    • 静态脱敏时,请根据待脱敏数据的字段类型正确选择脱敏算法,否则可能会导致数据库数据异常。例如对date字段使用数值随机算法脱敏,会导致data类型将被强制脱敏为数值类型(Hive和DLI脱敏),或者写入失败报错(DWS脱敏);对数值字段使用哈希算法脱敏,会导致数值类型被强制脱敏为哈希值字符串(Hive和DLI脱敏),或者写入失败报错(DWS脱敏)。
    • 如下算法在使用前必须先在脱敏算法处配置密钥,才能正常使用。
      • 哈希算法中的“HMAC-SHA256哈希”算法。
      • 加密算法中的“dws列加密”算法。

    不同脱敏算法的更多使用限制,请参考管理脱敏算法

    目标端配置

    *数据源类型

    选择存储脱敏后数据的数据源类型,支持的脱敏场景如表3所示。

    *数据连接

    选择已在管理中心组件创建的数据连接。若未创建请参考创建DataArts Studio数据连接新建连接。

    *SQL队列

    数据源类型为DLI时,需要选择DLI SQL队列。

    *数据库

    单击设置选择存储已脱敏数据的数据库。

    不支持对DLI default数据库中的数据表进行脱敏。

    *目标表名

    用户手动输入,不能与目标端数据库表名重复。当输入的表名不存在时会创建该表。

    输入请单击“测试”,测试创建目标表并检测目标表是否可用,否则将无法进行下一步操作。

    执行引擎

    *执行引擎

    选择运行脱敏任务的引擎。不同脱敏场景下支持的引擎和注意事项如表3所示。

    脱敏队列

    *脱敏队列

    选择对应执行DLI或MRS引擎下的队列。

    • 执行引擎为DLI时,脱敏队列选择为DLI Spark通用队列。

      DLI引擎的静态脱敏任务,当源端或目的端为DWS时,请参考配置DLI队列与内网数据源的网络联通配置DLI队列与公网网络联通打通DLI Spark通用队列与DWS的网络连接,否则会导致静态脱敏任务失败。

    • 执行引擎为MRS时,脱敏队列需要手动填写为MRS租户队列,可在MRS控制台集群列表中单击集群名进入集群详情,在“租户管理 > 队列配置”中查看可用队列。

  5. 单击“下一步”,进行调度信息配置。

    • 数据集范围为全量模式时,仅支持单次调度。
    • 数据集范围为增量模式时,支持单次调度和周期调度。

    当选择为周期调度时,参数配置参考表2

    表2 配置周期调度参数

    参数名

    说明

    *调度日期

    调度任务的生效时间段。

    *调度周期

    选择调度任务的执行周期,并配置相关参数。

    • 分:选择调度开始时间和结束时间,配置间隔的分钟时长。
    • 小时:选择调度开始时间和结束时间,配置间隔的小时时长。
    • 天:配置每日调度时间。
    • 周:选择星期几启动调度,配置调度具体时间。
    • 月:选择几号启动调度,配置调度具体时间。

    例如:选择调度周期是周,选择具体时间为15:52,时间选择为星期二。则在调度日期范围内,每周二的15点52分会执行任务。

    立即启动

    勾选复选框,则表示立即启动此调度任务。

    图4 周期调度配置参数

  6. 单击“确定”,完成创建静态脱敏任务。

相关操作

  • 编辑任务:在静态脱敏页面,单击对应任务操作栏中的“编辑”,即可编辑静态脱敏任务。

    运行状态为正在“执行中”的任务不允许被编辑。

  • 删除任务:在静态脱敏页面,单击对应任务操作栏中的“更多 > 删除”,即可删除任务。当需要批量删除时,可以在勾选任务后,在任务列表上方单击“批量删除”。

    运行状态为正在“执行中”的任务不允许被删除。

    删除操作无法撤销,请谨慎操作。

  • 运行或调度任务:在静态脱敏页面,单击对应任务操作栏中的“运行”“更多 > 启动调度”,运行或调度任务。

    您可以通过调度周期区分该任务是单次调度还是周期调度任务。

  • 查看运行实例日志:在静态脱敏页面,找到需要查看实例的任务,单击展开,即可找到运行实例。随后单击“查看日志”,查看运行实例日志。

    运行失败可通过日志排查失败原因,问题修正后尝试重新运行。如果仍运行失败,请联系技术支持人员协助处理。

参考:授权并绑定委托

  1. 登录IAM服务控制台。
  2. 选择“委托”,在委托列表中查找MRS预置的MRS_ECS_DEFAULT_AGENCY委托,并单击“授权”。

    如果未找到MRS预置的MRS_ECS_DEFAULT_AGENCY委托,则可以通过自定义购买方式来购买MRS集群,在高级配置中选择绑定MRS_ECS_DEFAULT_AGENCY委托。MRS集群开始创建后,会自动生成MRS_ECS_DEFAULT_AGENCY委托。

    图5 授权委托

  3. 在授权页面中,在搜索框中输入“KMS”,勾选KMS Administrator策略。

    MRS_ECS_DEFAULT_AGENCY委托所需最小权限为“kms:cmk:decrypt”。除了直接授权KMS Administrator策略外,您也可以在IAM服务控制台创建一个自定义策略,包含KMS服务“kms:cmk:decrypt”权限,并将此策略授权给MRS_ECS_DEFAULT_AGENCY委托。

    图6 选择权限

  4. 选择权限后,单击“下一步”设置授权范围。本例以默认选项为例,直接单击“确定”完成委托授权。
  5. 在MRS服务控制台,选择“集群列表 > 现有集群”,单击集群名进入待配置集群的详情页面。
  6. 在集群详情的概览页面,找到“运维管理”区域,确认集群已绑定MRS_ECS_DEFAULT_AGENCY委托。如果未绑定,需要手动选择MRS_ECS_DEFAULT_AGENCY委托并确认,完成绑定。

    图7 绑定委托

参考:静态脱敏场景介绍

隐私保护管理目前支持的静态脱敏场景如表3所示。
表3 静态脱敏场景

源端数据源类型

目的端数据源类型

计算引擎

说明

数据湖探索(DLI)

数据湖探索(DLI)

使用DLI Spark通用队列

-

数据仓库服务(DWS)

使用DLI Spark通用队列

数据仓库服务(DWS)

数据仓库服务(DWS)

  • 使用DWS集群
  • 使用MRS集群
  • 使用DLI Spark通用队列

DWS引擎

  • DWS引擎的同源静态脱敏任务,不支持跨数据库脱敏,即DWS源端和目的端数据表所在的数据库必须相同。

MRS引擎:

  • MapReduce服务(MRS Hive)所在的MRS集群必须开启Kerberos认证,且必须安装Spark组件。
  • MRS引擎的静态脱敏任务,当源端或目的端为DWS时,请参考参考:授权并绑定委托为MRS集群配置委托,并确保MRS集群安全组出方向规则满足如下要求,否则会导致静态脱敏任务失败。
    • 协议:TCP
    • 端口范围:80
    • 远端地址:169.254.0.0/16
DLI引擎

MapReduce服务(MRS Hive)

使用MRS Hive所在的MRS集群

  • MapReduce服务(MRS Hive)所在的MRS集群必须开启Kerberos认证,且必须安装Spark组件。
  • MRS引擎的静态脱敏任务,当源端或目的端为DWS时,请参考参考:授权并绑定委托为MRS集群配置委托,并确保MRS集群安全组出方向规则满足如下要求,否则会导致静态脱敏任务失败。
    • 协议:TCP
    • 端口范围:80
    • 远端地址:169.254.0.0/16
  • MRS引擎的静态脱敏任务,当源端或目的端仅一端为DWS时,支持的数据类型如下。如果有其他不支持的数据类型,将导致静态脱敏任务失败。
    • tinyint
    • smallint
    • int
    • bigint
    • decimal
    • double
    • float
    • boolean
    • string
    • timestamp

数据湖探索(DLI)

使用DLI Spark通用队列

MapReduce服务(MRS Hive)

MapReduce服务(MRS Hive)

使用源端MRS Hive所在的MRS集群

  • MapReduce服务(MRS Hive)所在的MRS集群必须开启Kerberos认证,且必须安装Spark组件。

数据仓库服务(DWS)

使用MRS Hive所在的MRS集群

  • MapReduce服务(MRS Hive)所在的MRS集群必须开启Kerberos认证,且必须安装Spark组件。
  • MRS引擎的静态脱敏任务,当源端或目的端为DWS时,请参考参考:授权并绑定委托为MRS集群配置委托,并确保MRS集群安全组出方向规则满足如下要求,否则会导致静态脱敏任务失败。
    • 协议:TCP
    • 端口范围:80
    • 远端地址:169.254.0.0/16
  • MRS引擎的静态脱敏任务,当源端或目的端仅一端为DWS时,支持的数据类型如下。如果有其他不支持的数据类型,将导致静态脱敏任务失败。
    • tinyint
    • smallint
    • int
    • bigint
    • decimal
    • double
    • float
    • boolean
    • string
    • timestamp