---
title: "TDE 透明加密 - OB Cloud 云数据库 master | OceanBase 文档中心"
description: TDE 透明加密 本页面为您介绍 TDE（Transparent Data Encryption） 透明加密的操作步骤。数据表开启TDE透明加密之后，不支持自动解除加密，关闭方法详见 数据表解除TDE透明加密 。 背景信息 TDE 是 Transparent Data Encryption 的缩写，指的是透明数据加密…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*qbZXRo_94ZEAAAAAAAAAAAAADiGDAQ/original) OB Cloud 云数据库

# TDE 透明加密

更新时间：2026-06-25 16:45:30

本页面为您介绍 TDE（Transparent Data Encryption） 透明加密的操作步骤。数据表开启TDE透明加密之后，不支持自动解除加密，关闭方法详见 [数据表解除TDE透明加密](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013503)。

## 背景信息

TDE 是 Transparent Data Encryption 的缩写，指的是透明数据加密。这是一种用于保护数据库中静态数据（即存储在磁盘上的数据）的加密技术。

OB Cloud 云数据库的 TDE 支持服务秘钥，由 OceanBase 云数据库生成和管理的密钥。同时也支持使用云厂商的 KMS 密钥，支持的云厂商和详细使用说明，请参见 [云厂商账号授权](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000003210326)。

## 概念介绍

TDE（透明数据加密）是数据库层的一种加密解决方案，专注于保护存储在磁盘上的静态数据。它的主要特点是：

- **自动加密和解密**：当数据写入存储时，自动执行加密操作；当数据被读取时，自动解密，且对应用程序透明（无需任何代码更改）。
 - **加密广度**：保护表空间文件、事务日志文件和数据库备份等静态数据。
 - **密钥托管**：结合云端密钥管理服务（KMS，Key Management Service），对加密密钥进行安全存储和管理。
 - **高效透明**：对用户和应用来说是“无感”的，没有操作上的干扰。

OB Cloud 提供了强大的 TDE 支持，结合其云原生特性，用户可以高效地加密自己的敏感数据，同时保持数据服务的高可用性和高性能。

## 原理介绍

TDE 使用对称加密算法（如 AES，Advanced Encryption Standard）来加密数据库或存储的数据。加密和解密的过程通常由数据库管理系统（DBMS）自动完成，对于应用程序和用户来说是透明的。以下是 TDE 的核心原理和流程：

1. **主密钥（Master Key）**

      - 主密钥是最顶层的密钥，用于保护（加密）其他密钥。
      - 主密钥通常存储在专用的安全存储区中（如操作系统的加密模块、硬件安全模块 HSM 或 Key Management Service KMS）。
      - 主密钥本身受到强加密措施的保护。
 2. **数据库加密密钥（Database Encryption Key, DEK）**

      - 数据库会使用专门的加密密钥（DEK）来对目标数据进行加密。
      - DEK 使用主密钥进行加密，以便在需要时可以安全地存储或传输。
 3. **数据加密**

      - 使用数据库加密密钥（DEK），TDE 对数据库中存储的数据进行加密处理。
      - 加密的粒度通常是整个数据库文件（例如表数据文件）或特定表的页面。
 4. **数据解密**

      - 在访问数据时，数据库服务器会自动解密数据文件中加密的内容。
      - 解密使用存储的数据库加密密钥（DEK），无需用户干预。
 5. **写入加密数据**

      - 在数据写入磁盘时，TDE 会对数据块进行加密，然后存储为加密形式。
      - 即使磁盘或数据库文件被盗窃，攻击者也无法直接访问加密数据。
 6. **内存中的数据依然是明文**

      - 数据从磁盘读取到内存时会被自动解密并加载为明文。
      - 这意味着加密主要保护的是**静态数据**，而不是数据在内存中或者传输过程中的安全。

## 使用限制

- 服务密钥使用限制

     - TDE 加密功能开启后将不能关闭。
     - Oracle 兼容模式租户支持的密钥类型包括 AES-256，AES-128，AES-192，SM4-CBC，MySQL 租户支持密钥类型为 AES-256，设置后不能修改，不能做类型转换。
 - 开启 TDE 功能后，update 场景性能无影响，但其他场景的性能略有损耗。

## 操作步骤

开启 TDE 之后，在当前页面创建加密表空间，再进行创建加密表的 DDL 操作才能进行数据加密。创建加密表 DDL：`CREATE TABLE t1 (id1 int,id2 int) TABLESPACE sectest_ts1;`。若有历史数据表加入表加密空间，加入后请进行一次全量合并，实现数据的持久化。

### 开启 TDE 透明加密操作

1. 登录 [OB Cloud 云数据库控制台](https://console-cn.oceanbase.com)。
 2. 在左侧导航栏单击 **集群列表**，选择目标集群，进入 **集群工作台** 页面。
 3. 在左侧导航栏单击 **安全设置**。
 4. 在安全设置界面，单击 **TDE 透明加密** 页签。页签展示 TDE 设置列表，您可进行如下操作：

   ![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/25V1/300.tp-instance/200.tenants-management-tp/040103.png)

      1. 单击 **操作** 列下的 **开启加密** ，开启 TDE 加密功能。TDE 透明加密功能开启之后将无法关闭，并且对性能有一定的影响，请谨慎操作。
      2. 在弹出框中选择需要使用的密钥类型。

             - 使用由 OB Cloud 提供的密钥。
             - 使用由云厂商提供的密钥。

                     - 华为云、AWS 和阿里云自营渠道的实例，需要先绑定云厂商账号，操作的详细说明，请参见 [云厂商账号授权](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000003210326)。
                     - 阿里云云市场渠道的实例，可以通过跳转绑定阿里云账号后使用相应密钥。
      3. 选择您的密钥类型后，单击 **开启** ，完成 TDE 加密功能的开启。

### 创建表空间加密

1. 单击 **操作** 列下的 **创建表空间** 。
 2. 在 **创建表空间** 弹窗中填写 **加密表空间名** 和 **加密算法** 。

   ![](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/25V2/0717.png)
 3. 单击 **确定** ，创建表空间。
 4. 当您完成加密表空间的创建之后，还可通过数据研发功能或其他命令行工具进行 DDL 操作，创建表并将表指定到加密的表空间，示例如下：

      - Oracle 租户

       ```sql
       create table table_name (column1 int, column2 int) tablespace tablespace_name;

       ```
      - MySQL 租户

       ```
 5. 单击某个租户前面的"+"号，可以查看该租户下所有的加密表空间信息，包括加密表空间名、加密算法和创建时间。
 6. 单击加密表空间名，可以查看加密表的状态、加密进度等信息。加密进度表示当前数据表中，已完成加密的数据块百分比。

### 对历史数据表执行全量合并

对历史数据表执行全量合并的操作步骤如下，以已有表 `t1` 为例：

1. 将参数 `progressive_merge_num` 的值设置为 `1`。

   ```sql
   obclient> ALTER TABLE t1 set progressive_merge_num = 1;

   ```
 2. 在集群实例工作台页面手动触发一次数据合并，详情请参见 [数据合并](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000000706370)。
 3. 待数据合并完成后，再将参数 `progressive_merge_num` 的值设置为 `0`。

   ```sql
   obclient> ALTER TABLE t1 set progressive_merge_num = 0;

   ```

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