RDS MySQL提供免费的云盘加密功能,该功能基于块存储对整个数据盘进行加密,即使数据备份泄露也无法解密,能够保护您的数据安全。您无需对现有应用程序做任何修改,同时您的快照数据将自动继承加密属性。更多数据库加密技术介绍和对比,请参见不同数据库加密技术对比。
其他引擎的云盘加密请参见:
前提条件
仅在创建RDS MySQL实例时可以开启云盘加密,创建实例后无法开启。
创建实例的方式为标准创建。
创建实例时存储类型需要为云盘。
计费
云盘加密为免费功能,您在磁盘上的任何读写操作都不会产生额外费用。
使用限制
Serverless基础系列实例暂不支持云盘加密功能,但Serverless高可用系列实例支持。
开启云盘加密的实例不支持秒级备份和跨地域备份。
注意事项
云盘加密功能开启后无法关闭。
云盘加密不会影响您的业务,应用程序也无需修改。
开启云盘加密后,实例生成的快照以及通过这些快照创建的云盘版实例将自动延续加密属性。
密钥管理服务KMS欠费会导致云盘无法解密,整个实例不可用,请确保KMS状态正常。
当您禁用或删除了KMS密钥,将导致使用了该KMS密钥的RDS实例无法正常工作,实例被锁定无法访问。同时,所有的运维操作将无法进行,包括但不限于备份实例、变更实例配置、克隆实例、重启实例、HA切换以及修改参数等。为了避免此类情况的发生,建议您使用RDS托管的服务密钥(Default Service CMK)。
如果您选择的实例规格为通用规格,只支持使用RDS托管的服务密钥(Default Service CMK)创建云盘加密实例。独享型规格实例支持RDS托管的服务密钥(Default Service CMK)、用户自定义密钥创建云盘加密实例。详情请参见【产品/功能变更】2024年01月15日起RDS创建云盘加密实例功能变更。
查看云盘加密的开启状态
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在实例的基本信息区域,查看是否有密钥参数,如有即表示实例已开启云盘加密。
开启云盘加密
创建RDS MySQL实例时,如果满足前提条件,则可以在选择存储类型后,勾选云盘加密,然后选择相应的密钥。默认选择RDS托管的服务密钥(Default Service CMK)(推荐使用)。
密钥的创建请参见创建密钥。
创建实例后您可以在实例基本信息页面查看到云盘加密的密钥。
在密钥管理服务控制台可以查看当前账号下的所有密钥。在密钥管理 > 默认密钥页签中,密钥用法为服务密钥时即为阿里云产品托管密钥。RDS托管密钥别名为
alias/acs/rds
,如果您未找到该密钥,表示在该地域下还未创建服务密钥。在RDS控制台开启云盘加密时,选择服务密钥(Default Service CMK),系统会自动创建。RDS托管的服务密钥(Default Service CMK)规格为
Aliyun_AES_256
,默认未开启密钥轮转服务。如果您需要开启密钥轮转服务,请登录密钥管理服务控制台进行购买,详情请参见密钥轮转。
更换密钥
已开启云盘加密,且实例规格为独享规格的RDS MySQL实例,可按照如下操作更换密钥。
更换密钥会发生主备切换,实例通常会出现不超过30秒的服务不可用,请确保您的应用程序具有自动重连机制。
通用规格的RDS MySQL实例只能使用服务密钥,无法修改。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击数据安全性。
在数据加密页签,单击更换密钥。
在修改数据盘加密密钥弹窗中,选择使用已有自定义密钥,并单击确定。