更新时间:2024-11-14 GMT+08:00

数据库水印注入

前提条件

约束条件

  • DWS数据只支持smallint,integer,bigint,float4,float8,varchar,text,char类型嵌入水印。
  • MRS-HIVE数据只支持smallint,int,long,float,double,string类型嵌入水印。
  • 嵌入水印单一列中的内容重复率不高于30%。
  • 数据库的内容字符编码格式为UTF-8。
  • 数据库注入列为非主键列。
  • 数据表中的数据行数建议1500行以上。

新建任务

  1. 登录管理控制台
  2. 单击左上角的,选择区域或项目。
  3. 在左侧导航树中,单击,选择安全与合规 > 数据安全中心
  4. 在左侧导航树中选择数据资产保护 > 数据库水印,进入“水印注入”界面。
  5. 单击“新建任务”,进入“基础信息配置”界面。

    图1 基础信息配置
    表1 基础信息配置参数说明

    参数

    说明

    任务名称

    请输入任务名称。

    只能由中文、英文字母、数字、下划线或中划线组成,且不能超过255个长度。

    水印标识

    请输入需要注入的水印标识符。

    嵌入方案

    单击下来框选择嵌入水印的方案,有如下方式:

    • 无损-伪列水印:伪造新的属性列,生成与该关系表的其他属性相关的伪列,不容易被攻击者察觉,然后将水印嵌入到伪造的新列中,降低对原数据的损坏。
    • 无损-伪行水印:基于数据各项属性的数据类型、数据格式、取值范围的约束条件生成多个伪造的行,然后将水印嵌入到伪造的新行中,降低对原数据的损坏。
    • 有损-列水印:在列数据直接添加水印,会对数据造成一定的修改或者损坏。
    说明:

    等级越高,水印信息编码位数越长,溯源时误码率越低,需注意高纠错等级需要更大的数据量来保证信息的嵌入完整性,默认为1。

  6. 单击“下一步”,进入“源目标端配置”界面,请按照参数列表2配置相关参数。

    • 无损-伪列水印:无损添加水印,创建新的列。
      图2 伪列水印
      表2 伪列水印源目标端配置参数

      参数

      说明

      数据源类型

      单击下拉框选择“数据源类型”

      • 当嵌入方案选择“有损-列水印”时,支持的数据源类型有:
        • DWS
        • MRS_HIVE
      • 当嵌入方案选择“无损-伪列水印”“无损-伪行水印”时,支持的数据类型有:
        • DWS
        • PostgreSQL
        • MySQL

      数据库实例

      单击下拉框选择对应的“数据库实例”。如果没有可用数据库实例,请参考授权数据库资产授权大数据资产章节进行授权。

      数据库

      单击下拉框选择对应的“数据库”

      模式

      “数据库类型”“DWS”“PostgreSQL”时显示该参数。单击选择对应的“模式”

      源表名

      单击选择对应的“源表名”

      列名称

      只能由字母、数字、下划线或中划线组成,且不能超过255个字符长度。

      列数据类型

      单击选择嵌入伪列的数据类型。

      • 数字类型
      • 字符串
      • 日期类型

      样例

      选择“设置字段规则”后显示嵌入伪列数据样例。

      设置字段规则

      • “列数据类型”选择“数字类型”时,该参数为随机数,可以指定随机数的范围和随机数的精度,如果未指定范围和精度将随机生成伪造数据。
      • “列数据类型”选择“字符串”时,可以单击下拉框选择人名、身份证号、手机号等类型的伪造数据。
      • “列数据类型”选择“日期类型”时,可以指定日期范围,如果没有指定日期范围,将随机生成伪造数据。

      增加伪列

      可单击“增加伪列”添加两列伪列数据。

      目标表名

      请输入目标表名,只能由字母、数字、下划线或中划线组成,且不能超过255个字符长度。

    • 无损-伪行水印:无损添加水印,复制新的行数据注入水印。
      图3 伪行水印
      表3 伪行水印源目标端配置参数

      参数

      说明

      取值样例

      数据源类型

      单击下拉框选择“数据源类型”,支持的数据源类型有:

      • DWS
      • PostgreSQL
      • MySQL

      DWS

      数据库实例

      单击下拉框选择对应的“数据库实例”。如果没有可用数据库实例,请参考授权数据库资产授权大数据资产章节进行授权。

      DWS-dsc-Test

      数据库

      单击下拉框选择对应的“数据库”

      gaussdb

      模式

      “数据库类型”“DWS”“PostgreSQL”时显示该参数。单击选择对应的“模式”

      pg_catalog

      源表名

      单击选择对应的源数据表名。

      pg_proc

      伪行跨行数

      请输入创建伪行数据的行数,输入值为大于1的有效整数。

      10

      目标表名

      请输入嵌入水印后的数据存储表名称,只能由字母、数字、下划线或中划线组成,且不能超过255个字符长度。

      Test_Table

    • 有损-列水印:在列数据直接添加水印标识。
      图4 有损列水印
      表4 有损列水印源目标端配置参数

      参数

      说明

      取值样例

      数据源类型

      单击下拉框选择“数据源类型”,支持的数据源类型有:

      • DWS
      • MRS-HIVE

      DWS

      数据库实例

      单击下拉框选择对应的“数据库实例”。如果没有可用数据库实例,请参考授权数据库资产授权大数据资产章节进行授权。

      DWS-dsc-Test

      数据库

      单击下拉框选择对应的“数据库”

      gaussdb

      模式

      “数据库类型”“DWS”时显示该参数。单击选择对应的“模式”

      pg_catalog

      源表名

      单击选择对应的“源表名”

      pg_proc

      水印嵌入列

      单击选择水印嵌入的列数据,可多选。

      说明:
      • 源数据库字符集需使用UTF-8。
      • 嵌入水印单一列中的内容重复率不高于30%。

      -

      目标表名

      请输入嵌入水印后的数据存储表名称,只能由字母、数字、下划线或中划线组成,且不能超过255个字符长度。

      Test_Table

  7. 单击“下一步”,进入“调度信息配置”界面。

    图5 调度信息配置
    • “调度参数”“单次”时,可以选择“立即执行”,也可以选择“定时启动”在某一时间启动嵌入水印任务。
    • “调度参数”“每日”“每周”“每月”时,分别选择在某日某一时间、某周某一时间、每月某一时间启动嵌入水印任务。

  8. 单击“完成”,水印嵌入任务创建完成。

