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

前提条件

  • 数据库类型为SQL Server 2019标准版或SQL Server企业版。
  • 实例不是只读实例
  • 如果您使用自有密钥,请提前准备加密证书、私钥以及密码。

注意事项

  • 实例级别的TDE只能开通,无法关闭。数据库级别的TDE可以开通或关闭。
  • 如果您使用阿里云提供的服务密钥,开通TDE后,要恢复数据到本地,需要先通过RDS解密数据
  • 开启TDE后,会显著增加CPU使用率。

开启TDE

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧菜单栏中单击数据安全性
  3. TDE页签单击未开通左边滑块。
    说明 仅特定实例支持TDE功能,请参见前提条件。
  4. 选择密钥来源。
    选择秘钥来源
    • 使用有阿里云自动生成的密钥。
      选中需要加密的数据库,单击图标,并单击确定TDE设置
    • 使用自带SQL Server密钥加密。
      1. 上传证书及私钥文件到OSS。具体操作,请参见上传文件上传文件到OSS
      2. 单击下一步,配置密钥相关参数。选择自带密钥
        参数 取值及说明
        OSS Bucket 选择上传证书及私钥文件所在的OSS Bucket。
        证书 选择您上传到OSS的证书文件。
        私钥 选择您上传到OSS的私钥文件。
        密码 输入您自有SQL Server密钥的密码。
      3. 单击下一步进入授权数据库
        选中需要加密的数据库,单击图标,并单击确定授权数据库

关闭TDE

实例的TDE一旦开启则无法关闭,如需解除目标数据库的TDE加密,您可以将目标数据库从已保护数据库列表中移除。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧菜单栏中单击数据安全性
  3. 单击页面上方的TDE页签,并单击架构图上方的TDE设置
  4. 在对话框右侧的已保护数据库中,选中需要解除TDE加密的数据库,单击图标图标,并单击确定
说明 关闭TDE后,还存在部分未解密的事务日志,此时下载的备份文件仍处于加密状态,无法直接用于恢复。如需下载解密后的备份文件,请在实例完成三次日志备份和一次全量备份后,再下载最新的全量备份文件。更多信息,请参见Database Encryption in SQL Server 2008 Enterprise Edition。关于如何设置日志备份和数据备份,请参见备份SQL Server数据