开发者社区 问答 正文

设置透明数据加密


透明数据加密(Transparent Data Encryption,简称 TDE)可以对实例数据文件执行实时 I/O 加密和解密。为了提高数据安全性,您可以启用透明数据加密,对实例数据进行加密。
说明:目前只有 SQL Server 2008 R2 和 MySQL 5.6 类型的数据库支持 TDE。

背景信息


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

注意事项

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


前提条件


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

操作步骤

  1. 登录 RDS 管理控制台,选择目标实例。
  2. 在菜单栏中选择 [backcolor=transparent]数据安全性,然后在 [backcolor=transparent]数据安全性 页面选择 [backcolor=transparent]TDE 页签。

  3. 单击 [backcolor=transparent]未开通,如下图所示。

  4. 单击 [backcolor=transparent]确定,开通 TDE。
    [backcolor=transparent]说明:如果您未开通密钥管理服务,在开通 TDE 过程中会提示开启密钥管理服务,请根据引导开通秘钥管理服务后,再单击 [backcolor=transparent]未开通 来开通 TDE。

  5. 登录数据库,执行如下命令,对要加密的表进行加密。[backcolor=transparent]alter table [backcolor=transparent]<tablename>[backcolor=transparent] engine[backcolor=transparent][backcolor=transparent]innodb[backcolor=transparent],[backcolor=transparent] block_format[backcolor=transparent]=[backcolor=transparent]encrypted[backcolor=transparent];


后续操作


如果你要对 TDE 加密的表解密,请执行如下命令。
  1. [backcolor=transparent]alter table [backcolor=transparent]<tablename>[backcolor=transparent] engine[backcolor=transparent][backcolor=transparent]innodb[backcolor=transparent],[backcolor=transparent] block_format[backcolor=transparent]=[backcolor=transparent]default[backcolor=transparent];


展开
收起
云栖大讲堂 2017-10-18 11:11:35 2116 分享 版权
阿里云 AI 助理回答

透明数据加密(TDE)是阿里云RDS数据库服务中的一项高级安全功能,它能够为您的数据提供额外的保护层,通过自动加密存储在数据库中的数据,并在读取时自动解密,从而确保静态数据的安全性。根据您提供的信息,以下是对这一过程的总结和补充说明:

支持的数据库类型

  • 目前,阿里云RDS的透明数据加密功能仅支持SQL Server 2008 R2和MySQL 5.6类型的数据库实例。

功能特点

  • 实时I/O加密解密:数据在写入磁盘之前会被加密,在从磁盘加载到内存时自动解密,整个过程对用户透明,无需修改应用程序。
  • 不影响文件大小:TDE加密不会增加数据库的数据文件大小。
  • 集成秘钥管理服务(KMS):加密使用的密钥由阿里云的KMS生成和管理,确保密钥的安全性。RDS用户不需要直接管理这些密钥。

开通前提与步骤

  1. 开通秘钥管理服务(KMS):这是使用TDE的前提条件。
  2. 通过RDS控制台操作:登录RDS管理控制台,选择目标实例,进入“数据安全性”->“TDE”页签,点击“未开通”并确认开通TDE。如果尚未开通KMS,系统会引导完成开通流程。
  3. 执行数据库命令:虽然您提供了示例命令,但请注意,对于MySQL数据库,启用TDE通常不需要手动执行ALTER TABLE命令来加密表。在RDS控制台开启TDE后,系统会处理加密过程。而您提供的命令格式更接近于调整InnoDB表的块格式,并非直接用于TDE的开关操作。

注意事项

  • 不可逆操作:一旦为RDS实例开启了TDE,无法再关闭此功能。
  • CPU使用率影响:TDE加密和解密操作会占用CPU资源,可能会导致CPU使用率上升。
  • 数据恢复考虑:如果需要将加密后的数据恢复到本地或其他不支持TDE的环境,必须先通过RDS进行解密。

后续操作

关于解密表的操作描述可能有误,因为直接通过ALTER TABLE命令改变block_format属性并不是解除TDE加密的标准方法。在实际应用中,关闭或管理TDE加密状态应遵循RDS控制台提供的操作指引或联系阿里云技术支持获取正确步骤。

总之,透明数据加密是一项强大的安全特性,适合对数据隐私和合规性有严格要求的场景。在使用过程中,务必遵循官方文档指导,确保正确配置和管理。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答