# 场景一：加密操作流程及加密功能典型配置
#### 加密操作流程
数据库加密与访问控制的加密操作流程图和流程介绍如下[图1]所示。
图1加密操作流程   
![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041791.png "点击放大")
1. （首次）初始化密钥。 首次使用系统时，根据密钥来源初始化密钥。具体操作，请参见[初始化密钥](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4026.html)。
   
2. 添加数据源。 在使用数据脱敏功能前，您需要将数据资产添加到系统中。具体操作，请参见[添加数据资产](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4027.html)。
   
3. （可选）配置行业模板和敏感数据类型。 系统已经内置满足大部分需求的敏感数据类型和通用行业模板。如果您有特殊需求，也可以自定义敏感数据类型和行业模板。具体操作，请参见[新增行业模板](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4035.html)和[新增自定义数据类型](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4034.html)。
   
4. （可选）执行敏感数据发现。 通过敏感数据发现任务，自动扫描和识别出数据资产中的敏感数据。具体操作，请参见[扫描资产的敏感数据](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4030.html)。
   
5. （可选）查看任务执行结果。 通过查看任务执行结果，检查结果是否符合敏感数据要求。具体操作，请参见[查看扫描任务执行结果](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4031.html)。
   
6. （可选）仿真加密测试。 通过仿真加密测试，检查目标是否支持加密。具体操作，请参见[仿真加密测试](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4039.html)。
   
7. 创建加密队列。 您可以在敏感数据发现任务的结果中，根据敏感数据信息创建加密队列。具体操作，请参见[在结果中创建加密队列](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4032.html)。
   同时，也支持在数据加密模块直接创建加密队列。具体操作，请参见[配置加密队列](https://support.huaweicloud.com/usermanual-dbss/dbss_01_3076.html)。
   
8. 授权管理。 配置加密后，默认情况下访问数据库时，您只能看到加密后的数据。应用系统正常运行需要获取加密前的数据，此时您需要为应用系统进行授权操作。具体操作，请参见[管理授权](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4041.html)。
   
9. 配置完成后，您可以通过以下方式验证配置结果。
   - 使用已授权的客户端地址和用户，通过代理方式访问数据库，此时可以查看到加密前的明文数据。
   
   - 使用未授权的客户端地址或用户，通过代理方式访问数据库，此时只能查看到加密后的数据。
    
 
#### 加密功能典型配置
数据库加密与访问控制支持为数据库的敏感数据进行加密，保障数据的安全性。本举例展示如何对数据库进行加密。
**组网说明**
数据库加密与访问控制采用反向代理方式，典型组网如下[图2]所示。
图2典型组网   
![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322376.png "点击放大")
**前提条件**
- 设备和应用系统路由可达。
- 设备和数据库路由可达。
**步骤一：添加数据源**
在使用前，需要在资产管理中添加目标数据库。
1. 使用sysadmin用户[登录实例Web控制台](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4003.html)。
2. 在左侧导航栏，选择"资产管理 \> 数据源管理"。
3. 单击右上角的"添加数据源"。
4. 在"添加数据源"对话框中，设置资产信息。
   主机信息和日志信息为可选操作，数据库服务器需要开启SSH服务。
   图3添加数据源   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482264.png "点击放大") 
5. 配置完成后，单击"测试数据库连接"，检查是否能够连上数据库。
6. 单击"测试账号权限"，检查数据库账号权限是否满足加密要求。
7. 单击"保存"，保存数据资产的配置信息。
**步骤二：执行敏感数据数据发现任务**
1. 使用sysadmin用户[登录实例Web控制台](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4003.html)。
2. 在左侧导航栏，选择"敏感数据发现 \> 敏感数据扫描"。
3. 找到目标数据资产，单击"任务配置"。
4. 在"任务配置"对话框中，设置敏感数据发现任务。
   图4配置敏感数据发现任务   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041783.png "点击放大") 
5. 单击"保存"，完成敏感数据任务配置。
6. 找到目标数据资产，单击![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322378.png "点击放大")按钮执行敏感数据发现任务。
执行开始后，系统自动扫描识别敏感数据。扫描时间和需要扫描的数据量有关，数据量越多，需要扫描的时间越长，您可以在页面查看扫描进度。
**步骤三：进行仿真加密测试**
在为数据库表进行加密前，先进行仿真加密测试，检查数据库是否满足加密要求。
1. 使用sysadmin用户[登录实例Web控制台](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4003.html)。

