|
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é du volume :
Harvester 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.
Conditions préalables
Préparez les ressources suivantes :
-
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.
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: argon2iL’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 ou l’interface utilisateur de Harvester (Edit as YAML fonctionnalité). Les ressources dans l’espace de noms système ne sont pas affichées à l’écran Secrets de l’interface utilisateur de Harvester.
-
StorageClass : 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.
Exemple d’un StorageClass :
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: ImmediateVous pouvez créer un secret dans l’espace de noms système en utilisant l’interface utilisateur de Harvester (Edit as YAML fonctionnalité) et kubectl. Les ressources dans l’espace de noms système ne sont pas affichées à l’écran Secrets de l’interface utilisateur de Harvester.
Volumes chiffrés
Vous pouvez créer un volume chiffré en utilisant un StorageClass chiffré aux emplacements suivants de l’interface utilisateur :
-
Volumes : Créer écran
-
Onglet Volumes sur la Machine Virtuelle : Créer écran
Utilisation avancée avec l’intégration Rancher
Le secret est une chaîne non chiffrée encodée en Base64. Pour garder le secret en sécurité, vous pouvez utiliser des projets et des espaces de noms pour isoler les permissions. Pour plus d’informations, voir Multi-Tenancy.