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

前提条件

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

背景信息

静态脱敏功能在读取了云产品数据后,使用脱敏算法对敏感数据进行遮盖、加密或替换,并将脱敏后的数据保存到您选择的目标位置。在兼顾数据可用性的同时,也保护了数据的安全。SDDP支持的数据脱敏算法详情请参见SDDP支持的数据脱敏算法
说明 目前,SDDP支持对OSS文件、RDS表、MaxCompute表和PolarDB表进行静态脱敏。

目前,SDDP支持静态脱敏和动态脱敏。动态脱敏相对于静态脱敏更加灵活,可以直接对指定数据进行脱敏。但每次可进行动态脱敏的数据有大小限制(必须小于2 MB)。动态脱敏更多信息请参见动态脱敏

新增脱敏任务

  1. 登录敏感数据保护控制台
  2. 在左侧导航栏单击敏感数据脱敏 > 静态脱敏
  3. 静态脱敏页面单击新增脱敏任务
  4. 完成以下步骤创建自定义脱敏任务。
    1. 填写任务基本信息,并单击下一步
      说明 任务名称输入不受限制。
      任务基本信息
    2. 配置脱敏数据的来源文件信息(见下表),并单击下一步
      • RDS表 / MaxCompute表 / PolarDB表脱敏源参数配置。RDS或MaxCompute脱敏源配置
        脱敏源配置项 配置描述
        数据存储类型 选择脱敏文件的数据存储类型。此处选择RDS表 / MaxCompute表 / PolarDB表
        源产品 选择包含脱敏数据的文件来源的产品名称。可选RDSMaxComputePolarDB
        源数据库/项目名 必填项。选择包含脱敏数据的表所在的项目名称。
        源表名 必填项。选择脱敏数据所在的数据表名称。
        源分区 选填项。手动输入需要脱敏的数据在数据表中的分区名称,分区写法请参见分区写法参考

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

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

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

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

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

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

    状态会展示该脱敏任务执行成功或失败。执行失败的原因请参见脱敏任务执行失败排查

    任务进度和状态

分区写法参考

分区类型 分区写法 分区示例
后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+N/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分钟内的数据进行脱敏。

脱敏任务检索

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

脱敏任务执行失败排查

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