# 安全管控-策略管理
- 主体颗粒度可细化至用户、角色、IP、主机、时间等。
- 客体颗粒度可达针对表、列、行数等。
- 行为颗粒度可达基本操作、SQL语句、阻断、替换等。
- 所有访问行为有审计记录。
- 策略管理支持全面的安全策略配置，包括：字段脱敏、模糊匹配脱敏、SQL阻断、行访问控制、SQL替换、表名替换、黑白名单、访问审计策略等。策略功能概述如下：
  - 字段脱敏：为数据库中的表的列名配置动态脱敏规则，可以借助发现任务梳理完成的发现结果保存的发现版本，为字段自动配置脱敏规则，也可以手动配置动态脱敏规则。
  
  - 模糊匹配脱敏：支持模糊匹配脱敏的能力，可以通过配置正则表达式条件，对于满足条件的SCHEMA名、表名、列名配置指定数据域的默认脱敏规则。
  
  - SQL阻断：DML\\DCL\\DDL管控策略,支持基于Update、Insert、Delete、Truncate等DML语句的管控策略；支持基于数据库Grant、Revoke等DCL语句的管控策略，以及Create、Alter等DDL语句的高危阻断管控策略。并支持返回自定义阻断消息。
  
  - 行访问控制：该策略从行级别考虑数据的安全性，第一可以控制返回数据的行数；第二可以自动过滤掉满足高危条件限制的行数据。
  
  - SQL替换：支持SQL替换安全控制能力，当运维人员在执行某类高危数据库操作时，可以将执行SQL替换成固定低风险的SQL语句，以减少访问风险。
  
  - 表名替换：支持表名替换安全控制能力，运维人员在对高危表进行特定操作时，系统会将被访问的表名替换成指定的表名，以减少访问风险。
  
  - 黑白名单：支持时间、IP、数据库账号、运维账号等的黑白名单策略。黑白名单策略的运行逻辑：不满足白名单的访问行为会被直接阻断掉，满足白名单的访问行为还会受到其它策略的影响。而满足黑名单的访问行为会直接被阻断掉。
  
  - 访问审计策略：支持对指定用户访问行为进行单独的策略审计，该用户在满足访问条件的情况下，所有的访问行为都会被记录到策略匹配审计日志中，以接受审计专员的审计。
   
#### 前提条件
在为运维用户、运维角色、组织机构配置策略时，需要先在"用户管理 \> 平台用户"、"用户管理 \> 系统角色"、"用户管理 \> 组织机构"中配置好运维用户、运维角色、组织机构。
在选择"策略模板"时，需要先在"规则管理 \> 脱敏规则与策略模板"里配置所需的策略类型的策略模板。
#### 新增策略
1. 使用系统管理员sysadmin账号[登录数据库运维管理系统](https://support.huaweicloud.com/usermanual-dbss/dbss_04_0008.html)。
2. 在左侧导航栏，选择"运维资产管理 \> 运维资产控制"，页面展示资产控制列表。
3. 选择一个运维资产控制，单击"配置"按钮，浏览器新开一个页面。
4. 选择"安全管控 \> 策略管理"，页面展示待审批列表。
5. 单击"新增"，下拉选择策略类型。 
   图1策略管理   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721162205.png "点击放大")
   
   
