首批通过分布式安全可靠测评,为关键业务系统打造
生成租户主密钥(MySQL 模式)
更新时间:2026-06-23 11:02:20
本文介绍如何在 MySQL 模式租户中生成租户主密钥。生成完成后,可以使用透明数据加密(TDE)、列加密功能和函数加密功能。
功能适用性
OceanBase 数据库社区版暂不支持租户主密钥相关功能。
前提条件
- 已创建 MySQL 模式租户。
- 使用管理员用户登录到租户。
生成主密钥
注意
配置项 tde_method 中的 obcloud 选项从 V4.3.5 BP2 版本开始引入。
主密钥生成相关说明:
- 透明数据加密(TDE)功能需要先生成主密钥,主密钥的值(即
tde_method的值)必须为非none。为避免日志回放时出现循环依赖,当tde_method配置为internal时,透明数据加密的 clog 不做加密。 - 列加密功能同样要求主密钥为非
none。 - 函数加密功能也必须先生成非
none的主密钥。 - 以上三项功能均建议将
tde_method配置设置为obcloud。
以下为 obcloud 方式的示例,如果要使用外部 KMS 服务,请将 tde_method 设置为 obcloud,并配置 external_kms_info。
管理员用户登录到集群的 MySQL 租户。
执行以下语句,开启
obcloud方式的加密。配置项
tde_method用于设置主密钥存储方式,默认为none,表示关闭加密。更多配置项
tde_method的说明信息,参见 tde_method。注意
配置项
tde_method一旦设置,就不能再修改。ALTER SYSTEM SET tde_method='obcloud';执行以下语句,确认该租户上所有 OBServer 节点上的配置项
tde_method的值均为obcloud。SHOW PARAMETERS LIKE 'tde_method';执行以下语句,配置密钥管理信息。
更多配置项
external_kms_info的说明信息,参见 external_kms_info。-- 示例仅作为参考,请根据实际的密钥管理信息替换 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"}';
轮转主密钥
为了提高安全性,建议定期轮转主密钥。轮转主密钥后,新的数据将使用新密钥加密,旧数据仍可使用旧密钥解密。
ALTER INSTANCE ROTATE INNODB MASTER KEY;
后续步骤
生成主密钥后,您可以:
- 使用透明数据加密(TDE):参见 为新创建的表设置透明加密
- 使用列加密功能:参见 创建列加密规则
- 使用函数加密功能:参见 ENHANCED_AES_ENCRYPT 和 ENHANCED_AES_DECRYPT