创建数据脱敏规则

DataWorks支持多种脱敏场景,您需根据需要选择合适场景创建相应数据脱敏规则。本文为您介绍如何创建脱敏规则,并在DataWorks中进行脱敏查询。

背景信息

DataWorks的脱敏场景分为静态脱敏和动态脱敏:

  • 动态脱敏:包括数据开发/数据地图展示脱敏数据分析展示脱敏MaxCompute引擎层脱敏Hologres引擎层脱敏等场景。

  • 静态脱敏:指数据集成静态脱敏场景。

脱敏规则创建后默认为不生效的状态,您需将脱敏规则设置为生效,后续对应脱敏场景下才会根据规则对数据自动脱敏。

说明

前提条件

  • (可选,仅动态脱敏需要)已根据业务需要配置好敏感数据识别规则,便于后续创建数据脱敏规则时关联需要应用脱敏的字段,操作详情请参见敏感数据识别规则

  • (可选,仅动态脱敏需要)如果您希望通过白名单控制部分用户在指定时间段内不受脱敏规则影响,可查看未脱敏数据,您需要提前将白名单用户添加为用户组,操作详情请参见配置用户组

  • (可选,仅MaxCompute引擎层脱敏需要)如果您需要配置的脱敏场景为MaxCompute引擎层脱敏,即除DataWorks入口外,使用MaxCompute命令行/客户端(odpscmd)、Logview入口等查询数据时,对敏感数据根据脱敏规则进行脱敏,您需要申请MaxCompute的网络白名单,便于调用脱敏函数进行脱敏,详情请参见实践示例:MaxCompute底层脱敏使用方法

权限控制

  • 配置脱敏规则(新增、编辑、删除):

    • 租户管理员租户安全管理员可选择基于所有脱敏场景执行相关脱敏规则操作。

    • 空间管理员空间安全管理员仅支持选择自己有权限的脱敏场景执行相关脱敏规则操作。

  • 配置脱敏白名单(新增、编辑、删除):

    • 租户管理员、租户安全管理员可选择基于所有脱敏场景执行白名单配置操作。

    • 空间管理员空间安全管理员仅支持选择自己有权限的脱敏场景执行相关白名单配置操作。

如您需执行相关操作,则可被授予相关角色权限。授权详情,请参见空间级模块权限管控全局级模块权限控制

脱敏规则配置入口

  1. 进入数据开发页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据建模与开发 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 单击左上方的图标图标,选择全部产品 > 数据治理 > 数据保护伞,单击立即体验,进入数据保护伞。

    说明
    • 若阿里云主账号已授权,则直接进入数据保护伞的首页。

    • 若阿里云主账号未授权,则进入数据保护伞的授权页面。授权后才可使用保护伞的相关功能。

  3. 在左侧导航栏,单击规则配置 > 数据脱敏管理,进入数据脱敏管理页面。

  4. 在左侧选择指定脱敏场景后,单击右侧的+脱敏规则,基于该场景创建脱敏规则。

