---
title: github-fill
description: 生成租户主密钥（Oracle 模式） 本文介绍如何在 Oracle 模式租户中生成租户主密钥。生成完成后，可以使用透明数据加密（TDE）功能。 功能适用性 OceanBase 数据库社区版暂不支持租户主密钥相关功能。 前提条件 已创建 Oracle 模式租户。 使用管理员用户登录到租户。 生成主密钥 配置项 tde_…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

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

# 生成租户主密钥（Oracle 模式）

更新时间：2026-07-15 20:42:45

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/600.manage/500.security-and-permissions/500.data-encryption/300.tenant-master-key/300.configure-tenant-master-key-oracle.md)  

本文介绍如何在 Oracle 模式租户中生成租户主密钥。生成完成后，可以使用透明数据加密（TDE）功能。

#### 功能适用性

OceanBase 数据库社区版暂不支持租户主密钥相关功能。

## 前提条件

- 已创建 Oracle 模式租户。
 - 使用管理员用户登录到租户。

## 生成主密钥

配置项 `tde_method` 用于设置主密钥存储方式，默认为 `none`，表示关闭加密，设置任意非 `none` 值均可使用透明数据加密功能。本文给出 `internal` 和 `obcloud` 两种方式的示例，两种方式的步骤不同，请根据实际需求选择其一。更多配置项 `tde_method` 的参数说明，参见 [tde_method](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002015529)。

#### 注意

  - 配置项 `tde_method` 一旦设置为非 `none` 值，就不能再修改。
 - 配置项 `tde_method` 中的 `obcloud` 选项从 V4.3.5 BP2 版本开始引入。

### internal 方式示例

internal 方式的存储主密钥，其加密信息主要在内部表中管理。为了避免日志回放时的循环依赖，该模式中的 clog 不做加密。具体步骤如下：

1. 执行以下语句，开启 `internal` 方式的加密。

   ```sql
   ALTER SYSTEM SET tde_method='internal';

   ```
 2. 执行以下语句，确认该租户上所有 OBServer 节点上的配置项 `tde_method` 的值均为 `internal`。

   ```sql
   SHOW PARAMETERS LIKE 'tde_method';

   ```
 3. 创建 Keystore。

   ```sql
   -- 将 Keystore 名称和密码替换为实际的值
   ADMINISTER KEY MANAGEMENT CREATE KEYSTORE keystore_name IDENTIFIED BY password;

   ```
 4. 开启 Keystore。

   ```sql
   -- password 为上一步设置的 Keystore 的密钥
   ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY password;

   ```
 5. 执行以下语句，生成主密钥。

   ```sql
   -- password 为上一步设置的 Keystore 的密钥
   ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY password;

   ```

### obcloud 方式示例

以下为 `obcloud` 方式的示例，如需使用外部 KMS 服务，可将 `tde_method` 设置为 `obcloud` 或 `bkmi`，并配置 `external_kms_info`。

1. 执行以下语句，开启 `obcloud` 方式的加密。

   ```sql
   ALTER SYSTEM SET tde_method='obcloud';

   ```
 2. 执行以下语句，确认该租户上所有 OBServer 节点上的配置项 `tde_method` 的值均为 `obcloud`。

   #### 注意

   仅当租户上所有 OBServer 节点上的配置项 tde_method 的值均为 obcloud，该语句才能执行成功。

   ```
 3. 执行以下语句，配置密钥管理信息。

   更多配置项 `external_kms_info` 的说明信息，参见 [external_kms_info](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002015530)。

   ```sql
   -- 示例仅作为参考，请根据实际的密钥管理信息替换
   ALTER SYSTEM SET external_kms_info='{
            "KMS_HOST": "kms.ob.com:443",
            "ROOT_CERT": "******",
            "PRIVATE_KEY": "******",
            "PRIVATE_KEY_PHRASE": "ob2025",
            "SCENE": "ANT",
            "KEY_NAME": "ob_cluster_key",
            "CALLER": "oceanbase_admin"}';

   ```
 4. 配置完成后，租户将从配置的 KMS 获取主密钥，无需像 `internal` 方式那样手动创建 Keystore 和生成主密钥。

   在 `obcloud` 方式下，主密钥由 OCP 或 OceanBase Cloud KMS 生成和托管。数据库通过 `external_kms_info` 配置信息连接 KMS，并按需获取主密钥。密钥的创建、存储和轮转均在 KMS 侧完成，因此不需要在数据库内创建 Keystore 或执行生成主密钥的操作。

## 轮转主密钥

为了提高安全性，建议定期轮转主密钥。轮转主密钥后，新的数据将使用新密钥加密，旧数据仍可使用旧密钥解密。

- internal 方式：执行以下语句轮转主密钥：

  ```sql
  ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY password;

  ```
 - obcloud 方式：主密钥由 OCP 或 OceanBase Cloud KMS 管理，具体请参见 [OCP-管理 TDE 透明加密](https://www.oceanbase.com/docs/common-ocp-1000000005295789) 或 [云厂商账号授权](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000003210326)。

## 后续步骤

生成主密钥后，您可以使用透明数据加密（TDE）：参见 [为新创建的表设置透明加密](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005375458)

## 相关文档

- [租户主密钥概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005375452)
 - [生成租户主密钥（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005375453)

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