数据库水印注入
前提条件
- 已完成云资源委托授权,具体请参见云资产委托授权/停止授权。
- 有已授权的RDS/DWS数据库,具体请参见授权数据库资产。
- 有已授权的MRS数据库,具体请参见授权大数据资产。
- 已进行DWS和MRS_Hive权限配置,(可选)配置DWS和MRS Hive。
约束条件
- DWS数据只支持smallint,integer,bigint,float4,float8,varchar,text,char类型嵌入水印。
- MRS-HIVE数据只支持smallint,int,long,float,double,string类型嵌入水印。
- 嵌入水印单一列中的内容重复率不高于30%。
- 数据库的内容字符编码格式为UTF-8。
- 数据库注入列为非主键列。
- 数据表中的数据行数建议1500行以上。
新建任务
- 登录管理控制台。
- 单击左上角的,选择区域或项目。
- 在左侧导航树中,单击,选择 。
- 在左侧导航树中选择“水印注入”界面。 ,进入
- 单击“新建任务”,进入“基础信息配置”界面。
图1 基础信息配置
表1 基础信息配置参数说明 参数
说明
任务名称
请输入任务名称。
只能由中文、英文字母、数字、下划线或中划线组成,且不能超过255个长度。
水印标识
请输入需要注入的水印标识符。
嵌入方案
单击下来框选择嵌入水印的方案,有如下方式:
- 无损-伪列水印:伪造新的属性列,生成与该关系表的其他属性相关的伪列,不容易被攻击者察觉,然后将水印嵌入到伪造的新列中,降低对原数据的损坏。
- 无损-伪行水印:基于数据各项属性的数据类型、数据格式、取值范围的约束条件生成多个伪造的行,然后将水印嵌入到伪造的新行中,降低对原数据的损坏。
- 有损-列水印:在列数据直接添加水印,会对数据造成一定的修改或者损坏。
说明:等级越高,水印信息编码位数越长,溯源时误码率越低,需注意高纠错等级需要更大的数据量来保证信息的嵌入完整性,默认为1。
- 单击“下一步”,进入“源目标端配置”界面,请按照参数列表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
- 无损-伪列水印:无损添加水印,创建新的列。
- 单击“下一步”,进入“调度信息配置”界面。
图5 调度信息配置
- “调度参数”为“单次”时,可以选择“立即执行”,也可以选择“定时启动”在某一时间启动嵌入水印任务。
- “调度参数”为“每日”、“每周”、“每月”时,分别选择在某日某一时间、某周某一时间、每月某一时间启动嵌入水印任务。
- 单击“完成”,水印嵌入任务创建完成。
运行任务
- 登录管理控制台。
- 单击左上角的,选择区域或项目。
- 在左侧导航树中,单击,选择 。
- 在左侧导航树中选择“水印注入”界面。
,进入图6 数据库水印注入
- 在目标任务操作列单击 ,该任务开始运行。
开启任务
当水印任务为定时任务时显示该参数。
- 登录管理控制台。
- 单击左上角的,选择区域或项目。
- 在左侧导航树中,单击,选择 。
- 在左侧导航树中选择“水印注入”界面。
,进入图7 数据库水印注入
- 在目标任务操作列单击 开启该任务。
关闭任务
当水印任务为定时任务时显示该参数。
- 登录管理控制台。
- 单击左上角的,选择区域或项目。
- 在左侧导航树中,单击,选择 。
- 在左侧导航树中选择“水印注入”界面。
,进入图8 数据库水印注入
- 在目标任务操作列单击 关闭该任务。
编辑和删除嵌入水印任务
运行中的嵌入水印任务不支持编辑或删除。
- 在目标任务“操作”列单击“编辑”,可对嵌入水印任务配置信息进行修改。
图9 编辑嵌入水印任务
- 在目标任务“操作”列单击“删除”,可删除该嵌入水印任务。也可以选择多条任务,单击列表左上角的批量删除,删除多条任务。
图10 删除嵌入水印任务
删除操作无法恢复,请谨慎操作。