数据安全中心支持对敏感数据进行脱敏,保护您项目中的敏感数据。本文介绍如何新增脱敏任务、检索脱敏任务。

背景信息

DSC支持静态脱敏和动态脱敏。
  • 动态脱敏相对于静态脱敏更加灵活,可以直接对指定数据进行脱敏。但每次可进行动态脱敏的数据有大小限制(必须小于2 MB)。动态脱敏更多信息,请参见动态脱敏
  • 静态脱敏功能使用脱敏算法对敏感数据进行遮盖、加密或替换,并将脱敏后的数据保存到您选择的目标位置。更多信息,请参见支持的数据脱敏算法
说明 目前,DSC支持对OSS文件、RDS表、MaxCompute表、PolarDB表、OceanBase表等进行静态脱敏,具体请参见支持的数据库类型

前提条件

在对敏感数据进行脱敏前,需确认已完成了DSC对数据所在项目、库或文件桶的访问授权。访问授权具体操作,请参见数据资产授权

新增脱敏任务

  1. 登录数据安全中心控制台
  2. 在左侧导航栏,选择数据脱敏 > 静态脱敏
  3. 静态脱敏页面单击新增脱敏任务
  4. 创建自定义脱敏任务。
    1. 填写任务基本信息,并单击下一步
      说明 任务名称输入不受限制。
    2. 配置脱敏数据的来源文件信息(见下表),并单击下一步
      • RDS表/PolarDB-X表/MaxCompute表/PolarDB表/OceanBase表/ADB-MySQL表脱敏源参数配置。
        脱敏源配置项 是否必填 配置描述
        数据存储类型 选择脱敏文件的数据存储类型。支持的存储类型包括:RDS表、PolarDB-X表、MaxCompute表、PolarDB表、OceanBase表和ADB-MySQL表。此参数选择RDS表/PolarDB-X表/MaxCompute表/PolarDB表/OceanBase表/ADB-MySQL表
        源产品 选择包含脱敏数据的文件来源的产品名称。支持选择的产品包括:RDSPolarDB-XOceanBaseMaxComputeADB-MySQLPolarDB
        源数据库/项目名 选择包含脱敏数据的表所在的项目名称。
        源表名 选择脱敏数据所在的数据表名称。
        源分区 输入需要脱敏的数据在数据表中的分区名称。

        分区是指在创建MaxCompute数据表时指定的分区空间,用于限定不同区域,方便快速和高效地对指定内容进行查询。更多信息,请参见分区

        说明
        • 源产品选择RDS和PolarDB时,无需配置源分区
        • 源分区为选填项,不填写则代表会对整个表中的敏感数据进行脱敏。
        抽样SQL 输入SQL语句配置脱敏数据的范围。不填写则进行全表脱敏。
        说明 当您选择的源产品为MaxCompute和PolarDB时,无需配置抽样SQL
      • OSS文件脱敏源参数配置。
        脱敏源配置项 是否必填 配置描述
        数据存储类型 选择脱敏文件的数据存储类型。此处选择OSS文件
        文件源 选择OSS文件的来源,支持本地上传OSS Bucket
        说明 本地上传仅支持结构化TXT、CSV、XLSX和XLS格式文件。
        源文件所在OSS Bucket 在下拉列表中选择源文件所在的OSS Bucket。您也可输入关键字进行搜索并选择源文件所在的OSS Bucket。
        源文件名称 输入源文件的名称。源文件名称需要包含后缀,仅支持结构化TXT、CSV、XLSX和XLS格式。

        如果需要对多个同类型的源文件进行批量脱敏,您可以单击右侧开启通配按钮。

        说明 开启通配后,您可以通过使用星号(*)的方式指定一批源文件进行批量脱敏,目前仅支持对文件名前缀进行匹配,例如test*.xls。设置批量脱敏后,系统会采用相同的规则进行脱敏,请务必保证这批文件有相同的列结构。
        源文件描述 输入对OSS源文件的描述。当文件源选择OSS Bucket时,无需配置该参数。
        分隔符选择 对于CSVTXT类型的文件,需要指定列分隔符,请根据源文件类型进行选择。支持选择以下类型分隔符:
        • 分号“;”(macOS、Linux默认)
        • 逗号“,”(Windows默认)
        表格包含标题行 根据需要选择待脱敏表格是否包含标题行。
    3. 配置脱敏算法,并单击下一步

      在脱敏算法配置列表中,定位到需要脱敏的源字段,打开脱敏开关,选择需要的脱敏算法。更多信息,请参见脱敏算法

      说明
      • 单击脱敏算法后的参数查看修改,可查看或修改已选择算法的规则。
      • 脱敏开关关闭时,对应的脱敏算法不生效。
    4. 可选:开启数据水印开关,并单击下一步
      数据水印支持配置水印字段、水印算法和添加自定义备注水印信息,帮您实现泄漏数据的溯源。

      例如:员工A需要导出一份订单数据,管理员将“某年某月某日导出XX数据给员工A”设为水印信息并在导出时填加到数据里。当数据出现泄露时,管理员可以在获取到泄露的数据后,通过提取水印,将数据中的备注信息提取出来,就可以定位到泄漏数据的是员工A。

      水印使用限制详情,请参见水印使用限制

    5. 设置敏感数据要移动的目标位置,测试写入权限,并单击下一步
    6. 确认处理逻辑。
      目标位置配置项 是否必填 配置项描述
      触发方式选择 触发方式表示执行脱敏任务的方式。支持以下方式 :
      • 仅人工:需要在静态脱敏配置页面,通过手动的方式启动脱敏任务。
      • 仅定时触发:通过设置的时间点定时自动执行脱敏任务,可选每小时、每天、每月固定时间点自动触发任务。
      • 人工+定时触发:选择该方式,支持您手动单击启动来执行脱敏任务,和系统根据配置的定时时间自动执行脱敏任务(支持每小时、每天、每月、每周固定时间点自动触发任务)。
      开启增量脱敏 您可根据需要选择是否开启增量脱敏。增量脱敏是指每次脱敏数据为上次脱敏任务完成后新增的数据的脱敏方式。您需要选择一个源数据中随着时间递增的字段作为增量列,例如创建时间、自增ID(数据库自带的自增列)等。
      说明 当前仅有RDS数据支持增量脱敏。
      分片字段 DSC执行静态脱敏时会对源数据进行字段分片,通过并发处理的方式提高脱敏效率。您可根据需要选择分片字段,支持选择多个分片字段。
      说明
      • 当前仅有RDS数据支持增量脱敏,建议使用主键或者唯一索引作为分片字段。
      • 分片字段选择框内如果未选取任何字段,DSC将会默认使用主键作为分片字段,对源数据进行脱敏处理。如果您的源数据中没有主键,您必须选择分片字段,否则会导致脱敏任务失败。
      • 过多的分片字段会影响查询性能以及数据准确性,请谨慎选择。
      表名冲突解决方式 表名称存在冲突的情况下处理的方式。可选项:
      • 删除目标表建新同名表
      • 在目标表增加新数据。建议选择该选项。
      行冲突解决方式 表中的行内容存在冲突的情况下处理的方式。可选项:
      • 保留目标表冲突行,丢弃新插入数据。建议选择该选项。
      • 删除目标表冲突行,新插入新增数据
    7. 单击提交,完成脱敏任务的创建。
      静态脱敏页面的脱敏任务配置页签中可查看到已创建的脱敏任务。
  5. 执行脱敏任务。
    脱敏任务创建完成后,在脱敏任务列表中操作列下单击开启图标开启任务,并单击启动,开始执行脱敏任务。执行脱敏成功
    说明 DSC支持修改和删除已创建的脱敏任务,不支持修改和删除在执行中的脱敏任务。
  6. 查看脱敏任务的执行进度状态
    脱敏任务启动后,单击任务执行状态页签,在任务执行状态列表上方单击任务执行检索,更新任务执行情况。
    说明 未单击任务执行检索的情况下,在任务执行状态列表当前页中您可能无法看到该任务执行记录。

    任务执行状态列表中的状态列会展示该脱敏任务执行成功或失败。

    任务进度和状态

