更新时间:2025-08-27 GMT+08:00
分享

加密云硬盘存储卷

云盘加密功能适用于需要高安全性或合规性要求的应用场景,可以保护数据的隐私性和自主性。本文将为您介绍如何使用数据加密服务(DEW)中管理的密钥对云盘存储卷数据进行加密。

前提条件

自动创建加密云硬盘存储卷

通过动态存储卷使用云硬盘时,CCE支持通过控制台和kubectl命令方式,创建加密云硬盘存储卷,以保护数据的隐私性和自主性。具体步骤如下:

  1. 登录CCE控制台,单击集群名称进入集群。
  2. 动态创建存储卷声明和存储卷。

    1. 在左侧导航栏选择“存储”,在右侧选择“存储卷声明”页签。单击右上角“创建存储卷声明 PVC”,在弹出的窗口中填写存储卷声明参数。
    2. “存储卷声明类型”选择“云硬盘”,并开启加密,并选择密钥。其余参数可根据情况按需填写,详情请参见通过动态存储卷使用云硬盘
      图1 加密存储卷
    3. 单击“创建”。

  3. 前往“存储卷声明”页面,查看加密云硬盘存储卷声明是否创建成功,并查看存储配置项是否显示已加密。

    图2 PVC加密

  4. 在应用中使用加密PVC时,和使用普通PVC的方法一致。
  1. 使用kubectl连接集群。
  2. 创建 pvc-evs-auto.yaml 文件。其中参数说明可参见kubectl命令行方式

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-evs-auto
      namespace: default
      annotations:
        everest.io/disk-volume-type: SAS    # 云硬盘的类型
        everest.io/crypt-key-id: 37f202db-a970-4ac1-a506-e5c4f2d7ce69   # 加密密钥ID,可在数据加密服务获取
        everest.io/csi.data-encryption-algorithm: "SM4"                # 用于指定数据加密算法
      labels:
        failure-domain.beta.kubernetes.io/region: <your_region>   # 替换为您待部署应用的节点所在的区域
        failure-domain.beta.kubernetes.io/zone: <your_zone>       # 替换为您待部署应用的节点所在的可用区
    spec:
      accessModes:
      - ReadWriteOnce               # 云硬盘必须为ReadWriteOnce
      resources:
        requests:
          storage: 10Gi             # 云硬盘大小,取值范围 1-32768
      storageClassName: csi-disk    # StorageClass类型为云硬盘
    表1 加密参数说明

    参数

    示例

    说明

    everest.io/crypt-key-id

    37f202db-a970-4ac1-a506-e5c4f2d7ce69

    表示加密密钥的ID,可以在数据加密服务(DEW)中获取。

    everest.io/csi.data-encryption-algorithm

    "SM4"

    非必填参数,用于指定数据加密算法,取值为AES_256或SM4,不填该参数时将默认使用AES_256。

    说明:

    使用该参数时,要求集群版本在1.25.9-r0、1.27.6-r0、1.28.4-r0及以上,Everest插件版本在2.4.153及以上,且该功能正在陆续上线中,具体请以EVS服务的公告为准。

    • AES_256:表示AES对称密钥。
    • SM4:表示国密SM4对称密钥。

  3. 执行命令创建 PVC。

    kubectl apply -f pvc-evs-auto.yaml

  4. 前往“存储卷声明”页面,查看加密云硬盘存储卷声明是否创建成功,并查看存储配置项是否显示已加密。

相关文档