Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Encrypt ossfs 1.0 volumes

Última actualización: Sep 16, 2026

Se recomienda cifrar los datos en escenarios que exigen alta seguridad o cumplimiento normativo. Para cifrar los volúmenes de OSS en clústeres de ACK, utilice las Customer Master Keys (CMK) de Key Management Service (KMS) o las claves administradas por Object Storage Service (OSS). Esto protege la privacidad de los datos y le otorga control sobre su información.

Métodos de cifrado

El cifrado de volúmenes de OSS se aplica del lado del servidor (SSE) o del lado del cliente. ACK solo admite el cifrado del lado del servidor.

  • Cifrado del lado del servidor: OSS cifra los datos antes de almacenarlos en disco dentro de un centro de datos. Los descifra automáticamente cuando usted descarga objetos.

  • Cifrado del lado del cliente: utilice un SDK de cifrado del lado del cliente para cifrar los datos localmente antes de cargarlos a OSS.

OSS ofrece dos métodos de cifrado del lado del servidor. Cada objeto utiliza únicamente uno de estos métodos a la vez.

  • Uso de CMK de KMS para el cifrado (SSE-KMS)

    • Usar la CMK predeterminada: al cargar un objeto, establezca el encabezado de solicitud X-OSS-server-side-encryption como KMS y no especifique ningún ID de CMK.

    • Usar un ID de CMK específico: al cargar un objeto, establezca el encabezado de solicitud X-OSS-server-side-encryption como KMS y configure X-OSS-server-side-encryption-key-id con su CMK ID.

    Importante

    El uso de claves de KMS genera un costo menor por llamadas a la API. Para más información, consulte Billing of KMS 1.0.

    Este método es rentable porque OSS no envía datos por la red al servidor de KMS para cifrarlos ni descifrarlos.

  • Uso de claves administradas completamente por OSS para el cifrado (SSE-OSS)

    • Este método emplea claves que OSS administra por completo. El cifrado funciona como un atributo del objeto.

    • OSS genera y gestiona las claves de cifrado de datos mediante el algoritmo estándar AES-256.

    • Al cargar un objeto, establezca el encabezado de solicitud X-OSS-server-side-encryption como AES256.

Configure los parámetros de cifrado de un volumen de OSS con la herramienta ossfs. Estos ajustes se aplican cuando usted monta el volumen persistente (PV).

Para más información sobre cómo configurar e instalar ossfs, consulte Install ossfs 1.0 .

Requisitos previos

Escenario 1: usar la CMK de KMS predeterminada

  1. Copie el siguiente contenido en un archivo llamado kms-cmk-default.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"           # Replace with your AccessKey ID
          akSecret: "<YourAccessKey Secret>"   # Replace with your AccessKey Secret
          path: "/"
          encrypted: "kms"

    Parámetro

    Descripción

    akId

    AccessKey ID

    akSecret

    AccessKey Secret

    encrypted

    Método de cifrado del volumen:

    • kms: cifrado con KMS.

    • aes256: cifrado AES-256.

  2. Cree el volumen cifrado.

    kubectl create -f kms-cmk-default.yaml
  3. Consulte el volumen cifrado creado.

    kubectl get pv

Escenario 2: usar un ID de CMK de KMS específico

1. Configurar permisos de acceso a KMS

Para cifrar un objeto de OSS con una CMK específica, el usuario o rol de RAM asociado a la AccessKey del PV debe tener permiso para usar esa CMK. Para más información, consulte Server-side encryption.

Antes de empezar, asegúrese de haber created a RAM user o created a RAM role .
  1. Inicie sesión en la consola de RAM con una cuenta de Alibaba Cloud o como administrador de RAM.

  2. En el panel de navegación, seleccione User o Role.

  3. Busque el usuario de RAM correspondiente y haga clic en Add Permissions en la columna Actions. También puede buscar el rol de RAM adecuado y hacer clic en Attach Policy en la columna Actions. Siga las instrucciones en pantalla para otorgar los permisos. Adjunte la política del sistema AliyunKMSFullAccess o una política personalizada llamada AliyunOSSEncryptCustomizedPolicy.

    El permiso AliyunKMSFullAccess otorga un acceso amplio. Para un control más preciso, create a custom policy llamada AliyunOSSEncryptCustomizedPolicy con el siguiente contenido.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:List*",
            "kms:DescribeKey",
            "kms:GenerateDataKey",
            "kms:Decrypt"
          ],
          "Resource": [
            "acs:kms:*:141661496593****:*"  // This allows the principal to use all KMS keys under this Alibaba Cloud account. To allow access to only a specific CMK, replace the wildcard resource with the ARN of that CMK.
          ]
        }
      ]
    }

2. Crear el volumen cifrado

  1. Cree un archivo llamado kms-cmk.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"           # Replace with your AccessKey ID
          akSecret: "<YourAccessKey Secret>"   # Replace with your AccessKey Secret
          path: "/"
          encrypted: "kms"
          kmsKeyId: "<YourCMKID>"          # Replace with your CMK ID
  2. Cree el volumen cifrado.

    kubectl create -f kms-cmk.yaml
  3. Consulte el volumen cifrado creado.

    kubectl get pv

Escenario 3: usar claves administradas por OSS

  1. Cree un archivo llamado sse-oss.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"             # Replace with your AccessKey ID
          akSecret: "<YourAccessKey Secret>"     # Replace with your AccessKey Secret
          path: "/"
          encrypted: "aes256"
  2. Cree el volumen cifrado.

    kubectl create -f sse-oss.yaml
  3. Consulte el volumen cifrado creado.

    kubectl get pv