Verschlüsseltes angepasstes Image erstellen
Wenn Sie über ein benutzerdefiniertes qcow2-Image verfügen, das die Anforderungen für die IBM Cloud® Virtual Private Cloud-Infrastruktur erfüllt, können Sie es verschlüsseln. Die folgende Anleitung beschreibt, wie Sie Ihr benutzerdefiniertes Image mit LUKS-Verschlüsselung unter Verwendung von QEMU und Ihrer eigenen, individuellen Passphrase verschlüsseln können. Nachdem Sie das Image verschlüsselt haben, schließen Sie die Kennphrase mit Ihrem Kundenrootschlüssel (CRK) ein. Der verschlüsselte Datenschlüssel wird zusammen mit den Metadaten Ihres Bildes gespeichert, wenn Sie es in „ IBM Cloud VPC “ importieren.
Eine schnelle Möglichkeit, ein verschlüsseltes angepasstes Image zu erstellen, ist die Verwendung eines Images vom Datenträger. Sie können diese Funktion verwenden, um ein angepasstes Image aus dem Bootdatenträger einer Instanz zu erstellen und die vom Kunden verwaltete Verschlüsselung anzugeben. Weitere Informationen finden Sie unter Informationen zum Erstellen eines Image aus einem Datenträger.
Sie können kein verschlüsseltes angepasstes Image in einem privaten Katalog oder auf einem Bare-Metal-Server verwenden.
Weitere Informationen finden Sie unter Einführung in SSH-Schlüssel.
Funktionsweise verschlüsselter angepasster Images
Nach der Verschlüsselung eines angepassten Image mit Ihrer eigenen Kennphrase können Sie es in IBM Cloud Object Storage hochladen. Bevor Sie das verschlüsselte Image in IBM Cloud VPC hochladen, müssen Sie einen Schlüsselmanagementservice (KMS - Key Management Service) einrichten und einen angepassten Kundenrootschlüssel (CRK - Customer Root Key) erstellen. Verwenden Sie anschließend Ihren CRK, um die Passphrase zu schützen, mit der Sie Ihr Image verschlüsseln. Durch das Wrapping der geheimen Kennphrase mit Ihrem CRK erstellen Sie ein Element, dass im KMS als WEDK (Wrapped Data Encryption Key - Datenverschlüsselungsschlüssel mit Wrapping) bezeichnet wird. Durch das Wrapping Ihrer Passphrase-Daten werden diese verschlüsselt und geschützt, sodass Sie Ihre Passphrase niemals im Klartext weitergeben müssen.
Wenn Sie das Image importieren, müssen Sie den Cloudressourcennamen (CRN) für Ihren Kundenrootschlüssel (CRK) angeben, der in Ihrem KMS gespeichert wird. Darüber hinaus müssen Sie auch den verschlüsselten Text (Ciphertext) für Ihren Datenverschlüsselungsschlüssel mit Wrapping (WDEK) angeben. Die Kennphrase wird immer verschlüsselt im WDEK gespeichert. Das Wrapping wird nur aufgehoben, wenn ein virtueller Server, der das verschlüsselte Image verwendet, gestartet wird.
Wenn Sie bereit sind, einen virtuellen Server mit dem verschlüsselten Image bereitzustellen, sind die Verschlüsselungsdaten nicht erforderlich. Der WDEK und der CRN des CRK werden als Metadaten zusammen mit dem Image gespeichert. Weitere Informationen finden Sie unter Informationen zu verschlüsselten angepassten Images.
Übersicht über den Prozess für verschlüsselte Images
In den folgenden Schritten wird der allgemeine Prozess zusammengefasst, den Sie befolgen müssen, um ein verschlüsseltes Image erfolgreich zu erstellen und zu verschlüsseln. In nachfolgenden Abschnitten werden Details zur Ausführung der Schritte erläutert.
- Erstellen Sie ein verschlüsseltes Image mit QEMU und einer Kennphrase Ihrer Wahl, um eine qcow2-Datei mit der LUKS-Verschlüsselung zu verschlüsseln.
- Laden Sie die verschlüsselte Imagedatei in IBM Cloud Object Storage hoch.
- Richten Sie Key Protect ein, erstellen Sie einen Kunden-Root-Schlüssel (CRK) und verpacken Sie anschließend Ihre Passphrase mit dem CRK, um einen verpackten Datenverschlüsselungsschlüssel (WDEK) zu generieren.
- Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen IBM Cloud Identity and Access Management verfügen, damit Sie das Image von IBM Cloud Object Storage importieren können und Ihr WDEK zur Datenverschlüsselung verwendet werden kann.
- Importieren Sie das Image in IBM Cloud VPC. Sie müssen den Speicherort IBM Cloud Object Storage, den in Key Protect gespeicherten CRK sowie Ihren WDEK-Chiffretext angeben.
Image verschlüsseln
In diesem Schritt legen Sie mithilfe von QEMU Ihre eigene Passphrase fest und verschlüsseln Ihr benutzerdefiniertes Image mit der LUKS-Verschlüsselung.
Das angepasste Image, das Sie verschlüsseln wollen, muss die Anforderungen für angepasste Images für die IBM Cloud VPC-Infrastruktur erfüllen. Vergewissern Sie sich, dass Sie die Anforderungen zur Image-Vorbereitung in den folgenden Themen erfüllt haben:
- Einführung in angepasste Images
- Angepasstes Linux-Image erstellen
- Angepasstes Windows-Image erstellen
Um die Verschlüsselungsaufgabe durchzuführen, muss QEMU in der Version 2.12 oder höher installiert sein.
Sie müssen ein Linux- oder Windows-Betriebssystem verwenden, um die Anweisungen für die QEMU-Verschlüsselung auszuführen. Das Mac-Betriebssystem wird nicht unterstützt.
Führen Sie die folgenden Schritte aus, um mithilfe von QEMU eine zweite verschlüsselte qcow2-Datei Ihres benutzerdefinierten Images zu erstellen.
-
Bestimmen Sie eine eigene Kennphrase zur Verschlüsselung Ihres Image. In den Beispielbefehlen dieser Task wird die Kennphrase
abc123verwendet. Halten Sie Ihre Kennphrase verfügbar. Später müssen Sie die Passphrase umschließen, um einen Wrapped Data Encryption Key (WDEK) zu erstellen. Der WDEK ist erforderlich, wenn Sie das Image in IBM Cloud VPC importieren. -
Prüfen Sie Ihr aktuelles angepasstes qcow2-Image mithilfe des folgenden Befehls:
qemu-img info my_100G_custom_image.qcow2Für das hier aufgeführte Beispiel wird eine Ausgabe wie die folgende zurückgegeben:
image: my_100G_custom_image.qcow2 file format: qcow2 virtual size: 100 GiB (107374182400 bytes) disk size: 1.28 GiB cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false -
Erstellen Sie eine neue leere qcow2-Datei genau der gleichen Größe und verschlüsseln Sie sie mit der LUKS-Verschlüsselung. Verwenden Sie Ihre gewählte Kennphrase, zum Beispiel
abc123, um die Datei zu verschlüsseln.qemu-img create --object secret,id=sec0,data=abc123 -f qcow2 -o encrypt.format=luks,encrypt.key-secret=sec0 my_100G_custom_image-encrypted.qcow2 100G -
Konvertieren Sie Ihr qcow2-Image in
my_100G_custom_image.qcow2das verschlüsselte Imagemy_100G_custom_image-encrypted.qcow2.qemu-img convert --object secret,id=sec0,data=abc123 --image-opts driver=qcow2,file.filename=my_100G_custom_image.qcow2 --target-image-opts driver=qcow2,encrypt.key-secret=sec0,file.filename=my_100G_custom_image-encrypted.qcow2 -n -p -
Vergleichen Sie die beiden Dateien, um zu prüfen, ob sie identisch sind.
qemu-img compare --object secret,id=sec0,data=abc123 --image-opts driver=qcow2,file.filename=my_100G_custom_image.qcow2 driver=qcow2,encrypt.key-secret=sec0,file.filename=my_100G_custom_image-encrypted.qcow2 -p -
Prüfen Sie die Datei auf Fehler.
qemu-img check --object secret,id=sec0,data=abc123 --image-opts driver=qcow2,encrypt.key-secret=sec0,file.filename=my_100G_custom_image-encrypted.qcow2Für das hier aufgeführte Beispiel wird eine Ausgabe wie die folgende zurückgegeben:
No errors were found on the image. 16343/1638400 = 1.00% allocated, 0.00% fragmented, 0.00% compressed clusters Image end offset: 1074790400 -
Führen Sie die Überprüfung an
infoIhrer neuen, verschlüsselten Datei durch, um sicherzustellen, dass sie die erwartete Größe und Verschlüsselungsstufe aufweist.qemu-img info my_100G_custom_image-encrypted.qcow2Für das hier aufgeführte Beispiel wird eine Ausgabe wie die folgende zurückgegeben:
image: my_100G_custom_image-encrypted.qcow2 file format: qcow2 virtual size: 100 GiB (107374182400 bytes) disk size: 1.27 GiB cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false
Verschlüsseltes Image in IBM Cloud Object Storage hochladen
Wenn Ihre Image-Datei mit der LUKS-Verschlüsselung und Ihrer individuellen Passphrase verschlüsselt ist, können Sie sie wie folgt auf IBM Cloud Object Storage hochladen:
- Vergewissern Sie sich, dass die Datei für Ihr angepasstes Image über einen aussagekräftigen Namen verfügt, anhand dessen Sie sie zu einem späteren Zeitpunkt einfach auffinden können.
- Klicken Sie auf der Seite Objekte Ihres IBM Cloud Object Storage-Buckets auf Hochladen. Sie können das Plug-in für die Aspera-Hochgeschwindigkeitsübertragung verwenden, um Images mit mehr als 200 MB hochzuladen.
Schlüsselmanagementservice und Schlüssel einrichten
IBM Cloud Hyper Protect Crypto Services sind veraltet. Kunden können bestehende Instanzen bis zum 20. März 2027 nutzen. Weitere Informationen finden Sie unter IBM Cloud Hyper Protect Crypto Services wird nicht mehr unterstützt. Um einen kontinuierlichen Schutz zu gewährleisten, sollten Sie erwägen, Ihre bestehenden Verschlüsselungsschlüssel auf eine dedizierte Key Protect-Instanz zu migrieren. Weitere Informationen finden Sie im Migrationsleitfaden.
Um ein verschlüsseltes benutzerdefiniertes Image in IBM Cloud VPC zu importieren, benötigen Sie Key Protect. Sie benötigen außerdem einen Kundenrootschlüssel (CRK) und einen Datenverschlüsselungsschlüssel mit Wrapping (WDEK). Das WDEK ist die Passphrase, die Sie zum Verschlüsseln Ihres Images verwendet haben, das mit Ihrem CRK verpackt wurde, sodass Ihre Passphrase nur Ihnen bekannt bleibt. Der WDEK wird verwendet, um auf das verschlüsseltes Image zuzugreifen, wenn eine virtueller Serverinstanz gestartet wird, die das verschlüsselte Image verwendet.
Die folgende Liste fasst die wichtigsten Voraussetzungen für die Schlüsselverwaltung zusammen:
- Key Protect bereitstellen.
- Importieren Sie einen Kunden-Root-Schlüssel (CRK) in Key Protect oder erstellen Sie einen unter Key Protect.
- Führen Sie ein Wrapping (Verschlüsselung) der Kennphrase, mit der Sie Ihr Image verschlüsselt haben, mit Ihrem Kundenrootschlüssel durch, um einen Datenverschlüsselungsschlüssel mit Wrapping (WDEK) zu erstellen.
-
Stellen Sie den Key Protect-Service bereit.
Durch die Bereitstellung einer Key Protect-Serviceinstanz wird sichergestellt, dass diese die neuesten Updates enthält, die für die vom Kunden verwaltete Verschlüsselung erforderlich sind.
-
Erstellen oder importieren Sie einen Kundenrootschlüssel (Customer Root Key, CRK) in IBM Key Protect.
Planen Sie für den Import von Schlüsseln voraus, indem Sie die Informationen zu Ihren Optionen für die Erstellung und Verschlüsselung von Schlüsselinformationen lesen. Wenn Sie zusätzliche Sicherheit benötigen, können Sie den sicheren Import der Schlüsselinformationen ermöglichen, indem Sie Ihre Schlüsselinformationen mit einem Importtoken verschlüsseln, bevor Sie sie in der Cloud verwenden.
Der Status des Kunden-Root-Schlüssels (CRK) wirkt sich direkt auf die Verfügbarkeit Ihres verschlüsselten Images aus. Wenn der CRK gesperrt, deaktiviert oder zerstört wird, kann der Wrapped Data Encryption Key (WDEK) nicht mehr entschlüsselt werden, und keine virtuelle Serverinstanz, die das verschlüsselte Image verwendet, kann gestartet werden. Weitere Informationen finden Sie unter Wichtige Zustände und Übergänge.
-
Verwenden Sie Ihren Kundenrootschlüssel (CRK), um ein Wrapping der eindeutigen Kennphrase durchzuführen, mit der Sie Ihr Image unter Verwendung der LUKS-Verschlüsselung verschlüsselt haben. In dem Beispiel für die Imageverschlüsselung wurde die Kennphrase
abc123verwendet.-
Stellen Sie sicher, dass das Key Protect-CLI-Plug-in installiert ist, damit Sie ein WDEK erstellen können. Weitere Informationen finden Sie unter Plug-in der Key Protect-Befehlszeilenschnittstelle installieren.
-
Verschlüsseln Sie Ihre Kennphrase mit Base64-Codierung, um sie für das Wrapping mit Ihrem CRK vorzubereiten. Führen Sie den folgenden Befehl aus, indem Sie Ihre Kennphrase anstelle von
abc123einsetzen. Der Parameter -n ist erforderlich, damit Sie kein Zeilenvorschubzeichen codieren, wodurch die Kennphrase mit Wrapping nicht mehr funktionieren würde.
echo -n "abc123"|base64Für das hier aufgeführte Beispiel wird eine Ausgabe wie die folgende zurückgegeben:
YWJjMTIz- Führen Sie ein Wrapping Ihrer codierten Kennphrase mit Ihrem CRK durch, indem Sie den folgenden Befehl
ibmcloud kp key wrapausführen. Die Passphrase, die zur Erstellung des verschlüsselten Images verwendet wird, ist zwar technisch gesehen kein Datenverschlüsselungsschlüssel, doch handelt es sich hierbei um die Terminologie, die Key Protect für das Ein- und Auspacken von Daten verwendet. Die von Key Protect zurückgegebenen Daten werden als WDEK bezeichnet. Weitere Informationen finden Sie unter kp key wrap.
ibmcloud kp key wrap KEY_ID -i INSTANCE_ID -p PLAINTEXTDabei ist KEY_ID die ID des Stammschlüssels, den Sie für das Wrapping verwenden möchten, INSTANCE_ID die Instanz-ID, die Ihre Key Protect-Service-Instanz identifiziert, und PLAINTEXT Ihre verschlüsselte Passphrase. Beispiel: YWJjMTIz.
Für das hier aufgeführte Beispiel wird eine Ausgabe wie die folgende zurückgegeben:
Wrapping key... SUCCESS Ciphertext eyJjaXBoZXJ0ZXh0IjoiKzhjbHVqcUNP ...<redacted>... NmY3MTJjNGViIn0=- Speichern Sie den verschlüsselten Text (Ciphertext) für den WDEK persistent im Speicher. Sie müssen den verschlüsselten Text für den WDEK (Ciphertext) angeben, wenn Sie Ihr verschlüsseltes Image in IBM Cloud VPC importieren.
-
IAM-Autorisierungsvoraussetzungen
Stellen Sie sicher, dass Sie die erforderlichen Berechtigungen in IBM Cloud Identity and Access Managementerstellt haben.
- Erstellen Sie über IBM Cloud Identity and Access Management (IAM) eine Autorisierung zwischen Cloud Block Storage (Quellenservice) und Ihrem Schlüsselmanagementservice (Zielservice). Die Autorisierung ermöglicht es, dass die IBM Cloud-Backplane-Services Ihren WDEK für die Datenverschlüsselung verwenden.
- Stellen Sie sicher, dass Sie eine IAM-Berechtigung zwischen Image Service for VPC und IBM Cloud Object Storage erstellt haben. Geben Sie Infrastrukturservices als Quellenservice an. Geben Sie als Ressourcentyp Image Service for VPC an. Geben Sie IBM Cloud Object Storage als Zielservice an. Die Autorisierung dient dazu, dass der Image Service for VPC auf Images in IBM Cloud Object Storage zugreifen kann. Weitere Informationen finden Sie im Abschnitt Zugriff auf IBM Cloud Object Storage für den Import von Images erteilen.
Nächste Schritte
Sobald Ihr Image erfolgreich verschlüsselt wurde, Key Protect eingerichtet ist und Sie die erforderlichen Schlüssel erstellt haben, können Sie das Image in IBM Cloud VPC importieren. Wenn das Image in IBM Cloud VPC verfügbar ist, können Sie es zur Bereitstellung von Instanzen verwenden. Stellen Sie sicher, dass Sie Zugriff auf IBM Cloud Object Storage gewährt haben, um Bilder zu importieren.
Wenn Sie bereit sind, eine neue virtuelle Serverinstanz mit dem verschlüsselten Image bereitzustellen, werden keine Verschlüsselungsinformationen benötigt. Der Datenverschlüsselungsschlüssel mit Wrapping (WDEK) und der CRN des Kundenrootschlüssels (CRK) werden als Metadaten zusammen mit dem Image gespeichert.