
# 数据库拖库检测
#### 操作场景
数据库安全审计默认提供一条"数据库拖库检测"的风险操作，用于检测原始审计日志疑似拖库的SQL语句，及时发现数据安全风险。
通过数据库拖库检测，您可获知执行耗时长、影响行数、执行该SQL语句的数据库信息。
数据库安全审计支持以下执行语句类型检测：
- 数据定义（DDL）：
  - CREATE TABLE
  
  - CREATE TABLESPACE
  
  - DROP TABLE
  
  - DROP TABLESPACE
  
  - TRUNCATE
  
  - COMMENT
   
- 数据操作（DML）：
  - INSERT
  
  - UPDATE
  
  - DELETE
  
  - SELECT
  
  - SELECT FOR UPDATE
  
  - MERGE
   
- 数据控制（DCL）：
  - CREATE USER
  
  - DROP USER
  
  - GRANT
  
  - REVOKE
  
  - ROLLBACK
   
 
#### 配置数据库拖库检测
在启用数据库拖库检测规则前，还需要用户根据业务实际需求添加待审计的数据库、客户端IP/IP段、操作类型、操作对象及执行结果。
1. [登录DBSS控制台](https://console.huaweicloud.com/dbss/#/dbss/home)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002524454332.png)，选择区域。
3. 在左侧导航树中，选择"审计规则"，进入"审计规则"界面。
4. 在"选择实例"下拉列表框中，选择需要配置数据库拖库检测的实例。
5. 选择"风险操作"页签。
6. 在数据库拖库检测行的"操作"列，单击"编辑"，进入"编辑风险操作"界面。
7. （可选）配置"客户端IP/IP段"，不配置系统默认检测全部。
8. "操作类型"：选择"SELECT"。 
   图1操作类型   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000001090747402.png)
   
   
9. （可选）设置"操作对象"，不配置系统默认检测全部。 
   1. 单击"添加操作对象"后，输入"目标数据库"、"目标表"和"字段"信息。
   
   2. 单击"确定"。
   
   
   
   
10. 配置"执行结果"区域中的"影响行数"和"执行时长"。 
    图2执行结果   
    ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000001137814605.png)
    ![](https://support.huaweicloud.com/bestpractice-dbss/public_sys-resources/notice_3.0-zh-cn.png)
    当您的应用程序发生变化（如：服务升级、代码变更）时，需要根据实际情况修改"影响行数"的参数，以免审计不完全。
    
    
11. 单击"保存"。
 
#### 查看数据库拖库检测结果
数据库拖库检测开启后，您可以在"总览 \> 语句"中，查看原始审计日志疑似拖库的SQL语句。
1. 在左侧导航树中，选择"数据报表"，进入"数据报表"界面。
2. 在"选择实例"下拉列表框中，选择需要查看数据库拖库检测语句信息的实例。
3. 选择"语句"页签。
4. 您可以按照以下方法，查询指定的SQL语句。 
   - 在列表左上方下拉框，可选择时间："全部时间"、"近30分钟"、"近1小时"、"今日"、"近7天"或"近30天"或"自定义"。单击"自定义"，选择开始时间和结束时间，单击"确定"，列表显示该时间段的SQL语句。
   
   - 单击列表右上方输入框，可选择属性筛选，或输入关键字搜索。选择"风险等级"（"高"，数据库拖库检测规则默认为高），单击"提交"，列表显示该级别的SQL语句。
   
   
   ![](https://support.huaweicloud.com/bestpractice-dbss/public_sys-resources/note_3.0-zh-cn.png)
   一次查询最多可查询10,000条记录。
   
   
5. 在需要查看数据库拖库检测详情的SQL语句所在行的"操作"列，单击"详情"，如[图3]所示。
   
   图3查看拖库检测详情   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002526101867.png "点击放大")
   
   
6. 在详情提示框中，查看数据库拖库SQL语句的详细信息，如[图4]所示，相关参数说明如[表1]所示。
   
   图4"详情"提示框   
   ![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002493942202.png "点击放大")
    表1SQL语句详情参数说明 
   | 参数名称     | 说明                  |
   |:---|:---|
   | 会话ID     | SQL语句的ID，由系统自动生成。   |
   | 数据库实例    | SQL语句所在的数据库实例。      |
   | 数据库类型    | 执行SQL语句所在的数据库的类型。   |
   | 数据库用户    | 执行SQL语句的数据库用户。      |
   | 客户端MAC地址 | 执行SQL语句所在客户端MAC地址。  |
   | 数据库MAC地址 | 执行SQL语句所在数据库MAC地址。  |
   | 客户端IP    | 执行SQL语句所在客户端的IP地址。  |
   | 数据库IP/域名 | 执行SQL语句所在的数据库的IP地址。 |
   | 客户端端口    | 执行SQL语句所在的客户端的端口。   |
   | 数据库端口    | 执行SQL语句所在的数据库的端口。   |
   | 客户端名称    | 执行SQL语句所在客户端名称。     |
   | 操作类型     | SQL语句的操作类型。         |
   | 操作对象类型   | SQL语句的操作对象的类型。      |
   | 响应结果     | 执行SQL语句的响应结果。       |
   | 影响行数     | 执行SQL语句的影响行数。       |
   | 开始时间     | SQL语句开始执行的时间。       |
   | 响应结束时间   | SQL语句结束的时间。         |
   | SQL请求语句  | SQL语句的名称。           |
   | 请求结果     | SQL语句请求执行的结果。       |
      
   
   
 
#### 查看数据库拖库检测规则
您可以在"审计规则 \> 风险操作"中查看数据库慢SQL检测规则，并根据需要执行以下操作：
图5数据库拖库检测   
![](https://support.huaweicloud.com/bestpractice-dbss/zh-cn_image_0000002526221843.png "点击放大")
- 启用 在数据库拖库检测规则所在行的"操作"列，单击"启用"，数据库安全审计将对该规则进行审计。
  
- 编辑 在数据库拖库检测规则所在行的"操作"列，单击"编辑"，在风险操作界面，您可以修改数据库拖库检测规则。
  
- 禁用 在数据库拖库检测规则所在行的"操作"列，单击"禁用"，在弹出的对话框中，单击"确定"，可以禁用该数据库拖库检测规则。禁用数据库拖库检测规则后，该规则将不在审计中执行。
  
- 删除 在数据库拖库检测规则所在行的"操作"列，单击"删除"，在弹出的对话框中，单击"确定"，可以删除该规则。删除数据库拖库检测规则后，如果需要对该规则进行安全审计，请重新添加**数据库拖库检测** 规则。详细操作步骤，请参见：[添加风险操作](https://support.huaweicloud.com/usermanual-dbss/dbss_01_0192.html#section1)。
  
 
