背景信息
透明数据加密(Transparent Data Encryption,简称 TDE)可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。TDE不会增加数据文件的大小,开发人员无需更改任何应用程序,即可使用 TDE 功能。
为了提高数据安全性,您可以通过RDS管理控制台或者Open APIModifyDBInstanceTDE启用透明数据加密,对实例数据进行加密。
注意事项
- TDE开通后无法关闭。
- 加密使用密钥由密钥管理服务(KMS)产生和管理,RDS 不提供加密所需的密钥和证书。开通 TDE 后,用户如果要恢复数据到本地,需要先通过 RDS 解密数据。
- 开通TDE后,会显著增加CPU使用率。
前提条件
- 实例类型为:RDS for SQLServer 2008 R2 和 RDS for MySQL 5.6。
- 只有阿里云主账号(即非子账号)登录才可以查看和修改 TDE 配置。
- 开通TDE前需要先开通KMS。如果您未开通KMS,可在开通TDE过程中根据引导开通KMS。
操作步骤
- 登录 RDS 管理控制台,选择目标实例。
- 在菜单栏中选择 数据安全性,在 数据安全性页面选择 TDE 页签。
- 单击 未开通,如下图所示。
- 单击 确定,开通 TDE。
说明 如果您未开通密钥管理服务,在开通 TDE 过程中会提示开启密钥管理服务,请根据引导开通KMS后,再单击 未开通来开通 TDE。 - 登录数据库,执行如下命令,对要加密的表进行加密。
alter table <tablename> engine=innodb,block_format=encrypted;
后续操作
如果你要对 TDE 加密的表解密,请执行如下命令。
alter table <tablename> engine=innodb,block_format=default;