DataWorks目前支持动态脱敏和静态脱敏,本文为您介绍如何创建脱敏规则,并在DataWorks中进行脱敏查询。
背景信息
DataWorks目前支持动态脱敏和静态脱敏。分类 | 概念 | 脱敏场景 |
---|
动态脱敏 | 用户在查询敏感数据时在页面展示脱敏后的数据。 | 当前DataWorks为您内置了全局配置、展示脱敏、数据分析脱敏、底层脱敏等脱敏场景,子场景为动态脱敏的典型应用场景。配置详情请参见创建脱敏规则:全局配置场景。 |
静态脱敏 | 将数据脱敏后存储到指定的数据库位置。 | 当前DataWorks为您内置了数据集成脱敏场景,子场景为静态脱敏的典型应用场景。配置详情请参见创建脱敏规则:数据集成场景。 |
选择脱敏场景
- 进入数据保护伞。详情请参见:数据保护伞概述。
- 在左侧导航栏,单击。
在
数据脱敏管理页面根据需求选择
脱敏场景。DataWorks为您提供了多种脱敏场景,还支持您自己创建脱敏场景。
- 全局配置:全局配置的脱敏规则和白名单规则会在展示脱敏、数据分析脱敏、底层脱敏等场景中使用。
- DataWorks展示脱敏:
- 在数据开发页面查询数据时,查询的敏感数据(已配置脱敏规则)会经过脱敏。

- 在数据地图的数据预览查询数据时,查询的敏感数据(已配置脱敏规则)会经过脱敏。

- DataWorks数据分析脱敏:在数据分析进行SQL查询和SQL Notes时,查询的敏感数据(配置了脱敏规则的)会经过脱敏。

- Hologres展示脱敏:在数据开发或holostudio查询holo的数据时按照配置进行脱敏。仅杭州、北京地域可以配置该脱敏规则。默认不开启该功能,如果您需要使用该功能,请提交工单进行开通。
说明 Hologres暂不支持假名脱敏,您配置的全局假名脱敏规则,在Hologres场景下,将被脱敏为“***”。
- MaxCompute底层脱敏:从MaxCompute各个访问入口查询数据时,均会被脱敏。仅上海地域可以配置该脱敏规则。开启MaxCompute的动态脱敏功能详情请参见:数据动态脱敏。
- 新增自定义脱敏场景:在脱敏场景的下拉菜单底部单击脱敏场景,弹出新增脱敏场景,您可以自定义脱敏场景的场景名称(仅包含中文、英文、数字、下划线、中划线)和场景码(仅包含数字和英文)。
- 创建脱敏规则。
选择场景后,可以在对应场景下新建脱敏规则,便于后续应用的使用。不同场景下创建脱敏规则请参见:
创建脱敏规则:全局配置场景
下面以全局配置(_default_scene_code)为例,介绍数据脱敏配置的流程,Hologres展示脱敏、DataWorks展示脱敏和DataWorks数据分析脱敏、MaxCompute底层脱敏场景的操作步骤参考全局配置场景。
- 在数据脱敏管理页面,选择脱敏场景为全局配置(_default_scene_code)。
- (可选)选择脱敏对象并授权。
说明 仅Hologres展示脱敏和MaxCompute底层脱敏需要配置。
单击
选择脱敏project或
选择脱敏database,根据界面提示选择需要脱敏的project或database,并勾选
同意授权数据保护伞对该project或database脱敏选项。
- 新建数据脱敏规则。
- 在数据脱敏配置页面,单击右上方的新建脱敏规则。
- 在新建脱敏规则对话框中,配置脱敏规则和脱敏方式。

- 配置基础信息。
参数 | 描述 |
---|
敏感数据类型 | 你可以根据需要选择已创建的敏感数据类型(系统自动过滤掉已被当前脱敏场景使用过的敏感字段类型)。详情请参见:通过内置规则识别。 |
脱敏规则名称 | 该文本框会自动代入用户填写的敏感数据类型(输入字符限制1~30字,包括:中文、英文、数字),您也可以在该敏感数据类型下新增脱敏规则名称,当与该租户下所有用户创建的脱敏规则出现重名时,提示规则名称重复。 |
- 配置脱敏方式:DataWorks支持的脱敏方式包括:保留格式加密、掩盖、HASH加密、字符替换区间变换、取整、置空。
- 保留格式加密(原假名脱敏算法)
保留格式加密脱敏会将一个值替换成一个具有相同特征的脱敏信息。脱敏后数据和脱敏前数据的格式保持一致。
- 掩盖
掩盖脱敏是对部分信息进行掩盖,将对应位置上的字符用“*”替换,达到脱敏的效果。
- 推荐方式:下拉框可选择只展示前1位和最后1位、只展示前3位和最后2位、只展示前3位和最后4位。
- 自定义:自定义提供了更加灵活的设置方式,按从左至右顺序配置分段是否脱敏,以及需要脱敏(或者不脱敏)的字符长度。最多可添加10个分段,必须要有且仅有1个分段是剩余位数。

