为满足数据合规性要求,并应对物理盗窃、未授权访问等安全威胁,可利用密钥管理服务 (KMS) 对ECS云盘加密,保障数据机密性与完整性。
云盘加解密工作原理
加密云盘通过两层密钥保障数据安全:
数据密钥:用于加密和解密云盘数据。
KMS密钥:由KMS服务保管,用于加密和解密数据密钥。
创建加密云盘时,由KMS密钥加密的数据密钥会被存储在云盘中。实例启动阶段,云服务器ECS会向KMS服务请求解密数据密钥,解密后的数据密钥明文将被加载到内存中,用于加解密数据。
创建加密云盘
创建加密云盘。
重要加密操作不可逆,云盘一旦被加密,无法再转为非加密状态。
控制台
创建云盘时,可在设置中勾选加密后,下拉列表选择KMS密钥。KMS密钥分为以下两种类型。
服务密钥:由云产品为 ECS 服务自动创建和管理的密钥,别名为
alias/acs/ecs。满足基本的数据加密需求,操作简便,无需管理密钥生命周期。主密钥:在 KMS 中自行导入/创建或由云产品创建的拥有完全控制权的密钥。适用于对数据安全有更高要求,需要自行管理密钥的轮转、禁用、删除等生命周期。
首次选择主密钥加密时,需要依照界面提示为ECS授权
AliyunECSDiskEncryptDefaultRole角色,以允许访问KMS资源。
API
创建ECS实例时加密系统盘及数据盘。
调用API接口RunInstances创建ECS实例时,通过设置系统盘或数据盘的
Encrypted值和KMSKeyId值实现加密。单独创建加密数据盘。
调用API接口CreateDisk创建数据盘时,通过设置
Encrypted值和KMSKeyId值实现加密。
后续步骤。
将非加密云盘转换为加密云盘
已有的非加密云盘无法直接加密,需要利用加密自定义镜像或加密快照,通过更换操作系统或新建云盘间接实现。
系统盘
复制自定义镜像时选择加密复制,将非加密镜像复制为加密镜像。
选择任一方式,间接实现加密系统盘。
使用加密镜像更换原ECS实例的操作系统。
数据盘
应用于生产环境
禁止随意删除或禁用密钥。
一旦删除或禁用密钥,所有依赖该密钥的加密资源(如云盘、快照、镜像)将无法解密,可能导致数据不可恢复。请在操作前进行密钥关联检测。
重要因用户主动操作导致密钥失效而引起的数据不可恢复损失,由用户自行承担。
限制RAM用户仅能创建加密云盘。
为满足特定的安全合规要求,防止因云盘未加密而导致数据泄露,可为账号下的所有RAM用户配置自定义权限策略,限制其只能创建加密云盘,保护数据的机密性。
禁止RAM用户管理密钥。
为防止密钥被误删除或禁用,可仅授予RAM用户只读访问密钥管理服务(KMS)的权限:AliyunKMSReadOnlyAccess。
批量加密已有系统盘
可使用OOS公共模板ACS-ECS-BulkyEncryptSystemDisk,通过更换操作系统方式,加密多台ECS实例的系统盘。
费用说明
云盘费用:加密云盘与非加密云盘的计费规则相同,加密功能本身不收取额外费用。详细内容,可参考块存储计费。
密钥费用:使用密钥过程中不会产生密钥费用。
配额与限制
实例规格
加密系统盘或通过快照创建加密数据盘时,不支持挂载至ecs.ebmg5、ecs.ebmgn5t、ecs.ebmi3、ecs.sccg5、ecs.scch5、ecs.ebmc4和ecs.ebmhfg5。
云盘类型
加密系统盘或通过快照创建加密数据盘时,仅支持加密ESSD系列云盘(ESSD云盘、ESSD Entry云盘、ESSD AutoPL云盘和ESSD同城冗余云盘)。
地域
不支持创建加密云盘的地域:华东5(南京-本地地域-关停中)、韩国(首尔)。
不支持使用主密钥的地域:华东6(福州-本地地域-关停中)、泰国(曼谷)。
常见问题
如何证明数据落盘已加密?
该方法通过禁用密钥进行加密验证,会导致系统盘出现读写异常,建议购买测试实例进行测试。
购买测试实例时,创建使用主密钥加密的系统盘。
禁用主密钥。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。
在用户主密钥或默认密钥页签,定位目标密钥,单击操作列的禁用。
在禁用密钥对话框,确认无误后,单击确定。
重要在禁用KMS主密钥时,请自行排查该密钥是否存在关联使用的云资源,避免禁用密钥后对使用该密钥的服务产生影响。
验证是否加密。
连接ECS实例后,执行
sudo reboot,重启操作系统,由于加密系统盘关联的KMS加密密钥已被禁用,系统无法解密数据,会出现IO hang。此时通过VNC连接ECS实例,显示为黑屏,证明数据已被加密。启用KMS主密钥并释放测试实例。
相关文档
关于KMS密钥的详细介绍,可参考支持云产品加密的密钥类型。
加密的详细原理,请参见云产品集成KMS加密概述。