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

前提条件

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

背景信息

加密功能默认使用服务密钥(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云盘类型。
自选自定义密钥(BYOK)华东5(南京-本地地域)、华东6(福州-本地地域)、泰国(曼谷)和韩国(首尔)地域暂不支持自选自定义密钥(BYOK)。

操作步骤

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

加密数据盘

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

限制条件

加密数据盘时,如果选择用快照创建磁盘,必须满足以下条件才能选择加密选项为数据盘加密。

限制项说明
地域中国(香港)D可用区、新加坡A可用区暂不支持使用快照创建加密数据盘。
实例规格族不包括ecs.ebmg5、ecs.ebmgn5t、ecs.ebmi3、ecs.sccg5、ecs.scch5、ecs.ebmc4和ecs.ebmhfg5。更多信息,请参见实例规格族
镜像仅支持公共镜像和自定义镜像,不支持共享镜像和市场镜像。
云盘类型仅支持ESSD云盘类型。

操作步骤

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

加密快照

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

操作步骤

创建快照的具体操作,请参见创建快照

复制加密镜像

复制镜像可用于跨地域部署ECS实例、同地域或者跨地域变更加密镜像与非加密镜像的加密状态。同地域或者跨地域加密复制镜像后,您可以使用复制后的加密镜像快速创建并运行同一镜像环境的ECS实例。

限制条件

限制项说明
地域限制如果您是阿里云账号,可以进行多地域复制,复制地域最多支持选择5个。
镜像类型加密镜像或者非加密镜像。

操作步骤

复制加密镜像的具体操作,请参见复制镜像

共享加密镜像

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

限制条件

限制项说明
账号权限
  • 您只能共享自己的自定义镜像,其他用户共享给您的镜像无法再次共享。
  • 每份自定义镜像最多可以共享给50个用户。
  • 共享对象是阿里云账号(主账号)时,镜像的源账号和目标账号必须为阿里云账号。阿里云账号与其RAM账号之间的相关权限说明如下:
    • 例如,阿里云账号A共享镜像给阿里云账号B,则账号B需要为其RAM账号B1添加对应的自定义权限策略,实现相应的功能。详细说明如下:
      说明
      场景一:如果RAM用户B1(阿里云账号B的子账号)需要查看共享镜像,则需要具备DescribeImages接口权限,自定义权限策略如下。
      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeImages",
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
      场景二:如果RAM用户B1(阿里云账号B的子账号)需要通过共享镜像创建ECS实例,则需要具备RunInstances或者CreateInstance接口权限,自定义权限策略如下。
      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:RunInstances",
                      "ecs:CreateInstance"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
      更多信息,请参见通过脚本编辑模式创建自定义权限策略
    • 如果在某些特定场景下需要实现某些权限控制,例如仅允许RAM用户B1(阿里云账号B的子账号)使用阿里云账号A共享的自定义镜像创建ECS实例,或者仅允许RAM用户B1(阿里云账号B的子账号)使用自定义镜像创建ECS实例,不允许使用公共镜像、市场镜像等创建ECS实例等场景,则账号B需要为其RAM账号B1添加对应的自定义权限策略。更多信息,请参见共享镜像权限策略说明
密钥使用建议建议用户为共享加密镜像创建独立的BYOK密钥,避免KMS密钥泄露导致安全风险。
地域限制
  • 仅支持同地域跨账号共享,不支持跨地域共享镜像。如需跨地域共享镜像,请先复制镜像到目标地域后再共享或者先共享镜像后再跨地域复制镜像。具体操作,请参见复制镜像
  • 将镜像共享给其他阿里云账号使用时,支持中国站、国际站和日本站账号之间共享镜像,但是基于镜像市场镜像创建的自定义镜像除外。由于基于镜像市场镜像创建的自定义镜像在不同的站点费用不同,所以不支持跨站点共享。
取消共享加密镜像
  • 被共享者无法再通过ECS管理控制台或ECS API查询到该镜像。
  • 被共享者无法再使用该镜像创建ECS实例或者更换系统盘。
  • 被共享者使用共享镜像创建的ECS实例无法重新初始化云盘。
禁用加密镜像
  • 被共享者无法再使用该镜像创建ECS实例或者更换系统盘。
  • 被共享者使用共享镜像创建的ECS实例无法重新初始化云盘。

操作步骤

共享加密自定义镜像的具体操作,请参见共享加密自定义镜像