图标 | 描述 |
---|
① | 可选择位数、剩余位数。 |
② | 输入范围为【1,100】。 |
③ | 可选择脱敏、不脱敏。 |
例如,脱敏前3位,剩余位数不脱敏。

- HASH
- 数据水印:数据水印可提供数据溯源能力,发生数据泄漏后,可以帮您定位到可能的泄漏源。您可以根据需求选择是否开启数据水印。
说明 仅DataWork企业版及以上版本支持使用数据水印功能。
- 加密算法:包括MD5、SHA256、SHA512、SM3。
- 加盐值:设置各加密算法的盐值。默认选中5,可填值为0~9。
说明 在密码学中,通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为加盐。盐值即插入的特定字符串。
- 字符替换:将指定位置的字符按照您选择的替换方式进行替换。
- 替换位置:下拉框可选择替换全部、替换前3位、替换后4位,同时支持您自定义替换位置。
替换位置选择自定义时,用户可以自定义分段,并配置每个分段如何替换字符,最多可添加10个分段,必须要有且仅有1个分段是
剩余位数。

图标 | 描述 |
---|
① | 可选择位数、剩余位数。 |
② | 输入范围为【1,100】。 |
③ | 可选择替换方式,包括随机替换、样本值替换、固定值替换。 |
- 替换方式:包括随机替换、样本值替换、固定值替换。
- 随机替换:随机替换对应位置上的字符,替换前后字符位数不变。
- 样本值替换:您需要选择指定样本库,选择后用样本库中的值替换对应位置上的字符。
- 固定值替换:您需要在替换值文本框中输入字符(字符不限,长度1~100,不可包含空字符),输入后用该替换值替换对应位置上的字符。
- 区间变换:仅适用对数值类型的数据进行脱敏。可将指定数值范围内的数据脱敏为固定的值,可添加多个区间范围,至少1个,至多10个。
- 原始数值范围 [m,n) :脱敏前数据的数值范围,有效值为大于等于0的数值,最多支持小数点后2位。
- 脱敏后数值:脱敏之后的值,有效值为大于等于0的数值,最多支持小数点后2位;
- 取整
- 原始数据类型:仅支持选择数值类型。
- 保留小数点位数:有效值范围为0~5,剩余部分四舍五入。例如,原始数值3.1415,保留小数点位数2位,脱敏后为3.14。
- 置空:脱敏时,对应的敏感字段置为空字符串。
- 验证脱敏配置结果:您可以在样本数据文本框中输入脱敏前样本数据(输入字符限制0~100字符),单击脱敏验证,在脱敏效果中会返回脱敏后的数据。
- 单击保存。
- 在数据脱敏配置页面,设置脱敏策略的状态为生效或失效。
设置成功后,单击相应脱敏规则后的操作列的图标,可以执行
删除脱敏规则、
修改脱敏规则和
查询详情的操作。
说明 - 生效的规则不允许执行删除和修改的操作。您需要先将规则失效,失效时判断是否有相关任务使用到该规则,请联系安全管理员二次确认;
- 失效状态下您可以修改脱敏方式,但是敏感数据类型和脱敏规则名称不可修改。
- 修改完成后开启生效,配置该脱敏规则的任务可继续脱敏。
- 新增白名单。
- 单击菜单栏中的白名单配置管理。
- 在白名单配置管理页面,单击右上方的新增白名单。
- 在新增白名单对话框中,配置相关信息。
说明 - Hologres展示脱敏场景不需要配置白名单。
- 设置白名单生效时间后,对于符合白名单条件的敏感数据,将在指定有效期内不进行脱敏处理。
- 白名单条件不可以全部设置为全部。