创建动态脱敏规则:数据开发/数据地图展示脱敏场景

  1. 选择脱敏场景。

    数据脱敏管理页面,选择脱敏场景数据开发/数据地图展示脱敏 > 默认场景,单击右侧+脱敏规则

  2. 新建数据脱敏规则。

    1. 新建脱敏规则对话框中,配置脱敏规则信息。新建脱敏规则

      1. 选择敏感字段并配置规则名称。

        参数

        描述

        敏感字段类型

        选择当前脱敏规则需要脱敏的字段。

        • 支持选择系统内置的敏感字段及在敏感数据识别中手动添加的敏感字段。手动添加敏感字段,详情请参见敏感数据识别规则

        • 若您之前已创建过相同场景的脱敏规则,DataWorks会过滤掉已被选择的敏感字段类型,避免同场景下对于同敏感字段的脱敏规则不一致。

        脱敏规则名称

        默认填写为所选的敏感字段类型,您也可自定义规则名称。规则名称必须唯一。

      2. 配置脱敏场景。

        选择该脱敏规则适用的脱敏场景。默认为步骤一所选的脱敏场景,您也可根据需要更改或添加多个场景。

      3. 配置脱敏方式。

        DataWorks支持保留格式加密掩盖HASH加密字符替换区间变换取整置空等脱敏方式,您可根据需要选择。

        保留格式加密(原假名脱敏算法)

        保留格式加密脱敏会将一个值替换成一个具有相同特征的脱敏信息。脱敏后数据和脱敏前数据的格式保持一致。涉及的脱敏规则配置参数如下。

        参数

        说明

        数据水印

        数据水印可提供数据溯源能力,发生数据泄露后,可帮您定位到可能的泄露源。您可根据需求选择是否开启数据水印

        说明

        仅DataWork企业版及以上版本支持使用数据水印功能。

        脱敏特征值

        不同脱敏特征值的脱敏策略规则不同,即相同的待脱敏数据在不同的脱敏特征值脱敏出来的结果信息不同。若脱敏特征值相同则脱敏后的数据也是相同的。

        例如,原始数据为a123:

        • 脱敏特征值设置为0时,脱敏成b124。

        • 脱敏特征值设置为1时,脱敏成c234。

        脱敏特征值的默认值为5,可选范围0~9。

        (可选)替换字符集

        当选择的敏感字段类型的识别规则为非内置时,您需要配置替换字符集。配置替换字符集后,后续遇到字符集中的字符,即会被替换为其他相同类型的字符。

        例如,敏感数据脱敏前是0~3的数字和a~d的字母组成,则脱敏后也会脱敏成在这个范围内的数字和字母。

        说明

        若需要脱敏的数据不符合字符集范围则不进行脱敏。

        掩盖

        掩盖脱敏是对部分信息进行掩盖,将对应位置上的字符用“*”替换,达到脱敏的效果。使用掩盖方式进行脱敏时需选择掩盖脱敏的方式,当前DataWorks为您内置了一些掩盖脱敏方式,也支持您自定义。

        参数

        说明

        推荐方式

        在下拉框选择推荐的掩盖脱敏方式,对于不同的脱敏字段可选择的掩盖方式不一致。

        例如,只展示前1位和最后1位只展示前3位和最后2位只展示前3位和最后4位等,您可根据界面下拉框提示进行选择。

        自定义

        自定义提供了更加灵活的设置方式,按从左至右顺序配置分段是否脱敏,以及需要脱敏(或者不脱敏)的字符长度。最多可添加10个分段,必须要有且仅有1个分段是剩余位数

        例如,脱敏前3位,剩余位数不脱敏。例子

        HASH加密

        使用HASH加密进行数据脱敏时,您需配置以下脱敏规则参数。

        参数

        说明

        数据水印

        数据水印可提供数据溯源能力,发生数据泄露后,可帮您定位到可能的泄露源。您可根据需求选择是否开启数据水印

        说明

        仅DataWork企业版及以上版本支持使用数据水印功能。

        加密算法

        包括MD5、SHA256、SHA512、SM3。

        加盐值

        设置各加密算法的盐值。默认选中5,可填值为0~9。

        说明

        盐值即插入的特定字符串。在密码学中,通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为加盐。

        字符替换

        字符替换的方式即是将指定位置的字符按照您选择的替换方式进行替换。涉及的脱敏规则配置参数如下。

        参数

        说明

        替换位置

        在下拉框可选择替换全部替换前3位替换后4位,同时支持您自定义替换位置。

        替换位置选择自定义时,用户可以自定义分段,并配置每个分段如何替换字符,最多可添加10个分段,必须要有且仅有1个分段是剩余位数自定义

        替换方式

        包括随机替换样本值替换固定值替换

        • 随机替换:随机替换对应位置上的字符,替换前后字符位数不变。

        • 样本值替换:您需要选择指定样本库,选择后用样本库中的值替换对应位置上的字符。

        • 固定值替换:您需要在替换值文本框中输入字符(字符不限,长度1~100,不可包含空字符),输入后用该替换值替换对应位置上的字符。

        区间替换

        区间变换仅适用对数值类型的数据进行脱敏。可将指定数值范围内的数据脱敏为固定的值,可添加多个区间范围,至少1个,至多10个。

        参数

        说明

        原始数值范围 [m,n)

        脱敏前数据的数值范围,有效值为大于等于0的数值,最多支持小数点后2位。

        数值脱敏后数值

        脱敏之后的值,有效值为大于等于0的数值,最多支持小数点后2位。

        取整

        参数

        说明

        原始数据类型

        仅支持选择数值类型。

        保留小数点位数

        有效值范围为0~5,剩余部分四舍五入。例如,原始数值3.1415,保留小数点位数2位,脱敏后为3.14。

        置空

        置空脱敏时,对应的敏感字段置为空字符串。

    2. 验证脱敏结果。

      您可在样本数据文本框中输入脱敏前样本数据(输入字符限制0~100字符),单击验证,在脱敏效果中会返回脱敏后的数据。

    3. 单击保存保存并生效,完成脱敏规则的创建。

