管理静态脱敏任务
本章主要介绍如何创建静态脱敏任务,静态脱敏支持的源端和目的端可通过参考:静态脱敏场景介绍查看。
数据静态脱敏,可以防止隐私数据在未经脱敏的情况下从企业流出。满足企业既要保护隐私数据,同时又保持监管合规,满足企业合规性。敏感数据通过静态脱敏,提供内置高效、丰富的脱敏算法,对原始数据中敏感数据进行掩码、截断、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字段类型来确定增量范围。
创建静态脱敏任务
- 在DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
- 单击左侧导航树中的“新建”,创建静态脱敏任务。
,进入静态脱敏页面,在页面上方单击图1 创建静态脱敏任务
- 在弹出的创建任务页面中填写任务名称和描述,单击“下一步”。
图2 基本信息配置
- 进行脱敏任务源、目标端配置。参数配置参考表1。
图3 配置脱敏任务
脱敏任务参数配置说明:表1 脱敏任务参数配置 参数名
参数描述
源端配置
*数据源类型
目前支持数据湖探索(DLI)、数据仓库服务(DWS)和MapReduce服务(MRS Hive)。
*数据连接
选择已在管理中心组件创建的数据连接。若未创建请参考创建DataArts Studio数据连接新建连接。
*SQL队列
数据源类型为DLI时,需要选择DLI SQL队列。
*数据库
单击设置选择待脱敏的数据库。
不支持对DLI default数据库中的数据表进行脱敏。
*源表名
单击设置选择待脱敏的数据表。
*是否指定列
支持指定列脱敏。开启后您可以对源表中的指定列配置脱敏算法,支持对多列分别配置不同的脱敏算法。
说明:注意该参数确定后,无法再通过编辑任务修改此选项。
*指定列
开启“是否指定列”时,此参数为必选项。
如果您需要对某列进行脱敏,则必须勾选对应列,然后选择脱敏算法才能生效。如果仅选择脱敏算法,则无法实现脱敏。
说明:- 静态脱敏时,请根据待脱敏数据的字段类型正确选择脱敏算法,否则可能会导致数据库数据异常。例如对date字段使用数值随机算法脱敏,会导致data类型将被强制脱敏为数值类型(Hive和DLI脱敏),或者写入失败报错(DWS脱敏);对数值字段使用哈希算法脱敏,会导致数值类型被强制脱敏为哈希值字符串(Hive和DLI脱敏),或者写入失败报错(DWS脱敏)。
不同脱敏算法的更多使用限制,请参考管理脱敏算法。
*数据集范围
只有使用时间字段timestamp、Date来确定增量范围时,才可以选择增量模式。
一般而言,全量模式下脱敏任务使用单次调度,增量模式下脱敏任务使用周期调度。
*指定时间字段
增量模式下,选择时间字段timestamp、Date来确定增量范围。
脱敏策略配置
*脱敏策略
仅当未指定列时可配置。
下拉选择您预先创建好的脱敏策略。
说明:- 静态脱敏时,请根据待脱敏数据的字段类型正确选择脱敏算法,否则可能会导致数据库数据异常。例如对date字段使用数值随机算法脱敏,会导致data类型将被强制脱敏为数值类型(Hive和DLI脱敏),或者写入失败报错(DWS脱敏);对数值字段使用哈希算法脱敏,会导致数值类型被强制脱敏为哈希值字符串(Hive和DLI脱敏),或者写入失败报错(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控制台集群列表中单击集群名进入集群详情,在“租户管理 > 队列配置”中查看可用队列。
- 单击“下一步”,进行调度信息配置。
- 数据集范围为全量模式时,仅支持单次调度。
- 数据集范围为增量模式时,支持单次调度和周期调度。
当选择为周期调度时,参数配置参考表2。
表2 配置周期调度参数 参数名
说明
*调度日期
调度任务的生效时间段。
*调度周期
选择调度任务的执行周期,并配置相关参数。
- 分:选择调度开始时间和结束时间,配置间隔的分钟时长。
- 小时:选择调度开始时间和结束时间,配置间隔的小时时长。
- 天:配置每日调度时间。
- 周:选择星期几启动调度,配置调度具体时间。
- 月:选择几号启动调度,配置调度具体时间。
例如:选择调度周期是周,选择具体时间为15:52,时间选择为星期二。则在调度日期范围内,每周二的15点52分会执行任务。
立即启动
勾选复选框,则表示立即启动此调度任务。
图4 周期调度配置参数
- 单击“确定”,完成创建静态脱敏任务。
相关操作
- 编辑任务:在静态脱敏页面,单击对应任务操作栏中的“编辑”,即可编辑静态脱敏任务。
运行状态为正在“执行中”的任务不允许被编辑。
- 删除任务:在静态脱敏页面,单击对应任务操作栏中的“更多 > 删除”,即可删除任务。当需要批量删除时,可以在勾选任务后,在任务列表上方单击“批量删除”。
删除操作无法撤销,请谨慎操作。
- 运行或调度任务:在静态脱敏页面,单击对应任务操作栏中的“运行”或“更多 > 启动调度”,运行或调度任务。
您可以通过调度周期区分该任务是单次调度还是周期调度任务。
- 查看运行实例日志:在静态脱敏页面,找到需要查看实例的任务,单击展开,即可找到运行实例。随后单击“查看日志”,查看运行实例日志。
运行失败可通过日志排查失败原因,问题修正后尝试重新运行。如果仍运行失败,请联系技术支持人员协助处理。
参考:授权并绑定委托
- 登录IAM服务控制台。
- 选择“委托”,在委托列表中查找MRS预置的MRS_ECS_DEFAULT_AGENCY委托,并单击“授权”。
如果未找到MRS预置的MRS_ECS_DEFAULT_AGENCY委托,则可以通过自定义购买方式来购买MRS集群,在高级配置中选择绑定MRS_ECS_DEFAULT_AGENCY委托。MRS集群开始创建后,会自动生成MRS_ECS_DEFAULT_AGENCY委托。
图5 授权委托
- 在授权页面中,在搜索框中输入“KMS”,勾选KMS Administrator策略。
MRS_ECS_DEFAULT_AGENCY委托所需最小权限为“kms:cmk:decrypt”。除了直接授权KMS Administrator策略外,您也可以在IAM服务控制台创建一个自定义策略,包含KMS服务“kms:cmk:decrypt”权限,并将此策略授权给MRS_ECS_DEFAULT_AGENCY委托。
图6 选择权限
- 选择权限后,单击“下一步”设置授权范围。本例以默认选项为例,直接单击“确定”完成委托授权。
- 在MRS服务控制台,选择“集群列表 > 现有集群”,单击集群名进入待配置集群的详情页面。
- 在集群详情的概览页面,找到“运维管理”区域,确认集群已绑定MRS_ECS_DEFAULT_AGENCY委托。如果未绑定,需要手动选择MRS_ECS_DEFAULT_AGENCY委托并确认,完成绑定。
图7 绑定委托
参考:静态脱敏场景介绍
源端数据源类型 |
目的端数据源类型 |
计算引擎 |
说明 |
---|---|---|---|
数据湖探索(DLI) |
数据湖探索(DLI) |
使用DLI Spark通用队列 |
- |
数据仓库服务(DWS) |
使用DLI Spark通用队列 |
|
|
数据仓库服务(DWS) |
数据仓库服务(DWS) |
|
DWS引擎:
MRS引擎:
DLI引擎:
|
MapReduce服务(MRS Hive) |
使用MRS Hive所在的MRS集群 |
|
|
数据湖探索(DLI) |
使用DLI Spark通用队列 |
|
|
MapReduce服务(MRS Hive) |
MapReduce服务(MRS Hive) |
使用源端MRS Hive所在的MRS集群 |
|
数据仓库服务(DWS) |
使用MRS Hive所在的MRS集群 |
|