---
title: "ALTER SENSITIVE RULE - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: ALTER SENSITIVE RULE 描述 该语句用来修改敏感数据保护规则。 权限要求 执行 ALTER SENSITIVE RULE 语句，需要当前用户拥有 CREATE SENSITIVE RULE 权限。更多有关 OceanBase 数据库权限的详细介绍，请参见 Oracle 模式下的权限分类 。 语法 -…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# ALTER SENSITIVE RULE

更新时间：2026-06-15 17:41:11

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/900.sql-statement-of-oracle-mode/100.ddl-of-oracle-mode/550.alter-sensitive-rule-of-oracle-mode.md)  

## 描述

该语句用来修改敏感数据保护规则。

## 权限要求

执行 `ALTER SENSITIVE RULE` 语句，需要当前用户拥有 `CREATE SENSITIVE RULE` 权限。更多有关 OceanBase 数据库权限的详细介绍，请参见 [Oracle 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685764)。

## 语法

```sql
-- 新增敏感列
ALTER SENSITIVE RULE <rule_name> ADD COLUMN <sensitive_field_list>;
-- 删除敏感列
ALTER SENSITIVE RULE <rule_name> DROP COLUMN <sensitive_field_list>;
-- 启用规则
ALTER SENSITIVE RULE <rule_name> ENABLE;
-- 禁用规则
ALTER SENSITIVE RULE <rule_name> DISABLE;
-- 修改加密算法
ALTER SENSITIVE RULE <rule_name> USING ENCRYPTION [= <encryption_method>];

```

## 参数说明

具体参数说明如下：

| 参数 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| rule_name | 字符 |  | 敏感规则的名称，在租户内唯一。 |
| sensitive_field_list | 字符 |  | 表示要加密的列，格式为 `user.table(col1, col2), user2.table2(col3, col4), ...`，也即每一个敏感项指明表上的一个或多个列，每个列之间以逗号隔开。各个敏感项之间用逗号隔开，指定敏感规则保护的列，一条规则可以指定多个用户、多张表上的多个列。参数说明：   - `user` 可以为空，默认使用当前连接的用户。 - `table` 不可为空，不可使用 `*`。 - `(col_list)` 不可为空，不可使用 `*`。 |
| encryption_method | 字符 |  | 加密方法。默认值为 `aes-256`，实际指的是 AES-256-ECB 加密算法，取值范围见下文。 |

`encryption_method` 允许的取值如下：

| 取值（在 SQL 语法中使用） | 实际使用的加密算法 | 密钥长度 | 模式 | 说明 |
| --- | --- | --- | --- | --- |
| aes-256 | AES-256-ECB | 256 位 | ECB | 默认算法 |
| aes-128 | AES-128-ECB | 128 位 | ECB | |
| aes-192 | AES-192-ECB | 192 位 | ECB | |
| aes-128-gcm | AES-128-GCM | 128 位 | GCM | 高安全级别，提供认证加密（AEAD） |
| aes-192-gcm | AES-192-GCM | 192 位 | GCM | 高安全级别，提供认证加密（AEAD） |
| aes-256-gcm | AES-256-GCM | 256 位 | GCM | 高安全级别，提供认证加密（AEAD） |
| sm4-cbc | SM4-CBC |  | CBC | 高安全级别 |
| sm4-GCM | SM4-GCM |  | GCM | 高安全级别，提供认证加密（AEAD） |

修改敏感规则时，需要了解以下注意事项：

- 修改敏感规则后立即生效。
 - `ADD/DROP COLUMN` 的参数 `sensitive_field_list` 和 `CREATE SENSITIVE RULE` 语法中该字段一致。
 - `DISABLE` 会临时禁用当前敏感规则，但不会将它删除（规则创建后默认是启用的状态）。

修改敏感规则时，需要遵守以下限制：

- `ADD COLUMN` 添加的列不能被任何已存在的规则所保护。
 - `DROP COLUMN` 删除的列必须是指定的规则所保护的列。

## 示例

示例如下：

```sql
-- 向敏感规则 r1 中增加 tbl2(c), db2.tbl3(x);
ALTER SENSITIVE RULE r1 ADD COLUMN tbl2(c), db2.tbl3(x);
-- 从敏感规则 r1 中删除 tbl2(c)
ALTER SENSITIVE RULE r1 DROP COLUMN tbl2(c);
-- 启用敏感规则 r1
ALTER SENSITIVE RULE r1 ENABLE;
-- 禁用敏感规则 r1
ALTER SENSITIVE RULE r1 DISABLE;
-- 修改敏感规则 r1 的加密算法为默认算法
ALTER SENSITIVE RULE r1 USING ENCRYPTION;
-- 修改敏感规则 r1 的加密算法为 sm4-cbc
ALTER SENSITIVE RULE r1 USING ENCRYPTION = 'sm4-cbc';

```

- [CREATE SENSITIVE RULE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005687568)
 - [DROP SENSITIVE RULE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005687521)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
