---
title: github-fill
description: CREATE SENSITIVE RULE 描述 该语句用来创建敏感数据保护规则。 说明 对于 OceanBase 数据库 V4.3.5 版本，从 V4.3.5 BP3 开始支持该语句。 权限要求 执行 CREATE SENSITIVE RULE 语句，需要当前用户拥有 CREATE SENSITIVE RULE 权…
---
切换语言

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

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

# CREATE SENSITIVE RULE

更新时间：2026-04-07 20:57:20

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/600.sql-statement-of-mysql-mode/2550.create-sensitive-rule-of-mysql-mode.md)  

## 描述

该语句用来创建敏感数据保护规则。

#### 说明

对于 OceanBase 数据库 V4.3.5 版本，从 V4.3.5 BP3 开始支持该语句。

## 权限要求

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

## 语法

```sql
CREATE SENSITIVE RULE <rule_name>
ON <sensitive_field_list>
USING ENCRYPTION [ = <encryption_method>]
;

```

## 参数说明

具体参数说明如下：

| 参数 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| rule_name | 字符 |  | 加密规则的名称，在租户内唯一。 |
| sensitive_field_list | 字符 |  | 表示要加密的列，格式为 `db.table(col1, col2), db2.table2(col3, col4), ...`，也即每一个敏感项指明表上的一个或多个列，每个列之间以逗号隔开。各个敏感项之间用逗号隔开。`db` 可以为空，默认使用当前连接的数据库。 |
| encryption_method | 字符 |  | `USING ENCRYPTION` 可以不接参数，表示使用默认加密算法，默认是 `aes-256`，也可以写成 `USING ENCRYPTION = DEFAULT`，含义相同。 |

`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） |

限制如下：

- 只能对用户表（包括视图）上的列施加数据保护规则。不能对系统表上的列施加数据保护规则。
 - 规则名称是租户级全局唯一的。
 - 一条规则可以指定保护一个或多个列。允许跨库跨表。
 - 一个列只能被一条规则所保护。

## 示例

示例如下：

```sql
-- 创建敏感规则 r1, 保护 tbl1(a), tbl2(b, c), db2.tbl3(e,f);
-- 使用默认加密算法
CREATE SENSITIVE RULE r1 ON tbl1(a), tbl2(b, c), db2.tbl3(e,f)
USING ENCRYPTION;

-- 创建敏感规则 r2, 保护 tbl4(x, y), tbl5(z);
-- 使用 sm4-cbc 加密算法
CREATE SENSITIVE RULE r2 ON tbl4(x, y), tbl5(z)
USING ENCRYPTION = 'sm4-cbc';

```

- [DROP SENSITIVE RULE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003568974)
 - [ALTER SENSITIVE RULE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003568972)

 上一篇 下一篇 ![有帮助](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) 咨询热线
