加密云盘

为满足数据合规性要求,并应对物理盗窃、未授权访问等安全威胁,可利用密钥管理服务 (KMS) 对ECS云盘加密,保障数据机密性与完整性。

云盘加解密工作原理

加密云盘通过两层密钥保障数据安全:

  • 数据密钥:用于加密和解密云盘数据。

  • KMS密钥:由KMS服务保管,用于加密和解密数据密钥。

创建加密云盘时,由KMS密钥加密的数据密钥会被存储在云盘中。实例启动阶段,云服务器ECS会向KMS服务请求解密数据密钥,解密后的数据密钥明文将被加载到内存中,用于加解密数据。

image

创建加密云盘

  1. 创建加密云盘。

    重要

    加密操作不可逆,云盘一旦被加密,无法再转为非加密状态。

    控制台

    创建云盘时,可在设置中勾选加密后,下拉列表选择KMS密钥。KMS密钥分为以下两种类型。

    • 服务密钥:由云产品为 ECS 服务自动创建和管理的密钥,别名为 alias/acs/ecs。满足基本的数据加密需求,操作简便,无需管理密钥生命周期。

    • 主密钥:在 KMS 中自行导入/创建或由云产品创建的拥有完全控制权的密钥。适用于对数据安全有更高要求,需要自行管理密钥的轮转、禁用、删除等生命周期。

    首次选择主密钥加密时,需要依照界面提示为ECS授权AliyunECSDiskEncryptDefaultRole角色,以允许访问KMS资源。

    image

    API

    • 创建ECS实例时加密系统盘及数据盘。

      调用API接口RunInstances创建ECS实例时,通过设置系统盘或数据盘的Encrypted值和KMSKeyId值实现加密。

    • 单独创建加密数据盘。

      调用API接口CreateDisk创建数据盘时,通过设置Encrypted值和KMSKeyId值实现加密。

  2. 后续步骤。

    • 系统盘:创建后即可使用,无需额外操作。

    • 数据盘:

      • 随实例创建:

        • Windows:创建后即可使用,无需额外操作。

        • Linux:需要完成初始化后才可使用。

      • 单独创建:需要将其挂载至ECS实例并完成初始化后才可使用。

将非加密云盘转换为加密云盘

已有的非加密云盘无法直接加密,需要利用加密自定义镜像或加密快照,通过更换操作系统或新建云盘间接实现。

应用于生产环境

  • 禁止随意删除或禁用密钥。

    一旦删除或禁用密钥,所有依赖该密钥的加密资源(如云盘、快照、镜像)将无法解密,可能导致数据不可恢复。请在操作前进行密钥关联检测

    重要

    因用户主动操作导致密钥失效而引起的数据不可恢复损失,由用户自行承担。

  • 限制RAM用户仅能创建加密云盘。

    为满足特定的安全合规要求,防止因云盘未加密而导致数据泄露,可为账号下的所有RAM用户配置自定义权限策略,限制其只能创建加密云盘,保护数据的机密性。

  • 禁止RAM用户管理密钥。

    为防止密钥被误删除或禁用,可仅授予RAM用户只读访问密钥管理服务(KMS)的权限:AliyunKMSReadOnlyAccess。

  • 批量加密已有系统盘

    可使用OOS公共模板ACS-ECS-BulkyEncryptSystemDisk,通过更换操作系统方式,加密多台ECS实例的系统盘

费用说明

  • 云盘费用:加密云盘与非加密云盘的计费规则相同,加密功能本身不收取额外费用。详细内容,可参考块存储计费

  • 密钥费用:使用密钥过程中不会产生密钥费用。

配额与限制

  • 实例规格

    加密系统盘或通过快照创建加密数据盘时,不支持挂载至ecs.ebmg5、ecs.ebmgn5t、ecs.ebmi3、ecs.sccg5、ecs.scch5、ecs.ebmc4ecs.ebmhfg5。

  • 云盘类型

    加密系统盘或通过快照创建加密数据盘时,仅支持加密ESSD系列云盘(ESSD云盘、ESSD Entry云盘、ESSD AutoPL云盘和ESSD同城冗余云盘)。

  • 地域

    • 不支持创建加密云盘的地域:华东5(南京-本地地域-关停中)、韩国(首尔)。

    • 不支持使用主密钥的地域:华东6(福州-本地地域-关停中)、泰国(曼谷)。

常见问题

如何证明数据落盘已加密?

重要

该方法通过禁用密钥进行加密验证,会导致系统盘出现读写异常,建议购买测试实例进行测试。

  1. 购买测试实例时,创建使用主密钥加密的系统盘。

  2. 禁用主密钥。

    1. 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击资源 > 密钥管理

    2. 用户主密钥默认密钥页签,定位目标密钥,单击操作列的禁用

    3. 禁用密钥对话框,确认无误后,单击确定

      重要

      在禁用KMS主密钥时,请自行排查该密钥是否存在关联使用的云资源,避免禁用密钥后对使用该密钥的服务产生影响。

  3. 验证是否加密。

    连接ECS实例后,执行sudo reboot,重启操作系统,由于加密系统盘关联的KMS加密密钥已被禁用,系统无法解密数据,会出现IO hang。此时通过VNC连接ECS实例,显示为黑屏,证明数据已被加密。

  4. 启用KMS主密钥并释放测试实例

相关文档