Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Sécurité de l’image

SUSE Virtualization vous permet de chiffrer et de déchiffrer les images de machines virtuelles. Le mécanisme de chiffrement utilise le module du noyau Linux dm_crypt et l’utilitaire en ligne de commande cryptsetup.

Cette fonctionnalité ne prend en charge que le moteur de données Longhorn V1. Vous ne pouvez pas chiffrer et déchiffrer des images stockées dans d’autres solutions de stockage.

Conditions préalables

Préparez les ressources suivantes :

  • Machine virtuelle source image: You can téléverser ou créer une image en utilisant l’une des méthodes prises en charge.

    Ne téléversez pas une image chiffrée.

  • Secret : Un secret Kubernetes est utilisé comme phrase de passe de dm_crypt. Vous devez spécifier la valeur du champ CRYPTO_KEY_VALUE. Tous les autres champs sont fixes.

    create encryption used secret

    Exemple d’un secret :

    apiVersion: v1
    kind: Secret
    metadata:
      name: encryption
      namespace: default
    data:
      CRYPTO_KEY_CIPHER: aes-xts-plain64
      CRYPTO_KEY_HASH: sha256
      CRYPTO_KEY_PROVIDER: secret
      CRYPTO_KEY_SIZE: 256
      CRYPTO_KEY_VALUE: "Your encryption passphrase"
      CRYPTO_PBKDF: argon2i

    L’exemple contient le code YAML par défaut pour les secrets Kubernetes. En plus de cela, vous pouvez utiliser options de chiffrement pour le mode LUKS, qui est un mode de fonctionnement de cryptsetup. Harvester v1.4.1 et les versions ultérieures prennent en charge ces options, mais vous devez vérifier qu’elles sont prises en charge par vos nœuds.

    Option Valeurs possibles

    CRYPTO_KEY_CIPHER

    aes-xts-plain, aes-xts-plain64, aes-cbc-plain, aes-cbc-plain64, aes-cbc-essiv:sha256

    CRYPTO_KEY_HASH

    sha256, sha384, sha512

    CRYPTO_KEY_SIZE

    256, 384, 512

    CRYPTO_PBKDF

    argon2i, argon2id, pbkdf2

    Vous pouvez créer un secret dans l’espace de noms système en utilisant kubectl et l’interface SUSE Virtualization (fonctionnalité Modifier en YAML). Les ressources dans l’espace de noms système ne sont pas affichées à l’écran Secrets.

  • Classe de Stockage : Les images sont chiffrées à l’aide de Longhorn, donc les champs requis doivent être transmis au pilote CSI Longhorn. Vous pouvez spécifier le secret de chiffrement lors de la création d’une Classe de Stockage. Pour plus d’informations, voir Image StorageClass.

    create storage class

    Exemple d’une Classe de Stockage :

    allowVolumeExpansion: true
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: encryption
    parameters:
      csi.storage.k8s.io/node-publish-secret-name: encryption
      csi.storage.k8s.io/node-publish-secret-namespace: default
      csi.storage.k8s.io/node-stage-secret-name: encryption
      csi.storage.k8s.io/node-stage-secret-namespace: default
      csi.storage.k8s.io/provisioner-secret-name: encryption
      csi.storage.k8s.io/provisioner-secret-namespace: default
      encrypted: "true"
      migratable: "true"
      numberOfReplicas: "3"
      staleReplicaTimeout: "2880"
    provisioner: driver.longhorn.io
    reclaimPolicy: Delete
    volumeBindingMode: Immediate

    Vous pouvez créer un secret dans l’espace de noms système en utilisant kubectl et l’interface SUSE Virtualization (fonctionnalité Modifier en YAML). Les ressources dans l’espace de noms système ne sont pas affichées à l’écran Secrets.

Chiffrer une image de machine virtuelle

  1. Dans l’interface SUSE Virtualization, allez à Images.

  2. Cliquez sur Create.

  3. Spécifiez un espace de noms et un nom.

  4. Dans l’onglet Basics, sélectionnez Encrypt puis sélectionnez une image source.

    create encrypted image
  5. Dans l’onglet Storage, sélectionnez une Classe de Stockage qui inclut des champs liés au chiffrement.

    SUSE Virtualization transmet les champs requis à Longhorn.

    select encryption storage class
  6. Cliquez sur Create.

Déchiffrer une image de machine virtuelle

  1. Dans l’interface SUSE Virtualization, allez à Images.

  2. Cliquez sur Create.

  3. Spécifiez un espace de noms et un nom.

  4. Dans l’onglet Basics, sélectionnez Decrypt puis sélectionnez une image source.

    create decrypted image
  5. Dans l’onglet Storage, sélectionnez harvester-longhorn (Default) ou une autre Classe de Stockage couramment utilisée.

    SUSE Virtualization utilise la Classe de Stockage de l’image source que vous souhaitez déchiffrer.

    select normal storage class
  6. Cliquez sur Create.

Utiliser une image avec des volumes chiffrés

Vous devez sélectionner l’image que vous souhaitez utiliser lors de la création d’une machine virtuelle.

create

L’écran Virtual Machines affiche les icônes et messages suivants lorsque les volumes utilisés par les machines virtuelles sont chiffrés.

case1
case2

Pour déterminer quels volumes sont chiffrés, vérifiez l’onglet Volumes sur l’écran des détails de la Machine Virtuelle.

volume detail

Utilisation avancée avec l’intégration SUSE Rancher Prime

Le secret est une chaîne encodée en Base64 non chiffrée. Pour garder le secret en sécurité, vous pouvez utiliser des projets et des espaces de noms pour isoler les autorisations. Pour plus d’informations, voir Multi-Tenancy.

limites

Vous ne pouvez pas effectuer les opérations suivantes :

  • Exporter une nouvelle image à partir d’une image chiffrée

  • Télécharger une image chiffrée

  • Téléverser une image chiffrée