---
title: "租户主密钥概述 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: 租户主密钥概述 租户主密钥是 OceanBase 数据库数据加密的基础设施。 透明数据加密（TDE） 、 列加密功能 和 函数加密功能 都依赖租户主密钥。 功能适用性 OceanBase 数据库社区版暂不支持租户主密钥相关功能。 两级密钥体系 OceanBase 数据库采用两级密钥体系实现数据加密： 租户主密钥（Ma…
---
切换语言

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

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

# 租户主密钥概述

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

[编辑](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/100.tenant-master-key-overview.md)  

租户主密钥是 OceanBase 数据库数据加密的基础设施。**透明数据加密（TDE）**、**列加密功能**和**函数加密功能**都依赖租户主密钥。

#### 功能适用性

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

## 两级密钥体系

OceanBase 数据库采用两级密钥体系实现数据加密：

- 租户主密钥（Master Key）：每个租户有一个主密钥，用于加密保护数据密钥。主密钥存储在 Keystore 中。
 - 数据密钥（Data Key）：用于直接加密数据。每个加密的表空间都有对应的数据密钥。

![存储加密](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/observer-enterprise/V4.2.1/manage/datastore-encryption.png)

为了保证数据的安全性，用户无法直接查看或指定主密钥和数据密钥，它们由系统生成，并且不会以明文形式存储在磁盘上，显著提高了系统安全性。

### Keystore

Keystore 是主密钥的管理模块，提供密钥管理服务。Keystore 的功能包括：

- 主密钥的生成：主密钥由 Keystore 根据加密算法生成，用户无法指定。
 - 主密钥相关信息存储：Keystore 保证相关信息的多副本特性、一致性特性和故障处理。
 - 主密钥管理和多版本控制：多版本机制允许新生成的主密钥无需立即生效，可以逐步完成主密钥的替换。
 - 获取主密钥的高可用服务。
 - 处理 Keystore 的操作指令。

### 主密钥存储方式

通过配置项 [tde_method](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002015529) 控制主密钥的存储方式：

| `tde_method` 取值 | 含义 |
| --- | --- |
| `none` | 不生成租户主密钥（默认值） |
| `internal` | 主密钥存储于内部表 |
| `bkmi` | 主密钥存储于外部 BKMI 系统 |
| `obcloud` | 主密钥存储于 OceanBase Cloud KMS 服务 |

#### 注意

- 系统租户不能开启加密。
 - 配置项 `tde_method` 一旦设置为非 `none` 值，就不能再修改。除非租户重建，否则无法切换为其他加密方式。

主密钥存储方式说明：

- 支持 `internal` 和 `obcloud` 两种方式。`internal` 方式的主密钥加密信息存储在内部表中进行管理。为了避免日志回放时的循环依赖，该加密方式下的 clog 不做加密。`obcloud` 方式的主密钥通过 OceanBase Cloud KMS 或 OCP KMS 代理服务管理。
 - 使用外部 KMS（如 `obcloud`）时，除设置 `tde_method` 外，可配置 [external_kms_info](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002015530)，用于指定 KMS 的地址、认证信息、密钥名称等，数据库通过该配置连接并访问外部 KMS 获取主密钥。

开启加密时，使用主密钥对数据密钥进行加密后得到加密的数据密钥密文，该密文会存储在内部表、宏块头部、Clog 头部中，数据密钥不会明文存储在任何地方。需要加解密数据时，使用主密钥解密该密文后得到数据密钥，从而对宏块或 clog 中的用户数据进行加解密操作。

## 相关文档

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

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