- 配置基础信息。
参数 | 描述 |
---|
白名单名称 | 您可以输入白名单名称(输入字符限制1~30字,不可输入特殊字符)。 |
分级 | 您可以单击右侧下拉框选择内置或所有用户创建的分级。配置分类分级详情请参见:配置敏感数据分类分级。 |
分类 | 您可以单击右侧下拉框选择内置或所有用户创建的分类。 |
用户组 | 您可以选择在管理用户组中已配置的用户组,最多可选50个用户组。添加用户组至白名单后,用户组内的账号获取到的数据为脱敏前的原始数据。用户组管理配置详情请参见:配置用户组。 |
生效时间 | 您可以设置白名单生效时间。设置后,如果不在白名单脱敏时间的区间内,该用户在查询该敏感信息时将会继续脱敏。
说明 设置为短期后,表示从当前时间开始到指定天数内的数据将不进行脱敏。 |
- 高级设置。
参数 | 描述 |
---|
敏感字段类型 | 您可以右侧下拉框选择已创建的敏感数据类型(包括内置和所有用户创建的敏感数据类型)。 |
项目空间范围 | 您可以选择当前地域支持的引擎及引擎中的项目空间。不选择代表全部。
说明 项目空间仅支持选择当前账号有权限的项目空间。 |
数据表范围 | 您可以填写数据范围。不填写代表全部。
说明 支持 .*通配符,例如,.*name表示以name为后缀,private.*表示以private为前缀,多个数据之间请用英文逗号分隔,字符总长度不超过100。 |
字段范围 | 您可以填写字段范围,不填写代表全部。
说明 支持 .*通配符,,例如,.*name表示以name为后缀,private.*表示以private为前缀,多个字段之间请用英文逗号分隔,字符总长度不超过100。 |
- 单击保存完成白名单配置。
- 后续步骤:创建完成脱敏规则后,您在数据开发、数据预览、数据分析等页面查询数据时,查询的敏感数据(已配置脱敏规则)会经过脱敏。详情请参见脱敏场景。
创建脱敏规则:数据集成场景
- 在数据脱敏管理页面,选择脱敏场景为DataWorks数据集成脱敏(dataworks_data_integration_desense_code)。
- 新建数据脱敏规则。
- 在数据脱敏配置页面,单击右上方的新建脱敏规则。
- 在脱敏规则对话框中,选择需要设置的敏感数据类型、脱敏规则名称、脱敏方式、安全域和替换字符集。

- 配置基础信息
参数 | 描述 |
---|
敏感数据类型 |
说明 内置敏感数据类型:手机号、身份证号、银行卡号、邮箱_内置、IP、车牌号、 邮政编码、座机号、MAC地址、地址、姓名、公司名、民族、星座、性别、国籍。 |
脱敏规则名称 | 该文本框会自动代入用户填写的敏感数据类型(输入字符限制1~30字,包括:中文、英文、数字),您也可以在该敏感数据类型下新增脱敏规则名称,当与该租户下所有用户创建的脱敏规则出现重名时,提示规则名称重复。 |
- 配置脱敏方式与规则:DataWorks支持的脱敏方式包括假名、HASH和掩盖三种方式。
- 验证脱敏配置结果:您可以在样本数据文本框中输入脱敏前样本数据(输入字符限制0~100字符),单击脱敏验证,在脱敏效果中会返回脱敏后的数据。
- 单击确定。
- 在数据脱敏配置页面会新增一条脱敏规则,设置脱敏策略的状态为生效或失效。
设置成功后,单击相应脱敏规则后的操作列的图标,可以执行
删除脱敏规则、
修改脱敏规则和
查询详情的操作。
说明 - 生效的规则不允许执行删除和修改的操作。您需要先将规则失效,失效时判断是否有相关任务使用到该规则,请联系安全管理员二次确认;
- 失效状态下您可以修改脱敏方式,但是敏感数据类型和脱敏规则名称不可修改。
- 修改完成后开启生效,配置该脱敏规则的任务可继续脱敏。
- 后续步骤:创建数据集成脱敏规则后,您可以在创建实时同步单表数据任务的时候使用该脱敏规则。详情请参见配置数据脱敏。
附录:使用masking_v2方法实现MaxCompute底层脱敏
例如,待使用底层脱敏的项目:dsg_fin_demo。