脱敏任务执行失败排查

脱敏任务执行失败后,参考以下内容查看失败原因。

执行失败错误提示 错误原因
找不到脱敏任务,有可能是因为任务已经被删除或者关闭 脱敏任务可能被删除或被关闭(脱敏任务操作列下的开关为关闭状态)。
定时任务的调度周期设置有误 每日具体任务执行时间输入有误。
找不到脱敏源实例 脱敏源表实例不存在。
找不到脱敏目标实例 可能的原因有实例授权取消或目标实例删除等。
找不到脱敏源表 可能的原因有实例授权取消、源表删除等。
脱敏算法参数设置有误 算法参数填写错误。
源表列为空 源分区字段的列没有数据。
写入目标表失败 目标位置配置时写入目标表失败。
从源表查询失败 源表中未查询到该数据。
创建目标表失败 目标位置中可能不存在该表格。
找不到主键 RDS源表缺少主键。有关主键的更多信息,请参见RDS MySQL查看表的主键字段的方法
任务配置的MaxCompute分区字段有误 创建脱敏任务时,在脱敏源配置项中填写的源分区或者目标位置配置项填写的目标分区有误。

分区写法参考

分区类型 分区写法 分区示例
后N周 自定义分区字段名称=$[yyyymmdd+7*N] time=$[20190710+7*1],表示对2019年7月10日后一周的数据进行脱敏。
前N周 自定义分区字段名称=$[yyyymmdd-7*N] time=$[20190710-7*3],表示对2019年7月10日前的3周时间内的数据进行脱敏。
后N天 自定义分区字段名称=$[yyyymmdd+N] time=$[20190710+2],表示对2019年7月10日后的2天内的数据进行脱敏。
前N天 自定义分区字段名称=$[yyyymmdd-N] time=$[20190710-5],表示对2019年7月10日前的5天内的数据进行脱敏。
后N小时 自定义分区字段名称=$[hh24mi:ss+N/24] time=$[0924mi:ss+2/24],表示对9点以后的2小时的数据进行脱敏。
前N小时 自定义分区字段名称=$[hh24mi:ss-N/24] time=$[0924mi:ss-1/24],表示对9点前的1个小时内的数据进行脱敏。
后N分钟 自定义分区字段名称=$[hh24mi:ss+N/24/60] time=$[0924mi:ss+2/24/60],表示对9点过后的2分钟内的数据进行脱敏。
前N分钟 自定义分区字段名称=$[hh24mi:ss-N/24/60] time=$[0924mi:ss-2/24/60],表示对9点的前2分钟内的数据进行脱敏。

脱敏任务检索

您可在静态脱敏页面,对已创建的脱敏任务进行查询。在任务列表中单击任务编号,可展开任务详情页面信息。查看任务详情
如需对某个已创建的任务进行修改,您可将该任务的任务编号复制到任务配置列表搜索栏中,并单击脱敏任务检索,筛选出该脱敏任务进行修改。修改任务