如您希望提高数据存储的安全性,可以开启云盘加密功能(免费)对整个数据盘进行加密,即使存储数据或数据备份泄露也无法解密数据,保证您的数据安全。云盘加密开启时无需任何应用侧的代码修改,开启后对实例性能损耗极小且实例的快照备份也会自动继承加密属性。
云盘加密概述
加密原理
云盘加密功能采用行业标准的AES-256加密算法对整块数据盘进行加密。开启云盘加密后,数据被写入云盘时自动加密并以密文形式存储,即使存储数据或数据备份泄露也无法解密数据,提高云盘数据存储的安全性。已授权用户从云盘中读取数据时会自动解密,无需任何应用侧的代码修改或适配。详细加密原理请参见加密云盘。
加密密钥
云盘加密所需密钥由密钥管理服务(KMS)提供,您可以使用KMS下的默认密钥(含服务密钥和主密钥)、软件密钥和硬件密钥等多种类型密钥加密云盘。
一般情况下,开启RDS MySQL云盘加密功能可以选择默认密钥(含服务密钥或主密钥),该类型免费但有数量限制,每个用户在同一地域下只能持有一个主密钥和一个专为RDS使用的服务密钥。如您需要使用不同的密钥对不同的RDS实例进行加密,或使用更丰富的功能(如凭据管理、签名等),可以选择购买软件或硬件密钥实例并创建相应密钥,详情请参见KMS密钥选型。
密钥类型 | 加密算法 | 费用 | 创建者 | 密钥材料来源 | 说明 | |
默认密钥 | 服务密钥 | AES_256 | 免费 | 云产品代您创建与托管 | 不可删除、禁用,每个用户在同地域内只能持有一个专为RDS使用的服务密钥。 | |
主密钥 | 用户 | KMS生成/自定义上传 | 可管理生命周期,每个用户在同地域内只能持有一个主密钥。 | |||
软件密钥 | 收费 | 用户 | 仅KMS生成 | 可管理生命周期,可创建多个密钥。 | ||
硬件密钥 | 用户 | KMS生成/自定义上传 |
使用限制
仅支持在新建RDS MySQL实例时开启云盘加密功能,实例创建后无法开启。已购实例如有云盘加密需求,可以使用DTS数据传输工具将已购实例数据迁移至新的已开启云盘加密的实例,详情请参见RDS实例间数据迁移。
新建实例时需要满足以下条件才能开启云盘加密:
创建方式为标准创建。
存储类型为云盘(含ESSD云盘、通用云盘和SSD云盘)。
付费方式为Serverless的基础系列实例暂不支持云盘加密功能,请选择其它类型实例。
已使用阿里云主账号授权RDS访问密钥管理服务(KMS),详情请参见授权RDS访问KMS。
计费
云盘加密功能免费,您在磁盘上的任何读写操作都不会产生额外费用。
云盘加密的密钥由KMS统一管理,部分密钥类型收费:
使用默认密钥(含服务密钥和主密钥):不收费。
使用软件密钥和硬件密钥:由KMS收费,详情请参见KMS计费。
注意事项
云盘加密功能开启后无法关闭。
代码修改:云盘加密不会影响您的业务,应用侧也无需修改代码。
备份与恢复:开启云盘加密后,实例不支持秒级备份和跨地域备份,不支持下载备份。实例生成的快照备份以及通过这些快照备份创建的云盘实例将自动继承加密属性。
密钥限制:实例规格对可选择的KMS密钥有所限制,KMS欠费、禁用或删除密钥会对部分已开启云盘加密的实例造成影响。
密钥选择限制:通用规格实例仅支持选择服务密钥,独享型规格实例可以选择服务密钥或其他类型的用户自定义密钥。
KMS欠费影响:如您使用了付费类型密钥(如软件密钥和硬件密钥等),当KMS欠费时,会导致使用付费类型密钥加密的云盘实例无法解密,整实例不可用,请及时续费KMS实例。
禁用或删除密钥影响:对于可自行管理生命周期的密钥(如主密钥、软件密钥和硬件密钥等),禁用或删除密钥会导致使用该密钥的RDS实例被锁定无法访问,无法正常工作,所有运维操作无法进行(如备份、变更配置、重启、HA切换等)。
开启云盘加密
云盘加密功能仅支持在新建RDS MySQL实例时开启。已购实例如有云盘加密需求,可以通过DTS将已购实例数据迁移至新的已开启云盘加密的实例,详情请参见RDS实例间数据迁移。
访问RDS MySQL售卖页,在顶部导航栏选择标准创建。
存储类型选择云盘(ESSD云盘、通用云盘或SSD云盘)后,在右侧勾选云盘加密。
选择所需密钥。
如需使用服务密钥(免费):无论在当前地域下是否已创建服务密钥,均可选择Default Service CMK。
如需使用主密钥(免费)、软件密钥(收费)或硬件密钥(收费):如已创建相应密钥,可在下拉列表中直接选择;如未创建,可以单击前往创建,在KMS控制台新建密钥。
说明如您在当前地域下无服务密钥,选择Default Service CMK后,系统会自动创建别名为alias/acs/rds的服务密钥。
已有服务密钥时,在选择Default Service CMK后不再新建服务密钥,而会默认使用别名为alias/acs/rds的服务密钥加密(同一产品在同一地域下只有一个服务密钥)。
支付成功后,您可以访问RDS实例列表,单击目标实例ID,在基本信息区域查看是否有相应密钥,如有即表示实例已开启云盘加密。
更换密钥
已开启云盘加密且实例规格为独享规格的RDS MySQL实例,可按照如下操作更换密钥。通用规格的RDS MySQL实例只能使用服务密钥,无法修改。
更换密钥会发生主备切换,实例通常会出现不超过30秒的闪断,请确保您的应用程序具有自动重连机制。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击数据安全性。
在数据加密页签,单击更换密钥。
在修改数据盘加密密钥弹窗中,按需选择密钥,并单击确定。
相关内容
透明数据加密TDE、云盘加密、全密态数据库的区别请参见不同数据库加密技术对比。
其他引擎使用云盘加密: