
# 嵌入数据水印
本章主要介绍如何进行数据水印嵌入。数据水印一般有如下场景：
- 规范数据外发流程 实现对企业内部人员数据外发进行有效流程化管理，非授权用户在数据外发前需审批，审批通过后采取数据水印技术生成可外发数据文件。
  
- 数据版权保护 通过在关系数据库中嵌入代表所有权的水印信息，可以将数据库与其拥有者联系起来，从而实现数据的版权保护。
  
- 对泄露数据进行快速溯源 通过对泄露数据文件解封，根据数据文件的完整度和水印信息痕迹来检测水印是否存在，快速识别水印标记信息（数据源地址、分发单位、负责人、分发时间等），从而对安全事件精准定位追责。
  
#### 数据水印使用流程
您可以通过[图1]来了解。
图1水印使用流程   
![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001682269698.png "点击放大")
#### 约束与限制
- 当前数据水印任务仅支持MRS Hive和MRS Doris数据源。
- 主键不支持嵌入水印。
- 数值整型字段嵌入水印可能会出现数据被修改的情况，请选择可以接受值发生改变的字段嵌入水印。
- 数据水印嵌入任务的数据集范围选择为增量时，需选择时间字段类型Timestamp、Date字段类型来确定增量范围。
- MRS Doris数据源仅支持在字符串类型字段嵌入水印，包含Varchar、Text、String等，请确保待嵌入水印的表中包含字符串类型字段。
- MRS Doris数据水印任务除了需要MRS Doris数据源，还需要额外准备包含Hadoop、Spark和Yarn组件的MRS集群，用于运行数据水印任务。
 
#### 前提条件
已创建源端数据源类型为MapReduce服务（MRS Hive）或MRS Doris的数据连接，请参考[创建DataArts Studio数据连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1299.html)。
 #### 创建数据水印嵌入任务
1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
   
   详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
   
   
2. 在DataArts Studio控制台首页，选择对应工作空间的"数据安全"模块，进入数据安全页面。
3. 单击左侧导航树中的"隐私保护管理 \> 数据水印嵌入"，进入数据水印嵌入页面，在页面上方单击"新建"。 
   图2创建数据水印嵌入任务   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002547671641.png "点击放大")
   
   
   
4. 在弹出的创建任务页面输入基本信息，参数配置请参考[表1]。
   
    表1基本信息参数配置 
   | 参数名      | 参数描述                                                                                                                                                                                                                           |
   |:---|:---|
   | \*任务名称   | 嵌入水印任务的名称，只能包含英文字母、数字、中文字符、下划线或中划线，且长度为1\~64个字符。 为便于水印嵌入任务管理，建议名称中标明要嵌入水印的对象和水印标识。                                                                       |
   | 描述       | 为更好地识别嵌入水印任务，此处加以描述信息。                                                                                                                                                                                                         |
   | \*水印标识   | 系统会将水印标识嵌入到数据表中，标识长度不超过16个字符即可。                                                                                                                                                                                                |
   | \*纠错等级   | 等级越高，水印信息编码位数越长，溯源时误码率越低。需注意高纠错等级需要更大的数据量来保证信息的嵌入完整性。默认为1。                                                                                                                                                                     |
   | \*水印版本   | V1版本：嵌入水印时依赖主键列，嵌入速度快。若主键遭受强攻击，溯源一定概率失败。 V2版本：嵌入水印时不依赖主键，只与嵌入列相关，嵌入速度慢，鲁棒性增强。                                                                            |
   | \*水印嵌入方式 | 选择水印嵌入的方式： - 原始列水印：对数据表原始列嵌入水印。数值整型列嵌入水印可能会出现数据被修改的情况。   |
      
   图3基本信息配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002265990320.png "点击放大")
   
   
   
