Verschlüsseltes angepasstes Image erstellen
Wenn Sie über ein benutzerdefiniertes Image „ qcow2 “ verfügen, das die Anforderungen für die Infrastruktur „ IBM Cloud® Virtual Private Cloud “ erfüllt, können Sie es verschlüsseln. Das folgende Verfahren beschreibt, wie Sie Ihr benutzerdefiniertes Image mit LUKS-Verschlüsselung unter Verwendung von QEMU und Ihrer eigenen eindeutigen 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 dann 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 Umschließen Ihrer Passphrase-Daten werden diese verschlüsselt und gesichert, 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.
- Stellen Sie einen Schlüsselmanagementservice bereit, erstellen Sie einen Kundenrootschlüssel (CRK) und führen Sie ein Wrapping Ihrer Kennphrase mit dem CRK durch, um einen Datenverschlüsselungsschlüssel mit Wrapping (WDEK) zu generieren.
- Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen „ IBM ” und „ Cloud Identity and Access Management ” verfügen, damit Sie das Image von „ IBM Cloud Object Storage ” importieren können und Ihr WDEK für die Datenverschlüsselung verwendet werden kann.
- Importieren Sie das Image in IBM Cloud VPC. Sie müssen die IBM Cloud Object Storage-Position, den CRK, der in Ihrem KMS gespeichert ist, und den verschlüsselten Text (Ciphertext) Ihres WDEK angeben.
Image verschlüsseln
In diesem Schritt verwenden Sie QEMU, um Ihre eigene Passphrase festzulegen und Ihr benutzerdefiniertes Image mit LUKS-Verschlüsselung zu verschlüsseln.
Das angepasste Image, das Sie verschlüsseln wollen, muss die Anforderungen für angepasste Images für die IBM Cloud VPC-Infrastruktur erfüllen. Bestätigen Sie, dass Sie die Anforderungen zur Bildvorbereitung in den folgenden Themen erfüllt haben:
- Einführung in angepasste Images
- Angepasstes Linux-Image erstellen
- Angepasstes Windows-Image erstellen
Um die Verschlüsselungsaufgabe abzuschließen, muss QEMU 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 mit QEMU eine zweite verschlüsselte Datei „ qcow2 “ 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 umschlossenen Datenverschlüsselungsschlüssel (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 Bild „ qcow2 “
my_100G_custom_image.qcow2in das verschlüsselte Bild „my_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
infoSie die neue, verschlüsselte Datei aus, um zu überprüfen, ob 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 Bilddatei mit LUKS-Verschlüsselung und Ihrer individuellen Passphrase verschlüsselt ist, können Sie sie auf IBM Cloud Object Storage hochladen, indem Sie die folgenden Schritte ausführen:
- 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
Um ein verschlüsseltes benutzerdefiniertes Image in „ IBM Cloud VPC “ zu importieren, benötigen Sie einen Schlüsselverwaltungsdienst. 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 mit Ihrem CRK ummantelten Bildes verwendet haben, 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 Managementvoraussetzungen zusammen:
- Stellen Sie einen unterstützten Schlüsselmanagementservice bereit, entweder Key Protect oder Hyper Protect Crypto Services.
- Importieren Sie einen Kundenrootschlüssel (CRK) in den Schlüsselmanagementservice oder erstellen Sie einen in dem Schlüsselmanagementservice.
- 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.
Die folgenden Beispielschritte sind spezifisch für Key Protect, aber der allgemeine Ablauf gilt ebenso für Hyper Protect Crypto Services. Wenn Sie Hyper Protect Crypto Services verwenden, finden Sie entsprechende Anweisungen unter Informationen zu Hyper Protect Crypto Services.
-
Stellen Sie den Key Protect-Service bereit.
Durch die Bereitstellung einer „ Key Protect “-Dienstinstanz 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.
-
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 CLI-Plug-in „ Key Protect “ installiert ist, damit Sie ein WDEK generieren 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 technisch gesehen zwar kein Datenverschlüsselungsschlüssel, aber es handelt sich 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 die Verschlüsselung verwenden möchten, INSTANCE_ID die Instanz-ID, die Ihre Instanz des Dienstes „ Key Protect “ 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 Berechtigung 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
Wenn Ihr Image erfolgreich verschlüsselt wurde, Ihr KMS 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 zum Importieren von Images erteilt haben.
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.