# 发现规则管理
发现规则：用于敏感数据发现任务，通过项目中的敏感数据发现任务执行，将特定的字段标记成一个特定的敏感数据域（Data Domain）。
一个数据域下有一个或者多个发现规则。用于相同数据域不同数据特征的敏感数据的发现，以提升发现的准确率。例如：姓名数据域下有中文姓名发现规则；英文姓名发现规则；中英文姓名发现规则等。
数据域下有一个默认发现规则，作为最常用的发现规则。
如何管理敏感数据发现任务请参见[导入导出](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0020.html)。
敏感数据发现支持根据数据和元数据（字段名称等）进行发现。
敏感数据发现方法，支持通过以下三种方法，平台中也叫"发现规则类型"，进行实现，发现方法的说明如[表1]所示。
 表1敏感数据发现方法 
| 序号 | 发现方法  | 详细描述                                                                                                                                             | 适用场景                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| 1  | 正则表达式 | 通过书写正则表达式对敏感数据域进行发现。 本平台支持的正则表达式语法请参见[正则表达式语法](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0178.html)。  | 特点：适合规则不太复杂，通过正则表达式书写简单的数据域。 正则表达式性能较低。                                                                                                                                     |
| 2  | 自定义方法 | 这里的自定义方法，指通过自定义Java类的方法。 说明： 数据库加密产品的云版本为了避免Java类注入风险，暂时不支持自行上传Java类。                                              | - 适合发现逻辑复杂，要求发现精度高的场景。  - 基于安全目的，云产品只能使用内置的Java类方法。                        |
| 3  | 字典发现  | 通过内置的知识库辅助进行发现。 系统有哪些内置的知识库以及知识库如何进行管理，请参见[知识库](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0167.html)。 | 适用于数据全部或者部分是简单枚举型的数据的发现，例如： - 股票代码发现  - 姓名发现   |
   
#### 前提条件
在新增发现规则前，需要先创建其对应的需要发现的数据域，如何管理数据域请参见[数据域管理](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0155.html)。
#### 新增发现规则
1. 使用系统管理员sysadmin账号[登录数据库加密系统](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0004.html)。
2. 在左侧导航树中选择"规则管理 \> 发现规则"。
3. 选择需要添加发现规则的数据域，单击对应数据域后的加号图标新增发现规则，如[图1]所示。
   
   图1新增发现规则   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002759321815.png "点击放大")
   
   