6. 填写策略基本信息、条件信息、匹配信息（部分策略拥有匹配信息）、响应动作等信息。 
   也可以选择规则模板，直接将规则模板中的内容导入过来再做配置。规则创建请参见[策略模板配置](https://support.huaweicloud.com/usermanual-dbss/dbss_04_0050.html)。
   图2新增策略   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721042085.png "点击放大")
   表1基本信息说明 
   | 参数名称                                       || 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   |:---|---|:---|
   | 基本信息 | 策略名称   | 输入以字符开头的任意字符串，以方便管理记忆为原则。（必填）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 基本信息 | 策略模板     | 在"规则管理 \> 敏感数据发现规则"创建的规则模板，方便快速配置策略。 当"新增"类型为"字段脱敏"和"黑白名单"时不展示。                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 基本信息 | 策略类型     | 选择黑白名单的策略类型。当"新增"类型为"黑白名单"时展示。 - 白名单  - 黑名单                                                                                                                                                                                                                                                                                                   |
   | 基本信息 | 策略描述    | 输入当前规则的描述性信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 条件信息 | 运维用户        | 用于定义应用用户的防控范围。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 条件信息 | 运维角色        | 用户管理-系统角色功能定义的角色信息，每个用户可以属于一个或者多个角色。                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 条件信息 | 组织机构     | "用户管理 \> 组织机构"功能定义的组织机构信息，每个用户可以属于一个组织机构。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 条件信息 | 数据库用户       | 用于定义数据库用户的防控范围。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 条件信息 | 客户端IP      | 用于定义IP地址的范围，通过IP地址不同的操作符，如：等于、包含、不包含等确定安全防控的范围。同样，支持IP模板的直接引用。                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 条件信息 | 客户端主机名    | 终端主机名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 条件信息 | 客户端OS用户   | 客户端OS用户（ORACLE数据库类型时可用）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 条件信息 | 客户端工具      | 运维人员访问数据所使用的客户端工具名称，例如WebSQL。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 条件信息 | 影响时间段    | 当前规则生效的时间范围，选择开始时间-结束时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 匹配信息  | 匹配内容      | 匹配条件的一种。通过正则表达式匹配SQL语句。（必填） 当规则类型为："模糊匹配脱敏"、"SQL阻断"、"SQL替换"、"表名替换"类型时展示。 填写正则表达式，例如：.\* 代表所有SQL语句。select.\* 代表匹配所有以select开头的语句                                                                                                                                                                                                                                                                                                                  |
   | 匹配信息  | 列脱敏        | 匹配条件的一种。通过正则表达式匹配SCHEMA名、表名、列名，通过配置"数据域"为满足条件的字典批量配置脱敏规则。（必填） 当规则类型为："模糊匹配脱敏"时展示。 举例说明： - SCHEMA名：.\* ，这是一个正则表达式，针对任意的模式。  - 表名：.\* ，这是一个正则表达式，针对任意的表。  - 列名：.\*name.\*，这是一个正则表达式，它的含义是针对任意字段名包含NAME的字段。   |
   | 匹配信息  | 可访问行数   | 当规则类型为："行访问控制"类型时展示。 用来控制访问数据的返回行数。必须填写为数字类型。                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 匹配信息  | 不允许访问条件    | 当规则类型为："行访问控制"类型时展示。 用来控制不允许查询、修改、删除满足条件数据值的行。 此处可以在一个策略里定义多个条件。                                                                                                                                                                                                                                                                                                                                                                                |
   | 匹配信息  | 替换SQL     | 当规则类型为："SQL替换"类型时展示。（必填） 此处输入一个SQL语句，所有满足该策略条件的SQL都会被系统替换为这个SQL语句。                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 匹配信息  | 替换表      | 当规则类型为："表名替换"类型时展示。 配置被替换的表名、替换后的表名。 此处可以同时对多个表进行表名替换。                                                                                                                                                                                                                                                                                                                                                                                           |
   | 响应动作 | 审计       | 默认是不审计，可以选择"审计"、"告警审计"。 开启审计时，用户访问数据行为满足该策略条件时，是否要记录到"策略匹配日志"中。 开启告警审计时，用户访问数据行为满足该策略条件时，是否要记录到"策略匹配日志"中，同时还会根据告警方式选择邮件告警，告警信息会以邮件方式发送给管理人员，接收告警信息的人员在运维资产控制里的"数据专员"处配置。                                                                                                                                                                                                                                                                             |
   | 响应动作 | 告警方式       | 当"审计"项，选择"告警审计"时展示。 可以选择邮件告警方式。 告警邮件服务器配置，请参见[邮箱管理](https://support.huaweicloud.com/usermanual-dbss/dbss_04_0058.html)。                                                                                                                                                                                                                                                                                                                              |
   | 响应动作 | 控制动作      | 当规则类型为："SQL阻断"时展示。展示选项卡为"阻断"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 响应动作 | 阻断返回消息（必填） | 当规则类型为："SQL阻断"时展示。 功能是可以自定义SQL阻断消息。                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
   
   
7. 单击"确认"。右侧策略列表的最下方出现一个新建的策略（黑白名单策略会排在其它策略前面）。
 
#### 相关操作
后续您可以根据情况，在策略管理列表页面进行以下操作：
- 编辑策略：单击策略列表上的某一个策略，页面右侧展示出该策略的预览信息，单击页面下方的"编辑"按钮，就可以修改规则内容了。修改完策略内容，单击"确定"按钮保存该策略。需要单击策略列表名称旁边的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322672.png)按钮，该策略操作才能真正生效。
- 删除策略：单击策略列表名称旁边的"垃圾桶"删除按钮，可以删除该策略，策略删除需要进行二次确认，以确保避免人工误操作行为。
- 策略排序：策略的执行顺序是从上至下的执行，如果想调换策略的执行顺序，可以鼠标左键单击选中某一个策略，按住鼠标左键上下拖动到合适位置，释放鼠标左键，新的排序即时生效。
- 策略启停：新建的策略列表中的规则默认是关闭状态，如果想开启，只需单击策略名称后面![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721042087.png)按钮即可。但是如果想不删除策略的前提下，临时停用该策略，可以单击策略名称后面的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322666.png)按钮即可。但是无论停止还是启动策略，为了防止误操作都需要单击一下"确定"按钮，该策略的启停状态操作才会生效。红色为停止状态，单击后启动策略，绿色为启动状态，单击后停止策略。
- 快速查找：在策略列表的上方有一个策略类型下拉选功能和通过策略名称模糊查找的功能，通过以上两个筛选功能可以通过策略类型和名称两个维度，快速定位查找到指定的安全策略。
![](https://support.huaweicloud.com/usermanual-dbss/public_sys-resources/note_3.0-zh-cn.png)
- 黑白名单的策略优先级最高，因此无法进行向下拖拽调序。
- 其它策略之间可以自由拖拽切换排序。
 
#### 创建策略案例
单击"新增"按钮，选择策略规则类型。
1. 字段脱敏：为指定的表字段配置脱敏规则，也可以借助发现任务。手动选择将发现任务确认的版本结果带入。自动批量为表字段配置脱敏规则。
   1. 第一步，填写字段规则名称和备注信息以及条件信息。单击"下一步"。
   
   2. 第二步，进入字段脱敏规则配置页面：
   
   3. 先选择要配置脱敏规则的SCHEMA范围。
   
   4. 单击![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721042083.png "点击放大")按钮，下方会展示出该Schema的表信息。
   
   5. 编辑一个表，字段的脱敏规则会根据发现任务梳理结果保存的版本自动带入。也可以手动配置字段的脱敏规则。
   
   6. 配置完成后单击"确定"，保存该字段规则。
   
   7. 单击策略名称后面的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482558.png)，以激活刚刚配置的策略。
   
   8. 完成后，在数据库客户端访问数据时，若条件信息符合，即可触发策略（返回结果中指定的字段数据会被做脱敏处理）。
    