运行任务

  1. 登录管理控制台
  2. 单击左上角的,选择区域或项目。
  3. 在左侧导航树中,单击,选择安全与合规 > 数据安全中心
  4. 在左侧导航树中选择数据资产保护 > 数据库水印,进入“水印注入”界面。

    图6 数据库水印注入

  5. 在目标任务操作列单击更多 > 运行,该任务开始运行。

开启任务

当水印任务为定时任务时显示该参数。

  1. 登录管理控制台
  2. 单击左上角的,选择区域或项目。
  3. 在左侧导航树中,单击,选择安全与合规 > 数据安全中心
  4. 在左侧导航树中选择数据资产保护 > 数据库水印,进入“水印注入”界面。

    图7 数据库水印注入

  5. 在目标任务操作列单击更多 > 开启任务开启该任务。

关闭任务

当水印任务为定时任务时显示该参数。

  1. 登录管理控制台
  2. 单击左上角的,选择区域或项目。
  3. 在左侧导航树中,单击,选择安全与合规 > 数据安全中心
  4. 在左侧导航树中选择数据资产保护 > 数据库水印,进入“水印注入”界面。

    图8 数据库水印注入

  5. 在目标任务操作列单击更多 > 关闭任务关闭该任务。

编辑和删除嵌入水印任务

运行中的嵌入水印任务不支持编辑或删除。

  • 在目标任务“操作”列单击“编辑”,可对嵌入水印任务配置信息进行修改。
    图9 编辑嵌入水印任务
  • 在目标任务“操作”列单击“删除”,可删除该嵌入水印任务。也可以选择多条任务,单击列表左上角的批量删除,删除多条任务。
    图10 删除嵌入水印任务

    删除操作无法恢复,请谨慎操作。