|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
|
Dies ist eine unveröffentlichte Dokumentation für SUSE® Storage 1.12 (Dev). |
Verschlüsselung des Backing-Images
Longhorn ermöglicht es Ihnen, ein Backing-Image durch Klonen zu verschlüsseln und zu entschlüsseln. Der Verschlüsselungsmechanismus für das Backing-Image nutzt das Linux-Kernel-Modul dm_crypt und das Befehlszeilentool cryptsetup.
Ein Backing-Image klonen
Sie können ein Backing-Image mit YAML-Code klonen. Beachten Sie, dass dadurch ein völlig neues Backing-Image mit dem gleichen Inhalt wie das Original erstellt wird. Das Backing-Image verbraucht ebenfalls Speicherplatz.
Beispiel eines heruntergeladenen Backing-Images:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot
namespace: longhorn-system
spec:
sourceType: download
sourceParameters:
url: https://longhorn-backing-image.s3-us-west-1.amazonaws.com/parrot.raw
checksum: 304f3ed30ca6878e9056ee6f1b02b328239f0d0c2c1272840998212f9734b196371560b3b939037e4f4c2884ce457c2cbc9f0621f4f5d1ca983983c8cdf8cd9a
Beispiel für YAML-Code, der verwendet wird, um das Beispiel-Backing-Image zu klonen:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot-cloned
namespace: longhorn-system
spec:
sourceType: clone
sourceParameters:
backing-image: parrot
encryption: ignore
|
Sie können ein Backing-Image auch über die Longhorn-Benutzeroberfläche klonen.
-
Gehen Sie zu Einstellungen > Backing-Image.
-
Klicken Sie auf Backing-Image erstellen.
-
Konfigurieren Sie die folgenden Einstellungen:
-
Erstellt von: Wählen Sie Von bestehendem Backing-Image klonen.
-
Verschlüsselung: Wählen Sie Ignorieren.
-
-
Klicken Sie auf OK.
Verschlüsseln Sie ein Backing-Image
Sie können die Verschlüsselung während des Klonens eines Backing-Images aktivieren, damit das Backing-Image mit einem verschlüsselten Volume verwendet werden kann.
Beispiel eines heruntergeladenen Backing-Images:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot
namespace: longhorn-system
spec:
sourceType: download
sourceParameters:
url: https://longhorn-backing-image.s3-us-west-1.amazonaws.com/parrot.raw
checksum: 304f3ed30ca6878e9056ee6f1b02b328239f0d0c2c1272840998212f9734b196371560b3b939037e4f4c2884ce457c2cbc9f0621f4f5d1ca983983c8cdf8cd9a
Beispiel für YAML-Code, der verwendet wird, um das Beispiel-Backing-Image zu klonen und zu verschlüsseln:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot-cloned-encrypted
namespace: longhorn-system
spec:
sourceType: clone
sourceParameters:
backing-image: parrot
encryption: encrypt
secret: longhorn-crypto
secret-namespace: longhorn-system
Beispiel für YAML-Code, der verwendet wird, um das Backing-Image zu verschlüsseln:
apiVersion: v1
kind: Secret
metadata:
name: longhorn-crypto
namespace: longhorn-system
stringData:
CRYPTO_KEY_VALUE: "Your encryption passphrase"
CRYPTO_KEY_PROVIDER: "secret"
CRYPTO_KEY_CIPHER: "aes-xts-plain64"
CRYPTO_KEY_HASH: "sha256"
CRYPTO_KEY_SIZE: "256"
CRYPTO_PBKDF: "argon2i"
|
Sie können auch eine verschlüsselte Kopie eines Backing-Images über die Longhorn-Benutzeroberfläche erstellen.
-
Gehen Sie zu Einstellungen > Backing-Image.
-
Klicken Sie auf Backing-Image erstellen.
-
Konfigurieren Sie die folgenden Einstellungen:
-
Erstellt von: Wählen Sie Von bestehendem Backing-Image klonen.
-
Verschlüsselung: Wählen Sie Verschlüsseln.
-
-
Geben Sie das Geheimnis und den Namespace des Geheimnisses an, die für die Verschlüsselung des Backing-Images verwendet werden sollen.
-
Klicken Sie auf OK.
Entschlüsseln Sie ein Backing-Image
Sie können ein verschlüsseltes Backing-Image durch Klonen entschlüsseln.
Beispiel eines verschlüsselten Backing-Images:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot-cloned-encrypted
namespace: longhorn-system
spec:
sourceType: clone
sourceParameters:
backing-image: parrot
encryption: encrypt
secret: longhorn-crypto
secret-namespace: longhorn-system
Beispiel für YAML-Code, der verwendet wird, um das Backing-Image zu verschlüsseln und zu entschlüsseln:
apiVersion: v1
kind: Secret
metadata:
name: longhorn-crypto
namespace: longhorn-system
stringData:
CRYPTO_KEY_VALUE: "Your encryption passphrase"
CRYPTO_KEY_PROVIDER: "secret"
CRYPTO_KEY_CIPHER: "aes-xts-plain64"
CRYPTO_KEY_HASH: "sha256"
CRYPTO_KEY_SIZE: "256"
CRYPTO_PBKDF: "argon2i"
Beispiel für YAML-Code, der verwendet wird, um das Backing-Image zu entschlüsseln:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot-cloned-decrypt
namespace: longhorn-system
spec:
sourceType: clone
sourceParameters:
backing-image: parrot-cloned-encrypted
encryption: decrypt
secret: longhorn-crypto
secret-namespace: longhorn-system
|
Sie können auch ein Backing-Image (durch Klonen) über die Longhorn-Benutzeroberfläche entschlüsseln.
-
Gehen Sie zu Einstellungen > Backing-Image.
-
Klicken Sie auf Backing-Image erstellen.
-
Konfigurieren Sie die folgenden Einstellungen:
-
Erstellt von: Wählen Sie Von bestehendem Backing-Image klonen.
-
Verschlüsselung: Wählen Sie Entschlüsseln.
-
-
Geben Sie das Geheimnis und den Namespace des Geheimnisses an, die für die Entschlüsselung verwendet werden sollen.
-
Klicken Sie auf OK.
Verwenden Sie ein verschlüsseltes Backing-Image mit einem verschlüsselten Volume.
Das Geheimnis, das zum Verschlüsseln des Backing-Images und des Volumes verwendet wird, muss identisch sein. Sobald das verschlüsselte Backing-Image bereit ist, können Sie die StorageClass mit dem entsprechenden Backing-Image und dem Geheimnis erstellen, um das Volume für die Arbeitslast zu erstellen.
Beispiel für YAML-Code für das Verschlüsselungsgeheimnis:
apiVersion: v1
kind: Secret
metadata:
name: longhorn-crypto
namespace: longhorn-system
stringData:
CRYPTO_KEY_VALUE: "Your encryption passphrase"
CRYPTO_KEY_PROVIDER: "secret"
CRYPTO_KEY_CIPHER: "aes-xts-plain64"
CRYPTO_KEY_HASH: "sha256"
CRYPTO_KEY_SIZE: "256"
CRYPTO_PBKDF: "argon2i"
Beispiel für YAML-Code für die StorageClass:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: longhorn-crypto-global
provisioner: driver.longhorn.io
allowVolumeExpansion: true
parameters:
numberOfReplicas: "3"
staleReplicaTimeout: "2880" # 48 hours in minutes
fromBackup: ""
encrypted: "true"
backingImage: "parrot-cloned-encrypted"
backingImageDataSourceType: "clone"
# global secret that contains the encryption key that will be used for all volumes
csi.storage.k8s.io/provisioner-secret-name: "longhorn-crypto"
csi.storage.k8s.io/provisioner-secret-namespace: "longhorn-system"
csi.storage.k8s.io/node-publish-secret-name: "longhorn-crypto"
csi.storage.k8s.io/node-publish-secret-namespace: "longhorn-system"
csi.storage.k8s.io/node-stage-secret-name: "longhorn-crypto"
csi.storage.k8s.io/node-stage-secret-namespace: "longhorn-system"
Für weitere Informationen siehe Volume-Verschlüsselung.
Nutzungsbeschränkungen
-
Longhorn kann keine bereits verschlüsselten Backing-Images verschlüsseln und keine unverschlüsselten Backing-Images entschlüsseln.
-
Longhorn erlaubt es Ihnen nicht, den Verschlüsselungsschlüssel eines verschlüsselten Backing-Images zu ändern.
-
Beim Verschlüsseln eines qcow2-Images erstellt Longhorn zunächst ein Roh-Image aus dem qcow2-Image und verschlüsselt es dann. Das resultierende verschlüsselte Roh-Image verbraucht während des Klonens vorübergehend zusätzlichen Speicherplatz. Beispiel:
-
Wenn wir ein 10MiB qcow2-Image mit einer virtuellen Größe von 200MiB verschlüsseln, erstellen wir zunächst das Roh-Image aus dem qcow2, das 200MiB Speicherplatz verbrauchen wird.
-
Longhorn erstellt dann das verschlüsselte Backing-Image aus diesem 200MiB Roh-Image, was weitere 200MiB Speicherplatz beansprucht.
-
Nachdem das verschlüsselte Backing-Image erstellt wurde, wird das temporäre Roh-Image bereinigt und gibt die 200MiB Speicherplatz frei.
-
-
Wenn das Quell-Backing-Image eine spärliche Datei ist, verliert die Datei nach der Verschlüsselung ihre Spärlichkeit.
-
Um die Speicherung der LUKS-Metadaten während der Verschlüsselung zu ermöglichen, wird die Bildgröße um 16 MB erhöht. Für weitere Informationen siehe die cryptsetup Versionshinweise.