2. 模糊匹配脱敏：可以批量地为字段配置脱敏规则。满足主体的信息和匹配信息的情况下，会触发脱敏规则。
   1. 一个脱敏规则，添加数据库用户，匹配内容以及哪个Schema表下的哪些字段的数据会被以什么规则脱敏。
   
   2. 配置完成后单击"确定"，然后单击策略名称后面的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721162209.png)，以激活刚刚配置的策略。
   
   3. 完成后，在数据库客户端访问数据时，若条件信息符合，即可触发策略（返回结果中指定的字段数据会被做脱敏处理）。
    
3. SQL阻断规则：满足主体的信息和匹配信息的情况下，会触发阻断规则。
   1. 新建一个阻断规则，添加数据库用户，匹配内容和阻断消息。
   
   2. 配置完成后单击"确定"，然后单击策略名称后面的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721162207.png)，以激活刚刚配置的策略。
   
   3. 完成后，在数据库客户端访问数据时，若条件信息符合，即可触发策略（阻断，并返回阻断消息）。
    
4. 行访问规则：可以控制哪行数据不允许访问。满足主体的信息和匹配信息的情况下，会触发行访问控制规则。
   1. 行访问控制规则，可以控制某个用户不允许访问表字段为指定数据的行数据。
   
   2. 配置完成后单击"确定"，然后单击策略名称后面的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482554.png)，以激活刚刚配置的策略。
   
   3. 完成后，在数据库客户端访问数据时，若条件信息符合，即可触发策略（返回结果中指定的字段数据所在的行不会被查询出来）。
    
5. SQL替换规则：满足主体的信息和匹配信息的情况下，会触发SQL替换规则。
   1. 新建一个SQL替换规则，添加数据库用户，匹配内容和替换SQL。
   
   2. 配置完成后单击"确定"，并打开左侧策略列表的开关，然后单击左上角的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322668.png)，以激活刚刚配置的策略。
   
   3. 完成后，在数据库客户端访问数据时，若条件信息符合，即可触发策略（返回替换后SQL执行结果）。
    
6. 表替换规则：满足主体的信息和匹配信息的情况下，会触发表替换规则。
   1. 新建一个表替换规则，添加数据库用户，匹配内容以及被的表名和替换后的表名。
   
   2. 配置完成后单击"确定"，然后单击策略名称后面的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482556.png)，以激活刚刚配置的策略。
   
   3. 完成后，在数据库客户端访问数据时，若条件信息符合，即可触发策略（SQL中表名会被替换并执行）。
    
7. 黑白名单：可以为运维资产控制库指定白名单和黑名单范围。
   1. 白名单为运维资产控制库允许访问的范围，但是会受到其它规则的影响。
   
   2. 黑名单为不允许访问的范围，不受任何规则影响，加入黑名单的主体信息无法访问运维资产控制。
   
   3. 配置完成后单击"确定"，然后单击策略名称后面的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322670.png)，以激活刚刚配置的策略。
   
   4. 完成后，在数据库客户端访问数据时，若条件信息符合，即可触发策略。
    
8. 访问审计规则：可以对指定用户主体信息访问记录做审计。
   1. 配置完成后单击"确定"，然后单击策略名称后面的![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482552.png)，以激活刚刚配置的策略。
   
   2. 完成后，在数据库客户端访问数据时，若条件信息符合，即可触发策略（会在规则审计日志中记录该用户的访问信息）。
    
 
