Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Encrypt ossfs 1.0 volumes

Dernière mise à jour :Sep 16, 2026

Le chiffrement des données est recommandé pour les scénarios exigeant un niveau élevé de sécurité ou de conformité. Utilisez des Customer Master Keys (CMK) issues du service Key Management Service (KMS) ou des clés gérées par Object Storage Service (OSS) pour chiffrer les volumes OSS dans les clusters ACK. Cette approche garantit la confidentialité des données et vous offre un contrôle total sur vos informations.

Méthodes de chiffrement

Le chiffrement des volumes OSS s'effectue soit côté serveur (SSE), soit côté client. ACK prend uniquement en charge le chiffrement côté serveur.

  • Chiffrement côté serveur : OSS chiffre les données avant de les stocker sur disque dans un centre de données, puis les déchiffre automatiquement lors du téléchargement des objets.

  • Chiffrement côté client : utilisez un SDK de chiffrement côté client pour chiffrer les données localement avant de les télécharger vers OSS.

OSS propose deux méthodes de chiffrement côté serveur. Une seule méthode peut être appliquée à un objet à la fois.

  • Utilisation de CMK issues de KMS pour le chiffrement (SSE-KMS)

    • Utiliser la CMK par défaut : lors du téléchargement d'un objet, définissez l'en-tête de requête X-OSS-server-side-encryption sur KMS sans spécifier d'ID de CMK.

    • Utiliser un ID de CMK spécifique : lors du téléchargement d'un objet, définissez l'en-tête de requête X-OSS-server-side-encryption sur KMS, et attribuez votre CMK ID au paramètre X-OSS-server-side-encryption-key-id.

    Important

    L'utilisation des clés KMS entraîne des frais minimes liés aux appels API. Pour plus d'informations, consultez la rubrique Facturation de KMS 1.0.

    Cette méthode est rentable car OSS n'envoie pas les données sur le réseau vers le serveur KMS pour le chiffrement et le déchiffrement.

  • Utilisation de clés entièrement gérées par OSS pour le chiffrement (SSE-OSS)

    • Cette méthode repose sur des clés entièrement gérées par OSS ; le chiffrement constitue une propriété de l'objet.

    • OSS génère et gère les clés de chiffrement des données en utilisant l'algorithme de chiffrement robuste AES-256, conforme aux normes industrielles.

    • Lors du téléchargement d'un objet, définissez l'en-tête de requête X-OSS-server-side-encryption sur AES256.

Configurez les paramètres de chiffrement d'un volume OSS à l'aide de l'outil ossfs. Ces paramètres sont appliqués lors du montage du volume persistant (PV).

Pour savoir comment configurer et installer ossfs, consultez la rubrique Installer ossfs 1,0 .

Prérequis

Scénario 1 : Utiliser la CMK KMS par défaut

  1. Copiez le contenu suivant dans un fichier nommé 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"

    Paramètre

    Description

    akId

    ID AccessKey

    akSecret

    Secret AccessKey

    encrypted

    Méthode de chiffrement du volume :

    • kms : chiffrement KMS.

    • aes256 : chiffrement AES-256.

  2. Créez le volume chiffré.

    kubectl create -f kms-cmk-default.yaml
  3. Consultez le volume chiffré créé.

    kubectl get pv

Scénario 2 : Utiliser un ID de CMK KMS spécifique

1. Configurer les autorisations d'accès à KMS

Pour chiffrer un objet OSS avec une CMK spécifique, l'utilisateur RAM ou le rôle associé à l'AccessKey du PV doit disposer des autorisations nécessaires pour utiliser cette CMK. Pour plus d'informations, consultez la section Chiffrement côté serveur.

Avant de commencer, assurez-vous d'avoir créé un utilisateur RAM ou créé un rôle RAM .
  1. Connectez-vous à la console RAM en utilisant un compte Alibaba Cloud ou en tant qu'administrateur RAM.

  2. Dans le volet de navigation, sélectionnez User ou Role.

  3. Recherchez l'utilisateur RAM cible et cliquez sur Add Permissions dans la colonne Actions. Vous pouvez également rechercher le rôle RAM cible et cliquer sur Attach Policy dans la colonne Actions. Suivez les instructions à l'écran pour accorder les autorisations. Attachez la stratégie système AliyunKMSFullAccess ou une stratégie personnalisée nommée AliyunOSSEncryptCustomizedPolicy.

    L'autorisation AliyunKMSFullAccess offre un accès étendu. Pour un contrôle plus granulaire, créez une stratégie personnalisée nommée AliyunOSSEncryptCustomizedPolicy avec le contenu suivant.

    {
      "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. Créer le volume chiffré

  1. Créez un fichier nommé 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. Créez le volume chiffré.

    kubectl create -f kms-cmk.yaml
  3. Consultez le volume chiffré créé.

    kubectl get pv

Scénario 3 : Utiliser des clés gérées par OSS

  1. Créez un fichier nommé 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. Créez le volume chiffré.

    kubectl create -f sse-oss.yaml
  3. Consultez le volume chiffré créé.

    kubectl get pv