使用加密云盘

对于有等保合规要求的企业,建议在创建云盘时启用加密云盘。如果需要自定义密钥加密算法、密钥轮转策略或实现自主密钥管理,推荐使用用户主密钥(CMK)进行加密。

安全风险

云盘中存储的数据,如商业机密、用户个人信息或财务记录,若不进行加密,数据将以明文形式存在。在极端情况下,例如数据中心物理设备被盗、运维人员误操作或恶意行为、甚至黑客通过虚拟化层的漏洞渗透,都可能导致敏感数据的直接泄露。

加密云盘可以确保数据在存储过程中不被篡改,保证数据的完整性和真实性。即使磁盘被物理层或虚拟化层被攻击,数据也无法被直接读取,从而保护用户隐私。

最佳实践

创建实例或者创建数据盘时,可选择使用服务密钥或用户主密钥(CMK)对云盘进行加密:

  • 服务密钥:阿里云KMS免费提供默认密钥用于云产品服务端加密,无需购买实例,用于为用户提供基本的数据加密保护能力。

  • 用户主密钥:若需要自行决定密钥的生成、存储、轮换和销毁策略,不依赖于云服务提供商,适应不同的业务需求和安全策略,则需付费购买KMS密钥实例。具体操作,请参见购买和启用KMS实例

控制台

  • 创建实例时,在系统盘数据盘设置中,勾选加密选项,在下拉框中选择密钥。

    image

  • 创建数据盘时,在云盘设置中,勾选加密选项,在下拉框中选择密钥。

    image.png

API

  • 通过RunInstances或者CreateInstance接口创建实例时,通过Encrypted参数指定是否加密,KMSKeyId参数指定使用的加密密钥。

  • 通过CreateDisk接口创建云盘时,通过Encrypted参数指定是否加密,KMSKeyId参数指定使用的加密密钥。

合规能力

检查:是否存在未开启加密的磁盘

ECS使用成熟度评估与洞察

  1. 前往ECS使用成熟度评估与洞察

  2. 选择安全性能力页签,单击检查项使用云盘加密能力提升数据安全性,可以查看未开启加密的云盘。

云安全中心

  1. 前往云安全中心控制台

  2. 在左侧菜单栏选择风险治理 > 云安全态势管理,选择云产品配置风险页签,查找名为确保挂载磁盘已加密未挂载磁盘加密的检查项,单击操作列的扫描按钮。

    若状态显示为未通过,表示存在未开启加密的磁盘,可单击详情进行查看。

拦截一:禁止创建未加密云盘

在组织或账户层面通过RAM Policy策略,主动拦截未开启加密的创建实例和创建云盘行为。

阿里云支持按地域开启块存储账号级默认加密功能,开启后,该地域下所有新建云盘、复制快照、复制镜像均默认强制加密,无需再单独指定加密参数。
  • 针对企业用户:

    1. 使用阿里云主账号登录资源目录控制台,单击左侧菜单栏的管控策略创建自定义权限策略,粘贴以下JSON内容。

      {
        "Version": "1",
        "Statement": [
          {
            "Action": [
              "ecs:RunInstances",
              "ecs:CreateInstance"
            ],
            "Resource": "*",
            "Condition": {
              "StringLike": {
                "ecs:IsDiskEncrypted": "*false*"
              }
            },
            "Effect": "Deny"
          },
          {
            "Action": [
              "ecs:RunInstances",
              "ecs:CreateInstance"
            ],
            "Resource": "*",
            "Condition": {
              "StringEquals": {
                "ecs:IsSystemDiskEncrypted": "false"
              }
            },
            "Effect": "Deny"
          },
          {
            "Action": "ecs:CreateDisk",
            "Resource": "*",
            "Condition": {
              "StringLike": {
                "ecs:IsDiskEncrypted": "*false*"
              }
            },
            "Effect": "Deny"
          }
        ]
      }
    2. 在资源目录中选择合适的节点绑定策略,策略将对目录下的账号产生拦截效果。

  • 针对非企业用户:

    1. 使用阿里云主账号登录RAM控制台,单击左侧菜单栏的权限策略,创建一条与上述内容相同的自定义策略。

    2. 通过管理权限策略授权将该条权限策略授权给RAM用户、RAM用户组或RAM角色。

拦截二:禁止创建未使用用户主密钥(CMK)的云盘

在组织或账户层面通过RAM Policy策略,主动拦截未使用用户主密钥加密的创建实例和创建云盘行为。

  • 针对企业用户:

    1. 使用阿里云主账号登录资源目录控制台,单击左侧菜单栏的管控策略创建自定义权限策略,粘贴以下JSON内容。

      {
        "Version": "1",
        "Statement": [
          {
            "Action": [
              "ecs:RunInstances",
              "ecs:CreateInstance"
            ],
            "Resource": "*",
            "Condition": {
              "StringLike": {
                "ecs:IsDiskByokEncrypted": "*false*"
              }
            },
            "Effect": "Deny"
          },
          {
            "Action": [
              "ecs:RunInstances",
              "ecs:CreateInstance"
            ],
            "Resource": "*",
            "Condition": {
              "StringEquals": {
                "ecs:IsSystemDiskByokEncrypted": "false"
              }
            },
            "Effect": "Deny"
          },
          {
            "Action": "ecs:CreateDisk",
            "Resource": "*",
            "Condition": {
              "StringLike": {
                "ecs:IsDiskByokEncrypted": "*false*"
              }
            },
            "Effect": "Deny"
          }
        ]
      }
    2. 在资源目录中选择合适的节点绑定策略,策略将对目录下的账号产生拦截效果。

  • 针对非企业用户:

    1. 使用阿里云主账号登录RAM控制台,单击左侧菜单栏的权限策略,创建一条与上述内容相同的自定义策略。

    2. 通过管理权限策略授权将该条权限策略授权给RAM用户、RAM用户组或RAM角色。

修复:修复存量云盘未开启加密风险

在使用该模板前请检查您的云盘类型:仅支持加密ESSD系列云盘(ESSD PL0/PL1/PL2/PL3、ESSD Entry、ESSD AutoPLESSD同城冗余)。同时,折扣购买的预付费磁盘不支持此模板加密,并会产生额外的费用。

通过系统运维管理 OOS批量加密云盘,请参见ACS-ECS-BulkyEncryptDisks