本文中的云盘指代 云盘共享块存储。下文中统一简称为 云盘,除非特别指出。

什么是 ECS 云盘加密

当您的业务因为业务需要或者认证需要,要求您对您存储在云盘上的数据进行加密,阿里云 ECS 云盘加密功能能对云盘加密,为您提供了一种简单的安全的加密手段,能够对您新创建的云盘进行加密处理。您无需构建、维护和保护自己的密钥管理基础设施,您也无需更改任何已有的应用程序和运维流程,无需做额外的加解密操作,云盘加密功能对于您的业务是无感的。

加密解密的过程对于云盘的性能几乎没有衰减。关于性能测试方式,请参见 块存储性能

在创建加密云盘并将其挂载到 ECS 实例后,将对以下类型的数据进行加密:

  • 云盘中的数据
  • 云盘和实例间传输的数据(实例操作系统内数据不再加密)
  • 加密云盘创建的所有快照(加密快照)

加密解密是在 ECS 实例所在的宿主机上进行的,对从 ECS 实例传输到云盘的数据进行加密。

ECS 云盘加密支持所有在售云盘(普通云盘、高效云盘、SSD 云盘和 ESSD 云盘)和共享块存储(高效共享块存储和SSD共享块存储)。

ECS 云盘加密支持所有在售的实例规格。所有地域都支持云盘的加密。

ECS 云盘加密的依赖

ECS 云盘加密功能依赖于同一地域的 密钥管理服务(Key Management Service,KMS),但是您无需到密钥管理服务控制台做额外的操作,除非您有单独的 KMS 操作需求。

首次使用 ECS 云盘加密功能(在 ECS 实例售卖页或者独立云盘售卖页)时,需要根据页面提示授权开通密钥管理服务(KMS),否则将无法购买带有加密云盘的实例或者加密的独立云盘。

如果通过 API 或者 CLI 使用 ECS 云盘加密功能,比如 CreateInstanceCreateDisk,您需要先在阿里云网站上开通密钥管理服务。

当您在一个地域第一次使用加密盘时,ECS 系统会为您在密钥管理服务(KMS)中的使用地域自动创建一个专为 ECS 使用的用户主密钥(Customer Master Key,CMK),这个用户主密钥,您将不能删除,您可以在密钥管理服务控制台上查询到该用户主密钥。

ECS 云盘加密的密钥管理

ECS 云盘加密功能会为您处理密钥管理。每个新创建云盘都使用一个唯一的 256 位密钥(来自于用户主密钥)加密。此云盘的所有快照以及从这些快照创建的后续云盘也关联该密钥。这些密钥受阿里云密钥管理基础设施的保护(由密钥管理服务提供),这将实施强逻辑和物理安全控制以防止未经授权的访问。您的数据和关联的密钥使用行业标准的 AES-256 算法进行加密。

您无法更改与已经加密了的云盘和快照关联的用户主密钥(CMK)。

阿里云整体密钥管理基础设施符合(NIST) 800-57 中的建议,并使用了符合 (FIPS) 140-2 标准的密码算法。

每个阿里云 ECS 账号在每个地域都具有一个唯一的用户主密钥(CMK),该密钥与数据分开,存储在一个受严格的物理和逻辑安全控制保护的系统上。每个加密盘及其后续的快照都使用云盘粒度唯一的加密密钥(从该用户该地域的用户主密钥创建而来),会被该地域的用户主密钥(CMK)加密。云盘的加密密钥仅在您的 ECS 实例所在的宿主机的内存中使用,永远不会以明文形式存储在任何永久介质(如云盘)上。

费用

ECS 不对云盘加密功能收取额外的费用。

ECS 为您在每个地域创建的用户主密钥(CMK)属于服务密钥,不收取额外费用,也不占用您在每个地域的主密钥数量限制。

说明 您对云盘的任何 读写操作(例如 mount/umount、分区、格式化等)都不会产生费用。但是,凡是涉及云盘本身的管理操作(见下面列表),无论是通过 ECS 管理控制台还是通过 API,均会以 API 的形式使用到密钥管理服务(KMS),将会记入到您在该地域的 KMS 服务 API 调用次数。 请注意,目前 KMS 每个用户每月有 20000 次的免费额度,但一旦高频率大量操作超过免费额度,则会产生费用。详情请参见 密钥管理服务计费方式

对加密云盘的管理操作包括:

请保证您的账户余额充足,否则会出现操作失败,进而可能产生额外的费用。

如何创建加密的云盘

目前,ECS 云盘加密功能只支持云盘。您可以通过不同渠道创建加密云盘:

  • 通过购买实例页面或购买云盘页面

    • 勾选加密选项,创建加密的空盘。
    • 选择加密快照来创建云盘。
  • 通过 API 或 CLI:

    • 指定参数 DataDisk.n.EncryptedCreateInstance)或者 EncryptedCreateDisk)为 true
    • 在 CreateInstance 或 CreateDisk 中,指定加密快照的 SnapshotId

数据加密状态的转换

已经存在的 非加密盘,不能直接转换成 加密盘。同样的,已经存在的 加密盘,不能直接转换成 非加密盘

已经存在的 非加密盘产生的快照,不能直接转换成 加密快照。同样的,已经存在的 加密盘产生的快照,不能直接转换成 非加密快照。

所以,如果您需要对现有数据 非加密状态 转换为 加密状态,阿里云推荐用 Linux 下的 rsync 命令或者 Windows 下的 robocopy 命令将数据从 非加密盘 上复制到(新创建的) 加密盘 上。

如果您需要对现有数据 加密状态 转换为 非加密状态,则用 Linux 下的 rsync 命令或者 Windows 下的 robocopy 命令将数据从 加密盘 上复制到(新创建的) 非加密盘 上。

限制

ECS 云盘加密有如下限制:

  • 只能加密云盘,不能加密本地盘。
  • 只能加密数据盘,不能加密系统盘。
  • 已经存在的非加密盘,不能直接转换成加密盘。
  • 已经加密的云盘,也不能转换为非加密云盘。
  • 已经存在的非加密盘产生的快照,不能直接转换成加密快照。
  • 加密快照不能转换为非加密快照。
  • 不能共享带有加密快照的镜像。
  • 不能跨地域复制带有加密快照的镜像。
  • 不能导出带有加密快照的镜像。
  • 每个地域每个用户无法自己选择用户主密钥 CMK,由系统为您生成。
  • 每个地域 ECS 系统创建的用户主密钥(CMK),用户不能删除,但不收费用。
  • 不支持在云盘加密后更换该云盘用于加解密的关联的用户主密钥。