创建完成脱敏规则后:

  • 动态脱敏场景下,您可设置脱敏规则生效的白名单,后续在指定时间范围内,白名单用户可查询未脱敏的数据,白名单添加操作详情请参见配置脱敏规则白名单(仅动态脱敏支持)

  • 刚创建完成的脱敏规则默认状态为不生效,您需要设置状态为生效后,脱敏规则才会在后续对应脱敏场景中被应用,设置状态操作详情请参见配置脱敏规则生效或失效

创建静态脱敏规则:数据集成静态脱敏场景

  1. 数据脱敏管理页面,选择脱敏场景数据集成静态脱敏 > 默认场景,单击右侧+脱敏规则

  2. 新建数据脱敏规则。

    1. 新建脱敏规则对话框中,配置规则信息。

      脱敏规则

      1. 选择敏感数据类型并配置规则名称。

        参数

        描述

        敏感数据类型

        • 选择已有:根据需要选择已创建的敏感数据类型(包括内置和自定义的敏感数据类型)。

        • 新增类型:输入敏感数据类型名称,名称必须唯一。

        说明

        内置敏感数据类型包括:手机号、身份证号、银行卡号、邮箱_内置、IP、车牌号、 邮政编码、座机号、MAC地址、地址、姓名、公司名、民族、星座、性别、国籍。

        脱敏规则名称

        默认填写为所选的敏感数据类型,您也可自定义规则名称。规则名称必须唯一。

      2. 配置脱敏方式。

        DataWorks支持假名哈希掩盖三种脱敏方式,您可根据需要选择。

        假名

        假名脱敏会将一个值替换成一个具有相同特征的脱敏信息。脱敏后数据和脱敏前数据的格式保持一致。

        • 当选择的敏感数据类型为内置敏感数据类型(手机号、身份证号、银行卡号、邮箱_内置、IP、车牌号、 邮政编码、座机号、MAC地址、地址、姓名、公司名)时,用户需要配置安全域

          安全域:可选范围0~9,不同安全域的脱敏策略规则不一致,即相同的待脱敏数据在不同的安全域脱敏出来的结果信息不一致。例如,原始数据为a123,安全域设置为0时,脱敏成b124,安全域设置为1时,脱敏成c234。原始数据相同时,如果安全域相同则脱敏后的数据也是相同的。

        • 当选择的敏感数据类型为非内置时,用户需要配置替换字符集

          替换字符集:遇到字符集中的字符,即会被替换为其他相同类型的字符,不支持中文,若需要脱敏的数据不符合字符集范围则不脱敏(可输入大写字母、小写字母、和数字,多个字符请用英文逗号隔开),例如,敏感数据脱敏前是0~3的数字和a~d的字母组成,那么脱敏后也会脱敏成在这个范围内的数字和字母。

        哈希

        可将原始数据加密成固定长度的数据。HASH脱敏方式需要选择安全域

        安全域:可选范围0~9,不同安全域的脱敏策略规则不一致,即相同的待脱敏数据在不同的安全域脱敏出来的结果信息不一致,如果安全域相同则脱敏后的数据也是相同的。

        例如,原始数据为a123:

        • 安全域设置为0时,脱敏成b124。

        • 安全域设置为1时,脱敏成c234。

        掩盖

        掩盖脱敏是对部分信息进行掩盖,将对应位置上的字符用“*”替换,达到脱敏的效果。

        • 推荐方式:下拉框可选择只展示前1位和最后1位只展示前3位和最后2位只展示前3位和最后4位

        • 自定义:自定义提供了更加灵活的设置方式,按从左至右顺序配置分段是否脱敏,以及需要脱敏(或者不脱敏)的字符长度。最多可添加10个分段,必须要有且仅有1个分段是剩余位数

          • 示例一:脱敏前3位,剩余位数不脱敏。掩盖1

          • 示例二:脱敏后3位,剩余位数不脱敏。掩盖2

    2. 验证脱敏结果。

      您可在样本数据文本框中输入脱敏前样本数据(输入字符限制0~100字符),单击脱敏验证,在脱敏效果中会返回脱敏后的数据。

    3. 单击确定,完成脱敏规则的创建。