5. 单击"下一步"进行源、目标端配置，参数配置请参考[表2]。
   
    表2源、目标端参数配置 
   | 参数名            | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | **源端配置**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ||
   | \*数据源类型        | 目前只支持MRS Hive和MRS Doris。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | \*数据连接         | 选择已创建的数据连接。若未创建请参考[创建DataArts Studio数据连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1299.html)新建连接。                                                                                                                                                                                                                                                                                                                                                                                      |
   | \*Http/Https端口 | MRS Doris数据源类型所需参数。获取方式：1.登录DORIS集群的MRS FusionInsight Manager。2.选择"集群 \> 服务 \> Doris \> 配置。3.如果集群开启了Kerberos认证，则在此处填写https_port的值，否则填写http_port的值。                                                                                                                                                                                                                                                                                                                                                                         |
   | \*数据库          | 选择待嵌入水印的数据库和数据表。 - 单击数据库后的"设置"，设置待嵌入水印的数据库和数据表。  - 单击"清除"，可对已选择的数据库和数据表进行修改。   |
   | \*源表名          | 选择待嵌入水印的数据库和数据表。 - 单击数据库后的"设置"，设置待嵌入水印的数据库和数据表。  - 单击"清除"，可对已选择的数据库和数据表进行修改。   |
   | \*水印嵌入列        | 下拉选择常见的字段类型作为嵌入列。如数值型、字符型。 注意：当选择水印版本为V1时，不支持选取主键列作为嵌入列。                                                                                                                                                                                                                                                                                                                                                                                            |
   | \*数据集范围        | 只有使用时间字段timestamp、Date来确定增量范围时，才可以选择增量模式。 一般而言，全量模式下数据水印嵌入任务使用单次调度，增量模式下使用周期调度。                                                                                                                                                                                                                                                                                                                                                                      |
   | \*指定时间字段       | 增量模式下，选择时间字段timestamp、Date来确定增量范围。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | **目标端配置**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ||
   | \*数据源类型        | 目前只支持MRS Hive和MRS Doris，与源端类型需保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | \*数据连接         | 选择已创建的数据连接。若未创建请参考[创建DataArts Studio数据连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1299.html)新建连接。                                                                                                                                                                                                                                                                                                                                                                                      |
   | \*Http/Https端口 | MRS Doris数据源类型所需参数。获取方式：1.登录DORIS集群的MRS FusionInsight Manager。2.选择"集群 \> 服务 \> Doris \> 配置。3.如果集群开启了Kerberos认证，则在此处填写https_port的值，否则填写http_port的值。                                                                                                                                                                                                                                                                                                                                                                         |
   | \*数据库          | 下拉选择存放水印表的数据库。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | \*目标表名         | 用户手动输入，不能与目标端数据库表名重复。当输入的表名不存在时会创建该表。 输入请单击"测试"，否则将无法进行下一步操作。                                                                                                                                                                                                                                                                                                                                                                                        |
   | **计算引擎**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ||
   | \*计算引擎         | 数据源类型为MRS Doris时，下拉选择计算引擎。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | **任务提交配置**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ||
   | \*任务提交方式       | 执行引擎为MRS引擎时，需要配置任务提交方式。默认为MRS-OPEN-API方式，可选择MRS-JOB-GATEWAY方式。                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | \*Spark连接      | 任务提交方式为MRS-JOB-GATEWAY时，需要选择一个Spark连接集群。 在Hive水印嵌入场景下，Spark连接所在集群需要与源端集群一致。 在Doris水印嵌入场景下，Spark连接所在集群需要与选择的计算引擎一致。                                                                                                                                                                                                                                                                                                                        |
      
   图4源、目标端配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001682429454.png "点击放大")
   
   
   
6. 单击"下一步"，进行调度信息配置。 
   - 数据集范围为全量模式时，仅支持单次调度。
   
   - 数据集范围为增量模式时，支持单次调度和周期调度。
   
   
   当选择为周期调度时，参数配置参考[表3]。
    表3配置周期调度参数 
   | 参数名    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|
   | \*调度日期 | 调度任务的生效时间段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | \*调度周期 | 选择调度任务的执行周期，并配置相关参数。 - 分：选择调度开始时间和结束时间，配置间隔的分钟时长。  - 小时：选择调度开始时间和结束时间，配置间隔的小时时长。  - 天：配置每日调度时间。  - 周：选择星期几启动调度，配置调度具体时间。  - 月：选择几号启动调度，配置调度具体时间。   例如：选择调度周期是周，选择具体时间为15:52，时间选择为星期二。则在调度日期范围内，每周二的15点52分会执行任务。 |
   | 立即启动   | 勾选复选框，则表示立即启动此调度任务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
      
   图5调度信息配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001730388625.png "点击放大")
   
   
   
7. 单击"确定"，完成数据水印嵌入任务创建。
 
#### 相关操作
- 编辑任务：在数据水印嵌入页面，单击对应任务操作栏中的"编辑"，即可编辑数据水印嵌入任务。 运行状态为正在"执行中"的任务不允许被编辑。
  
- 删除任务：在数据水印嵌入页面，单击对应任务操作栏中的"更多 \> 删除"，即可删除任务。当需要批量删除时，可以在勾选任务后，在任务列表上方单击"批量删除"。 运行状态为正在"执行中"的任务不允许被删除。
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
  删除操作无法撤销，请谨慎操作。
  
- 运行或调度任务：在数据水印嵌入页面，单击对应任务操作栏中的"运行"或"更多 \> 启动调度"，运行或调度任务。 您可以通过调度周期区分该任务是单次调度还是周期调度任务。
  
- 查看运行实例日志：在数据水印嵌入页面，找到需要查看实例的任务，单击![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001682429462.png)展开，即可找到运行实例。随后单击"查看日志"，查看运行实例日志。
  运行失败可通过日志排查失败原因，问题修正后尝试重新运行。如果仍运行失败，请联系技术支持人员协助处理。
  
 
