透明数据加密(Transparent Data Encryption,简称 TDE)可以对实例数据文件执行实时 I/O 加密和解密。为了提高数据安全性,您可以启用透明数据加密,对实例数据进行加密。

说明:目前只有 SQL Server 2008 R2 和 MySQL 5.6 类型的数据库支持 TDE,且需要以阿里云主账号(即非子账号)登录才可以查看和修改 TDE 配置。

背景信息

TDE 可对数据文件执行实时 I/O 加密和解密,数据在写入磁盘之前会进行加密,从磁盘读入内存时会进行解密。TDE 不会增加数据文件的大小。开发人员无需更改任何应用程序,即可使用 TDE 功能。

注意事项

  • TDE 开通后无法关闭。
  • 加密使用秘钥由秘钥管理服务(KMS)产生和管理,RDS 不提供加密所需的秘钥和证书。开通 TDE 后,用户如果要恢复数据到本地,需要先通过 RDS 解密数据。
  • 开通 TDE 后,会显著增加 CPU 使用率。

前提条件

已开通秘钥管理服务(KMS)。

操作步骤

  1. 登录 RDS 管理控制台,选择目标实例。
  2. 在菜单栏中选择 数据安全性,在 数据安全性页面选择 TDE 页签
  3. 单击 未开通,如下图所示。

  4. 单击 确定,开通 TDE。
    说明
    如果您未开通密钥管理服务,在开通 TDE 过程中会提示开启密钥管理服务,请根据引导开通秘钥管理服务后,再单击 未开通来开通 TDE。
  5. 登录数据库,执行如下命令,对要加密的表进行加密。
    alter table <tablename> engine=innodb, block_format=encrypted;

后续操作

如果你要对 TDE 加密的表解密,请执行如下命令。

alter table <tablename> engine=innodb, block_format=default;