数据加密适用于数据安全或法规合规等场景,帮助您加密保护存储在阿里云ECS上的数据,您可以选择对系统盘、数据盘或者镜像进行加密,然后基于加密后的云盘和镜像去创建ECS实例,以保护数据的隐私性和安全性。本文主要为您介绍加密云盘、快照和镜像的一些限制条件和相关操作。

前提条件

您已开通当前地域的密钥管理服务KMS(Key Management Service)。具体操作,请参见开通密钥管理服务

背景信息

加密功能默认使用服务密钥(Default Service CMK)为用户数据进行加密,也支持使用自定义密钥BYOK(Bring Your Own Key)为用户的数据进行加密。云盘的加密机制中,每一块云盘会有相对应的用户主密钥CMK(Customer Master Key)和数据密钥DK(Data Key),并通过信封加密(Envelope Encryption)机制对用户数据进行加密。更多信息,请参见加密概述
使用密钥加密时,请仔细阅读以下注意事项:
限制项 说明
服务密钥 每个地域每个用户的服务密钥(Default Service CMK)唯一,不支持删除和禁用操作。
自定义密钥BYOK
  • 在ECS控制台上首次选择自定义密钥(BYOK)加密云盘时,需单击去授权,根据页面引导为ECS授权AliyunECSDiskEncryptDefaultRole角色,允许ECS访问您的KMS资源。

    关于角色的更多信息,请参见访问控制RAM介绍

  • 在KMS控制台创建密钥时,需选择Aliyun_AES_256或Aliyun_SM4密钥类型,ECS创建加密云盘时暂不支持其他密钥类型。
  • 用户删除、禁用BYOK密钥前,需要确认卸载或更换该密钥关联的云盘,避免出现云盘数据丢失、实例启动失败等问题。查询密钥关联的云盘信息,请参见API DescribeDisks
    因BYOK密钥一旦删除将无法恢复,使用该密钥加密的内容及产生的数据密钥也将无法解密。在密钥失效前,推荐您使用禁用密钥功能,或者自行排查该密钥是否存在关联使用的云资源,避免密钥丢失后数据不可恢复。
    注意 因用户手动创建的BYOK密钥可被用户进行删除、禁用等操作导致密钥失效,当密钥失效后会存在已创建的加密云盘、加密镜像、加密快照数据不可恢复的风险。

    声明:由用户自行操作密钥失效后导致关联的云盘资源相关数据丢失后不可恢复的风险,由用户自行承担责任。

加密系统盘

系统盘是装有操作系统的云盘,只能随实例创建,生命周期与挂载的ECS实例相同,您可以在创建实例时加密系统盘。

说明 中国(香港)D可用区、新加坡A可用区暂不支持在创建实例时加密系统盘。

使用须知

限制项 说明
实例规格族 不包括ecs.ebmg5、ecs.ebmgn5t、ecs.ebmi3、ecs.sccg5、ecs.scch5、ecs.ebmc4和ecs.ebmhfg5。更多信息,请参见实例规格族
镜像 仅支持公共镜像和自定义镜像,不支持共享镜像和市场镜像。
云盘类型 仅支持ESSD云盘类型。

操作步骤

加密系统盘的具体操作,请参见加密系统盘

加密数据盘

加密数据盘后,数据盘上的动态数据传输以及静态数据都会被加密。您可以在创建实例时加密数据盘,也可以在创建云盘时加密数据盘。

使用须知

加密数据盘时,如果选择用快照创建磁盘,必须满足以下条件才能选择加密选项为数据盘加密。
说明 该功能限制正在公测中,公测地域和可用区仅支持中国(香港)的B、C可用区、新加坡的B、C可用区。
限制项 说明
实例规格族 不包括ecs.ebmg5、ecs.ebmgn5t、ecs.ebmi3、ecs.sccg5、ecs.scch5、ecs.ebmc4和ecs.ebmhfg5。更多信息,请参见实例规格族
镜像 仅支持公共镜像和自定义镜像,不支持共享镜像和市场镜像。
云盘类型 仅支持ESSD云盘类型。

操作步骤

加密数据盘的具体操作,请参见加密数据盘

加密快照

如果云盘是加密云盘,使用该云盘创建的快照也是加密快照。

操作步骤

创建快照的具体操作,请参见创建一个云盘快照

共享加密镜像

共享镜像可用于跨账号部署ECS实例。如果ECS实例挂载的云盘开启了加密功能,则通过该ECS实例所创建的自定义镜像为加密镜像,此时您可以将加密后的自定义镜像共享给其他阿里云账号使用。该账号可以使用您共享的加密自定义镜像,快速创建并运行同一镜像环境的ECS实例。
说明 共享加密自定义镜像的功能目前支持华北2(北京)、华东2(上海)、中国(香港)、新加坡地域。

使用须知

限制项 说明
角色授权 加密自定义镜像在被共享之前,您需要通过阿里云访问控制创建AliyunECSShareEncryptImageDefaultRole角色并进行授权。授权的具体操作,请参见如何共享加密自定义镜像?

AliyunECSShareEncryptImageDefaultRole角色授权时建议遵循最小权限的安全原则,只授予镜像相关的密钥权限。

角色授权代码示例:
{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "kms:List*"
      ],
      "Resource": [
        "acs:kms:cn-beijing:xxx:key",
        "acs:kms:cn-shanghai:xxx:key"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "kms:DescribeKey",
        "kms:TagResource",
        "kms:UntagResource"
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": [
        "acs:kms:cn-beijing:xxx:key/yyy",
        "acs:kms:cn-shanghai:xxx:key/yyy"
      ],
      "Effect": "Allow"
    }
  ]
}
密钥使用建议 建议用户为共享加密镜像创建独立的BYOK密钥,避免KMS密钥泄露导致安全风险。
取消共享加密镜像
  • 被共享者无法通过ECS管理控制台或ECS API查询到该镜像。
  • 被共享者无法使用该镜像创建实例和更换系统盘。
  • 被共享者使用共享镜像创建的实例无法重新初始化云盘。
禁用加密镜像
  • 被共享者无法使用该镜像创建实例和更换系统盘。
  • 被共享者使用共享镜像创建的实例无法重新初始化云盘。

操作步骤

共享加密镜像的具体操作,请参见:
  1. 如何共享加密自定义镜像?
  2. 共享或取消共享镜像