更新时间:2025-12-29 gmt 08:00
开启透明数据加密功能-j9九游会登录
操作场景
透明数据加密(transparent data encryption,简称tde),对数据文件执行实时i/o加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密,能有效保护数据库及数据文件的安全。
tde主要应对以下的场景:
- 硬盘被盗导致数据泄露。
- 黑客入侵系统进行文件复制导致数据泄露。在没有启用tde的情况下,只要获得了数据库文件,即可直接浏览数据库中的所有内容,但如果在数据库上启用了tde,整个数据被安全加密;没有密钥就不能访问到数据。
版本限制
云数据库 rds for mysql的tde功能支持以下版本:
- 8.0,对应的小版本为8.0.32.250300及以上版本。
- 5.7,对应的小版本为5.7.38.221000及以上版本。
实例版本的查询方法请参见如何查看云数据库rds实例的版本号。
性能说明
加密表的数据触发i/o时,加解密算法额外的计算开销,会给cpu带来额外的负载。
在通用场景下,实例的cpu未达到瓶颈时,加密表读写的性能影响在5%以内。
cpu小于8核的实例在高并发、cpu负载高的场景下,加密表的i/o密集型业务会产生更高的劣化,劣化幅度与业务模型和加密算法有关,国密sm4算法加密的数据比aes劣化幅度更大。
功能限制
|
阶段 |
限制说明 |
|---|---|
|
tde开启前 |
|
|
tde开启过程中 |
|
|
tde开启后 |
|
开启实例级别的tde加密功能
- 单击管理控制台左上角的
,选择区域。 - 单击页面左上角的
,选择“数据库 > 云数据库 rds”,进入rds信息页面。 - 在“实例管理”页面,单击目标实例名称,进入实例的“概览”页面。
- 单击“tde状态”后的“开启”。
图1 开启实例级别的tde加密功能
- 在弹出框中,单击“确定”,开启tde加密功能。
图2 tde开启
- tde开通后,如果您需要恢复数据到本地,参考以下两种方式:
- 方式1:通过解密数据
- 通过rds解密数据,请参考解密表。
- 创建该数据库的手动备份。
- 获取备份文件并通过备份文件恢复数据。
- 方式2:使用过渡密钥“--transition-key”
- 通过管理控制台创建手动备份时,按提示输入自定义的密钥字符串,对数据进行重新加密,详情请参考创建手动备份。
图3 自定义加密方式
- 下载全量备份文件,使用第三方全量备份工具percona xtrabackup进行本地恢复。
- prepare 阶段: --transition-key = {自定义密钥}
- copy-back阶段:--transition-key={自定义密钥} --generate-new-master-key
- 通过管理控制台创建手动备份时,按提示输入自定义的密钥字符串,对数据进行重新加密,详情请参考创建手动备份。
- 方式1:通过解密数据
加密或解密表
- 连接目标实例。
- 执行如下命令对表进行加密或解密,tablename 为需要加密或解密的表名。
- 加密
alter table tablename encryption='y';
- 解密
alter table tablename encryption='n';
alter table tablename encryption='y'; 或 alter table tablename encryption='n'; 都属于algorithm=copy的ddl语句。与其他algorithm=copy的ddl语句一样,由于实现方式是创建一张新表,拷贝所有数据后重命名,会导致以下现象:
- 在ddl执行完毕后,对该表的查询会有短暂时间的性能抖动。
- 在缓冲池(buffer pool)没打满的情况下,内存负载会增高。
- 加密
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