首批通过分布式安全可靠测评,为关键业务系统打造
管理 TDE 透明加密
更新时间:2026-04-21 19:01:52
功能适用性
该内容仅适用于 OCP 企业版,OCP 社区版不提供此功能。
OceanBase 数据库支持在数据存储层进行加密,即 TDE(Transparent Data Encryption)透明加密。
TDE 透明加密可以对存储在磁盘的上的敏感数据进行加密。数据在写入存储设备前自动进行加密,读取时自动解密,该过程对用户是透明的,经过数据库认证的用户可以不受限制地访问数据。当存储介质被盗时,透明数据加密可以保证存储在介质上的敏感数据无法被未经认证的用户访问。即使存储介质丢失,依然可以保证数据不会丢失,最大化保护用户的数据安全。
本页面将为您介绍关于 TDE 透明加密的操作步骤,包括如何开启 TDE 透明加密以及如何为租户创建表空间。
开启 TDE 透明加密
您可参考本节内容对集群开启 TDE 透明加密。
注意
开启 TDE 透明加密后将不能关闭,并且会造成数据库性能下降。后续如需解密,请将表移出加密表空间,并进行一次全量合并。
前提条件
- 请确保当前登录 OCP 的用户为 ADMIN 角色或 ORG_ADMIN 角色。
- 待开启加密的租户状态为 正常运行 中。
- 使用由 OCP 提供的密钥时,需确保 OceanBase 集群为 V4.x 及以上版本。
- 使用由第三方厂商提供的密钥时,需确保 OceanBase 集群满足如下任一版本要求:
- [V4.2.5.4, V4.3.0)
- [V4.3.5.2, +∞)
- 使用由第三方厂商 格尔 提供的密钥时,根据不同的服务类型,您需提前完成如下参数配置:
- 标准版:
ocp.kms.tde.koal.useTLS.enabled与ocp.kms.tde.koal.kcsp.mode.enabled的参数值均设置为 false。 - 密码:
ocp.kms.tde.koal.useTLS.enabled与ocp.kms.tde.koal.kcsp.mode.enabled的参数值均设置为 true。 关于参数的更多信息,可参考本文中的 参数说明。
- 标准版:
操作步骤
登录 OCP 。
在左侧导航栏单击 集群 ,系统默认进入 集群列表 页面。
在 集群列表 中选择待操作的集群,单击其集群名,进入集群 概览 页面。
在显示的页面左侧导航栏上,单击 安全配置 。
切换至 TDE 透明加密 页签。
选择需要开启加密的租户,单击操作列的 开启加密 。
在对话框中选择密钥类型。
使用由 OCP 提供的密钥:OCP 自动生成的密钥。此方式
tde_method取值为 internal,表示主密钥存储于 OceanBase 内部表中。使用由第三方厂商提供的密钥:KMS 管理的密钥,需配置的密钥信息如下。
参数 说明 厂商 支持 阿里云、腾讯云、江南天安、格尔 和 三未信安 五种厂商类型。 服务类型 厂商为 格尔 时选择,指定 KMS 的服务类型。 - 标准版:请确保 KMS 标准服务版本为 2.0 及以上。
- 密码:请确保 KMS 密码服务版本为 3.2.0 及以上。
访问域名 KMS 的 endpoint 信息。 AK 进行签名认证的 access_key_id。 SK 进行签名认证的 access_key_secret。 SK 版本号 厂商为 格尔 且服务类型为 密码 时填写,SK 的具体版本号。 主密钥 ID 用户主密钥 ID。 地域 厂商为 腾讯云 时填写,KMS 的地域信息。
单击 开启 。
参数说明
| 参数 | 说明 | 是否重启生效 |
|---|---|---|
ocp.kms.tde.koal.useTLS.enabled |
用于配置格尔 KMS 加密配置是否使用 TLS(Transport Layer Security)协议。该参数保存于 OCP MetaDB 的 config_properties 表中,参数值默认为 false。当服务端地址为 https 时,参数值需配置为 true。 |
否 |
ocp.kms.tde.koal.kcsp.mode.enabled |
用于配置格尔 KMS 加密是否使用 kcsp 版本。该参数可在 OCP 系统管理 > 系统参数 中白屏配置,参数值默认为 true。 |
否 |
创建表空间
OceanBase 支持以 tablespace 为粒度启用透明加密,实现数据的安全存储。
前提条件
- 请确保当前登录 OCP 的用户为 ADMIN 角色或 ORG_ADMIN 角色。
- 请确保 OceanBase 集群为 V4.x 及以上版本。
- 已 开启 TDE 透明加密。
操作步骤
登录 OCP 。
在左侧导航栏单击 集群 ,系统默认进入 集群列表 页面。
在 集群列表 中选择待操作的集群,单击其集群名,进入集群 概览 页面。
在显示的页面左侧导航栏上,单击 安全配置 。
切换至 TDE 透明加密 页签。
选择需要操作的租户,单击操作列的 创建表空间 。
在对话框中填写或选择如下信息。
信息 说明 加密表空间名 同一个租户下支持创建多个加密表空间,每个表空间名都具有唯一性。支持以字母开头,可包含字母、数字和下划线,且长度为 2 ~ 30 个字符。 加密算法 加密算法设置后不能修改,且不能做类型转换,同时 OceanBase 不同版本支持的加密算法可能不同,请依据 OceanBase 官方文档选择合适的加密算法。 输入加密表空间名,并选择加密算法,单击 创建 。
开启 TDE 透明加密及创建加密表空间后,需要进行创建加密表的 DDL 操作才能进行数据加密。创建加密表 DDL 如下:
CREATE TABLE t1 (id int,id2 int) TABLESPACE sectest_ts1;注意
当您将历史表加入到加密表空间后,请执行一次全量合并,实现数据的加密持久化,否则历史表数据无法进行加密。
单击加密表空间名,可在右侧面板中查看加密表详情,包括所属租户、加密表名、加密状态和加密进度等信息。加密进度表示当前数据表中,已完成加密的数据块百分比。