4. 系统弹出新增发现规则窗口，如[图2]所示。
   
   系统支持三种不同的发现规则类型，包括：
   - 正则表达式方法：适合可以使用正则表达式可以描述数据特征的数据域，例如：电子邮箱。
     本系统的正则表达式支持语法请参见[正则表达式语法](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0178.html)。详细配置如[图2]所示，参数说明如[表2]所示。
     图2新增发现规则-正则表达式   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002729762206.png "点击放大")
      表2新增发现规则参数说明-正则表达式 
     | 参数名称   | 说明                                                                                                                                                                                                                                                                                    |
     |:---|:---|
     | 发现规则名  | 填写用户自定义的规则名称。 建议命名方法：数据域+特征+关键字"规则"组合方式。 例如：中文姓名规则。姓名是数据域，中文指数据特征为中文描述的姓名，"规则"是关键字。                                                                                                                                         |
     | 数据域    | 新增发现规则所属的数据域。不可编辑。                                                                                                                                                                                                                                                                    |
     | 发现方式   | 选择数据域的匹配方式；目前支持两种方式，包括： - 字段名称（元数据）  - 数据                                                                                       |
     | 发现规则类型 | 选择发现规则的类型。包括三种方式： - 正则表达式  - 自定义方法  - 字典发现                          |
     | 正则表达式  | 请输入符合Java正则语法规则的表达式，作为发现规则的模板。请参见[正则表达式语法](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0178.html)。                                                                                                                                                                        |
     | 样例     | 推荐填写。 提供一个符合当前规则的示例数据，便于理解规则意图，如：张三、11010119900307663X。                                                                                                                                                                                                  |
     | 测试     | 输入待测试的数据。 单击右侧"测试"，验证规则是否匹配成功。                                                                                                                                                                                                                           |
     | 备注     | 可选。补充说明规则的用途、适用范围、注意事项等，方便后续维护。                                                                                                                                                                                                                                                       |
     | 默认规则   | 设置规则是否为默认规则。 - 是：该规则作为该数据域的默认发现规则。 执行发现任务时，如果没有选择其他规则，默认使用默认规则。   - 否：该规则需要手动启用。   |
        
     
   
   - 自定义方法：即Java类自定义方法，出于安全的原因，云产品关闭了自定义Java类上传的功能。目前版本中只能使用内置的Java类方法，详细配置如[图3]所示，参数说明如[表3]所示。
     图3新增发现规则-自定义方法   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002759401711.png "点击放大")
      表3新增发现规则参数说明-自定义方法 
     | 参数名称   | 说明                                                                                                                                                                                                                                                                                    |
     |:---|:---|
     | 发现规则名  | 填写用户自定义的规则名称。 建议命名方法：数据域+特征+关键字"规则"组合方式。 例如：中文姓名规则。姓名是数据域，中文指数据特征为中文描述的姓名，"规则"是关键字。                                                                                                                                         |
     | 数据域    | 新增发现规则所属的数据域。不可编辑。                                                                                                                                                                                                                                                                    |
     | 发现方式   | 选择数据域的匹配方式，目前支持两种方法： - 字段名称（元数据）  - 数据                                                                                          |
     | 发现规则类型 | 选择发现规则的类型，支持三种方法： - 正则表达式  - 自定义方法  - 字典发现                          |
     | JAVA方法 | 请填写实现发现逻辑的完整Java类名。 该类需实现系统预定义的规则接口，并返回布尔值或匹配结果。 须知： 云产品出于安全的原因禁用了Java类上传，只能使用内置的发现规则。                                                                                                                                    |
     | 样例     | 推荐填写。 提供一个符合当前规则的示例数据，便于理解规则意图，如：张三、11010119900307663X。                                                                                                                                                                                                  |
     | 测试     | 输入待测试的数据。 单击右侧"测试"，验证规则是否匹配成功。                                                                                                                                                                                                                           |
     | 备注     | 可选。补充说明规则的用途、适用范围、注意事项等，方便后续维护。                                                                                                                                                                                                                                                       |
     | 默认规则   | 设置规则是否为默认规则。 - 是：该规则作为该数据域的默认发现规则。 执行发现任务时，如果没有选择其他规则，默认使用默认规则。   - 否：该规则需要手动启用。   |
        
     
   
   - 字典发现：通过内置的知识库辅助进行发现。系统有哪些内置的知识库以及知识库如何进行管理请参见[知识库](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0167.html)。适用于数据全部或者部分是简单枚举型的数据的发现，例如：股票代码发现、姓名发现。字典发现规则如[图4]所示，参数说明如[表4]所示。
     图4新增发现规则-字典发现   
     ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002729922066.png "点击放大")
      表4新增发现规则参数说明-字典发现 
     | 参数名称   | 说明                                                                                                                                                                                                                                                                                    |
     |:---|:---|
     | 发现规则名  | 填写用户自定义的规则名称。 建议命名方法：数据域+特征+关键字"规则"组合方式。 例如：中文姓名规则。姓名是数据域，中文指数据特征为中文描述的姓名，"规则"是关键字。                                                                                                                                         |
     | 数据域    | 新增发现规则所属的数据域。不可编辑。                                                                                                                                                                                                                                                                    |
     | 发现方式   | 选择数据域的匹配方式，目前支持两种方式： - 字段名称（元数据）  - 数据                                                                                          |
     | 发现规则类型 | 选择发现规则的类型，目前支持三种方式： - 正则表达式  - 自定义方法  - 字典发现                        |
     | 字典分类   | 可选择系统预置的字典分类。 例如：省市区、姓名手机号等等；也可在字典中自定义分类，供此处选择。                                                                                                                                                                                                          |
     | 匹配方式   | 可选择包含、等于、左右匹配等方式。                                                                                                                                                                                                                                                                     |
     | 样例     | 推荐填写。 提供一个符合当前规则的示例数据，便于理解规则意图，如：张三、11010119900307663X。                                                                                                                                                                                                  |
     | 测试     | 输入待测试的数据。 单击右侧"测试"，验证规则是否匹配成功。                                                                                                                                                                                                                           |
     | 备注     | 可选。补充说明规则的用途、适用范围、注意事项等，方便后续维护。                                                                                                                                                                                                                                                       |
     | 默认规则   | 设置规则是否为默认规则。 - 是：该规则作为该数据域的默认发现规则。 执行发现任务时，如果没有选择其他规则，默认使用默认规则。   - 否：该规则需要手动启用。   |
        
     
   
   
   
   
 
#### 查看和编辑发现规则
1. 使用系统管理员sysadmin账号[登录数据库加密系统](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0004.html)。
2. 在左侧导航树中选择"规则管理 \> 发现规则"。
3. 选择目标数据域，选择需要编辑的发现规则，单击"编辑"，如[图5]所示。
   
   图5查看/编辑发现规则   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002759321823.png "点击放大")
   
   
 
#### 删除发现规则
1. 使用系统管理员sysadmin账号[登录数据库加密系统](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0004.html)。
2. 在左侧导航树中选择"规则管理 \> 发现规则"。
3. 选择目标数据域，将鼠标放置到需要删除的规则上方，该发现规则后出现如[图6]所示的垃圾桶图标。单击垃圾桶图标，该发现规则将被删除。
   
   图6删除发现规则   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002729762212.png "点击放大")
   
   
 
