设置透明数据加密TDE
更新时间:2024-08-07
概述
名词解释
透明数据加密TDE(Transparent Data Encryption):对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。TDE不会增加数据文件的大小,研发人员无需更改任何应用程序,即可使用TDE功能。
密钥管理服务(Key Management Service,简称:KMS):是百度智能云提供的一款密钥管理服务,您可以通过该项服务便捷、安全、可靠地在云上管理密钥类信息。用户可以从繁杂的密钥设备管理和安全机制实现中解脱出来,只需要专注于业务上层的加解密功能场景,查看详情
背景信息
TDE通过在数据库层执行静止数据加密,阻止可能的攻击者绕过数据库直接从存储中读取敏感信息。经过数据库身份验证的应用和用户可以继续透明地访问应用数据(不需要更改应用代码或配置),而尝试读取表空间文件中的敏感数据的OS用户以及尝试读取磁盘或备份信息的未知用户将不允许访问明文数据。
开启透明数据加密TDE功能后,会对数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。TDE不会增加数据文件的大小,开发人员无需更改任何应用程序,即可使用TDE功能。
TDE加密使用的密钥由密钥管理服务(KMS)产生和管理,RDS不提供加密所需的密钥和证书。
功能优势
- 无须修改应用程序。
- 数据在写入磁盘之前进行加密。若磁盘上的数据被盗,没有密钥,无法获取数据。
前提条件
开通 TDE 前,需要满足以下条件:
- 实例类型及版本:支持MySQL 5.7版本的双机高可用版本地盘主实例、只读实例。
- 目前仅支持双机高可用版中的独享规格,通用规格暂不支持。
- 前提条件:使用TDE,须开通主实例所在地域的密钥管理服务KMS。
- 企业组织:主账户、子账户均可使用。
- 绑定关系:主实例开通TDE后,只读实例跟随主实例开通。
- 已开通密钥管理服务(KMS)。如果您未开通KMS,可在开通TDE过程中根据引导开通KMS。
注意事项
- 地域限制:KMS开通地域须与主实例所在地域相同,当前仅支持华北-北京、华东-苏州、华南-广州这三个地域。
- TDE开通后无法关闭。
- TDE开通后,无法克隆实例、创建或加入热活实例,请您谨慎评估。
- TDE开通后,会显著增加CPU使用率。
- 密钥ID:开通KMS服务后产生的密钥ID,在开通TDE后请勿禁用或删除。
- 费用:TDE免费使用、KMS收费,详情请见KMS费用说明。
开通 KMS 并创建密钥
步骤1:若您已开通KMS,可跳过此步骤,进行下一步。若您未开通KMS,请先开通KMS服务,具体可参考开通KMS。
步骤2:创建密钥。
说明:关于KMS密钥的其他操作请见以下链接
开通 TDE
- 登录RDS管理控制台。
- 在控制台页面左上角,选择实例所在地域,进入“云数据库 RDS列表”页面。
- 找到目标实例(该实例必须满足:MySQL 5.7;双机高可用版本;独享规格;本地盘),点击实例名称,进入实例详情页面。
- 点击安全管理 > TDE,进行开通服务。开通前,系统会检查您的账号是否开启了KMS。开通KMS后,您可以进行TDE的开通。
- 点击去开通,在弹窗中选择一个密钥ID,点击“确定”按钮。
- 点击确定按钮后,可看到当前实例状态为TDE开通中,表示正在开通TDE。当实例状态变为“运行中”的时候,则表示TDE开通成功。
常见问题
- 开启TDE后,常用数据库工具(Navicat等)还能正常使用吗?
可以正常使用。
- 开启TDE后,还能正常迁移数据到其他RDS实例吗?
可以正常迁移。