创建完成脱敏规则后:

  • 刚创建完成的脱敏规则默认状态为不生效,您需要设置状态为生效后,脱敏规则才会在后续对应脱敏场景中被应用,设置状态操作详情请参见配置脱敏规则生效或失效

  • 创建数据集成脱敏规则后,您可以在创建实时同步单表数据任务的时候使用该脱敏规则。详情请参见配置数据脱敏

配置脱敏规则白名单(仅动态脱敏支持)

对于动态脱敏场景的脱敏规则,您可设置脱敏规则的白名单用户,后续在脱敏规则生效后,白名单用户的脱敏规则在指定时间内不生效,即可获得未脱敏的数据。

说明

新建白名单前,您需先将待添加至白名单的用户添加至一个用户组。配置用户组,详情请参见配置用户组

新增白名单的操作如下:

  1. 数据脱敏管理页面,单击白名单配置

  2. 单击右上方的+白名单

  3. 新建白名单对话框中,配置相关信息。

    说明
    • Hologres引擎层脱敏、数据集成静态脱敏场景不支持配置白名单。

    • 设置白名单生效时间后,对于符合白名单条件的敏感数据,将在指定有效期内不进行脱敏处理。

    配置白名单

    参数配置如下。

    参数

    描述

    敏感字段类型

    仅支持选择所选脱敏场景下的敏感字段类型。

    用户组范围

    选择已配置的用户组,最多可选50个用户组。添加用户组至白名单后,用户组内的账号获取到的数据为脱敏前的原始数据。配置用户组,详情请参见配置用户组

    生效时间

    根据需要设置白名单的生效时间。设置后,如果不在白名单脱敏时间的区间内,该用户在查询该敏感信息时将会继续脱敏。

    说明

    设置为短期后,表示从当前时间开始到指定天数内的数据将不进行脱敏。

  4. 单击保存,完成白名单配置。

配置脱敏规则生效或失效

数据脱敏规则页面,单击对应脱敏规则列表中的状态开关,即可设置脱敏策略的状态为生效失效

设置成功后,你可对相应脱敏规则执行编辑、删除、查询详情等操作。

说明
  • 生效的规则不允许执行删除编辑的操作。您需先将规则失效,失效时判断是否有相关任务使用到该规则,请联系安全管理员二次确认。

  • 失效状态下您可修改脱敏方式,但是敏感数据类型脱敏规则名称不可修改。

  • 修改完成后开启生效,配置该脱敏规则的任务可继续脱敏。

脱敏规则应用示例