1. 在左侧导航栏中，选择"业务测试 \> 仿真测试"。
2. 单击"新增加密测试"。
3. 在"新增加密测试"对话框中，配置测试目标。
   图5新增加密测试   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482254.png "点击放大") 
4. 单击"保存"。 测试完成后，用户可以在列表中查看测试结果，单击"详情"查看加密流程中各个节点的完成情况。
   测试完成后，单击"删除"，删除此仿真加密测试。
   ![](https://support.huaweicloud.com/usermanual-dbss/public_sys-resources/note_3.0-zh-cn.png)
   - 如果仿真测试出现问题，请根据页面提示排查问题。
   
   - 如果测试后需要配置加密队列，需要先删除此仿真加密测试。
     
**步骤四：在发现结果中创建加密队列**
1. 使用sysadmin用户[登录实例Web控制台](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4003.html)。
2. 在左侧导航栏，选择"敏感数据发现 \> 敏感数据扫描"。
3. 在扫描任务列表页面，找到目标数据资产，单击"查看"。
4. 在扫描结果列表页面，找到目标数据库表，单击"添加加密队列"。
5. 在"新增加密队列"对话框中，设置加密信息。
   图6新增加密队列   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041793.png "点击放大") 
6. 在加密算法中选择加密的算法。
7. 单击"加密列表"页签，勾选需要加密的列名称。
8. 单击"初始化表"，开始对数据表进行初始化。
9. 单击"完成"，创建加密队列。
加密队列执行结束后，访问数据库时查询到的都是加密后的数据。此时需要为应用系统（或客户端）进行访问授权，保证应用系统（或客户端）能正常使用。
**步骤五：设置访问授权**
授权管理模块中支持客户端授权和用户授权，两者授权取交集。
1. 使用sysadmin用户[登录实例Web控制台](https://support.huaweicloud.com/usermanual-dbss/dbss_01_4003.html)。
2. 在左侧导航栏中，选择"数据加密 \> 授权管理"。
3. 在数据源列表中，单击目标数据源。
4. 找到目标加密数据库表，单击"客户端授权"。
5. 在"客户端授权"对话框中，设置客户端IP地址范围、时间范围和星期范围，单击"保存"。
   图7客户端授权   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322370.png "点击放大")
   IP地址范围支持设置起始IP和结束IP，单击![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322380.png "点击放大")按钮可以添加多个IP地址范围，最多设置10个IP地址范围。
   
6. 找到目标加密数据库表，单击"用户授权"。
7. 在"用户授权"对话框中，对数据库用户设置相应的权限，单击"保存"。
   图8用户授权   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161915.png "点击放大") 
**步骤六：通过代理连接数据库**
![](https://support.huaweicloud.com/usermanual-dbss/public_sys-resources/caution_3.0-zh-cn.png)
此处以DBeaver工具为例，在实际使用过程中，您需要修改应用系统对接到数据库的连接信息。
本文以DBeaver工具为例，通过代理连接到数据库。
图9通过代理连接数据库   
![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482262.png "点击放大")
1. 单击![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161911.png "点击放大")图标。
2. 在选择新连接类型对话框中，选中MySQL。
3. 单击下一步。
4. 在"设置MySQL连接"对话框中，设置连接信息。
   连接信息说明：
   - 服务器地址：使用数据库加密与访问控制的访问IP地址。例如192.xx.xx.54。
   
   - 端口：使用代理端口，即创建资产时设置的代理端口（14099）。
     
5. 单击"测试连接"，测试是否能够连接到数据库。
6. 测试通过后，单击"下一步"，按照界面提示完成操作。
**步骤七：验证加密结果**
参考步骤六（通过代理连接数据库）操作连接数据库，验证授权是否配置成功：
1. 用户的IP地址为192.168.0.105（授权地址），通过代理方式，使用授权用户（例如root）访问数据库，可以查看到明文数据。
   图10明文数据   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482256.png "点击放大") 
2. 用户的IP地址为192.168.0.105（授权地址），通过代理方式，使用非授权用户（例如user01）访问数据库，只能查看到加密数据。
   图11加密数据   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161909.png "点击放大")
   根据添加资产时配置的无权限缺省显示参数，显示对应加密结果。
   
3. 用户的IP地址为192.168.3.105（非授权地址），通过代理方式，使用授权用户（例如root）访问数据库，只能查看到加密数据。
   图12加密数据   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041787.png "点击放大") 
4. 此时，通过原数据库地址连接访问，查看到密文数据。
   图13加密数据   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482260.png "点击放大") 
 