- 申请网络白名单。
主账号填写
表单申请。
如果目标IP或域名不存在安全限制,审核通过后即可访问目标IP或域名,审核周期为3个工作日之内。
文案如下:
项目名称(待脱敏的项目名称) : dsg_fin_demo
日志地址 :
问题描述 : 对project打开域名白名单,以使udf运行的时候可以访问某些域名
区域:上海
要访问的域名: dsg-cn-shanghai.data.aliyun.com,dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com
端口:80,443
不同区域申请的域名不一样,如果您要申请的项目不在下面区域中,需向数据保护伞
提交工单进行申请。端口统一为80,443。
上海:dsg-cn-shanghai.data.aliyun.com,dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com
杭州:dsg-cn-hangzhou.data.aliyun.com,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com
北京:dsg-cn-beijing.data.aliyun.com,dsg-oss-dic-ori.oss-cn-beijing.aliyuncs.com
成都:dsg-cn-chengdu.data.aliyun.com,dsg-oss-dic-ori-cd.oss-cn-chengdu.aliyuncs.com
深圳售卖区: dsg-cn-shenzhen.data.aliyun.com,dsg-oss-dic-ori-sz.oss-cn-shenzhen.aliyuncs.com
华北政务云: dsg-cn-north-2-gov-1.data.aliyun.com,dsg-oss-dic-ori-north-2-gov-1.oss-cn-north-2-gov-1-internal.aliyuncs.com
上海金融云:dsg-cn-shanghai-finance-1.data.aliyun.com,dsg-oss-dic-ori-sh-fin-1.oss-cn-shanghai.aliyuncs.com
香港 :dsg-cn-hongkong.data.aliyun.com,dsg-oss-hongkong.oss-cn-hongkong.aliyuncs.com
新加坡: dsg-ap-southeast-1.data.aliyun.com,dsg-oss-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com
美西: dsg-us-west-1.data.aliyun.com,dsg-oss-us-west-1.oss-us-west-1.aliyuncs.com
马来西亚(吉隆坡):dsg-ap-southeast-3.data.aliyun.com,dsg-oss-ap-malaysia.oss-ap-southeast-3.aliyuncs.com
法兰克福: dsg-eu-central-1.data.aliyun.com,dsg-oss-eu-central-1.oss-eu-central-1-internal.aliyuncs.com
- 您可以向数据保护伞提交工单,申请项目使用底层脱敏功能。
- 进入数据保护伞脱敏配置界面,授权项目脱敏。
进入需要执行masking_v2函数的租户,在
数据脱敏管理页面,MaxCompute底层脱敏场景下面授权具体的项目。

- 查询sql显示脱敏成功。
- 关闭页面查询内容脱敏开关,执行查询sql。

查询语句(以上海区域为例):
set odps.output.field.formatter={"name":"aegis:masking_v2","param":["alias","index"]};
set odps.isolation.session.enable=true;
set odps.internet.access.list=dsg-cn-shanghai.data.aliyun.com:80,dsg-cn-shanghai.data.aliyun.com:443,dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com:80,dsg-cn-shanghai.data.aliyun.com:80,dsg-cn-shanghai.data.aliyun.com:443,dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com:443;
select * from table;
- 数据开发界面查询结果。
- odpscmd界面查询结果。

odpscmd的config配置文件中:
project_name=dsg_demo_bj_new
access_id=xxxx
access_key=yyy
end_point=http://service.odps.aliyun.com/api
# this endpoint is for office environment
#end_point=http://service-corp.odps.aliyun-inc.com/api
# this endpoint is for production environment
#end_point=http://service.odps.aliyun-inc.com/api
# this url is for odpscmd update
update_url=http://odps.alibaba-inc.com/official_downloads
# download sql results by instance tunnel
use_instance_tunnel=true
# the max records when download sql results by instance tunnel
instance_tunnel_max_record=10000
# use set.<key>=<value> to set flags when console launched
# e.g. set.odps.sql.select.output.format=csv
特别备注:odpscmd里面的config文件写入白名单的时候不同于ide,需要set.odps.internet.access.list
set.odps.internet.access.list=dsg-cn-shanghai.data.aliyun.com:80,dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com:80;
- 取消使用底层脱敏。
执行如下语句,取消maksing_v2的使用。
set odps.output.field.formatter=;
select * from table;
将不需要脱敏的项目,移动到左边未脱敏project,取消脱敏配置。
