Verwendung des Interoperabilitätsprotokolls für die Schlüsselverwaltung (KMIP)
IBM® Key Protect for IBM Cloud® bietet native Unterstützung für das Key Management Interoperability Protocol (KMIP), sodass Sie KMIP-Adapter erstellen und Zertifikate direkt über die „ Key Protect “-Konsole hochladen können.
Diese Lösung beschreibt die Architektur der nativen KMIP-Unterstützung von „ Key Protect “ zum Schutz Ihrer „ VMware® “-Instanzen. Die native KMIP-Unterstützung von „ Key Protect “ arbeitet mit der nativen „ vSphere “-Verschlüsselung von „ VMware “ und der „ vSAN™ “-Verschlüsselung zusammen, um eine vereinfachte Verwaltung der Speicherverschlüsselung zu ermöglichen – mit der Sicherheit und Flexibilität der vom Kunden verwalteten Schlüssel von „ IBM Cloud® “ Key Protect.
Diese Lösung stellt eine Alternative zum Angebot „ KMIP für VMware “ auf IBM Cloud dar. Dieses Dokument befasst sich nicht mit der Konfiguration dieser Basislösungen. Weitere Informationen zur Architektur der Foundation-Lösung finden Sie unter „ VMware Solutions – Überblick “.
Diese Funktion läuft parallel zur aktuellen KMIP-Lösung für „ VMware “. Sie können keine Adapter, die mit der Lösung „ VMware “ erstellt wurden, in „ Key Protect “ importieren und umgekehrt.
Vorteile
Key Protect Die native KMIP-Unterstützung bietet folgende Vorteile:
- VMware Zertifizierung
- Die KMIP-Unterstützung in „ Key Protect “ ist von VMware zertifiziert und lässt sich direkt in jeden Dienst oder jede Plattform integrieren, die eine Verschlüsselung über einen KMIP-KMS-Server unterstützt. Der KMIP-Support ist in Key Protect integriert und wird von diesem verwaltet, sodass kein KMIP-Server-Support durch Drittanbieter erforderlich ist.
- Verschlüsselung auf Hypervisor-Ebene
- Die Integration mit „ VMware “, „ vSAN Encryption“ und „ vSphere Encryption“ ermöglicht eine Verschlüsselung auf Hypervisor-Ebene statt auf Speicher- oder VM-Ebene. Dieser Ansatz vereinfacht die Verwaltung und sorgt für Transparenz in Ihrer Speicherlösung und Ihrer Anwendung.
- Vollständig verwalteter Service
- Der Schlüsselverwaltungsserver wird vollständig verwaltet und ist in vielen Multizonen-Regionen (MZRs) von „ IBM Cloud “ verfügbar.
- Vom Kunden verwaltete Schlüssel
- Sie behalten die volle Kontrolle über Ihre Verschlüsselungsschlüssel und können diese jederzeit widerrufen.
- Kosteneffizient
- KMIP-Symmetrieschlüssel werden als einzelne Schlüsselversion abgerechnet, sodass Sie nur für das bezahlen, was Sie tatsächlich nutzen.
Erstellen eines Adapters
Es können maximal 200 Adapter auf einer einzigen Instanz erstellt werden. Jedem Adapter können bis zu 200 Zertifikate zugeordnet werden.
KMIP-Adapter werden mit Key Protect-Root-Schlüsseln erstellt. Wenn Sie keinen Stammschlüssel haben, erstellen Sie einen.
Bevor Sie beginnen, stellen Sie sicher, dass Sie auf der Instanz über die Rolle „ Manager “ oder die Rolle „ KmipAdapterManager “ verfügen.
So erstellen Sie einen Adapter:
-
Klicken Sie im Navigationsmenü auf „ KMIP-Adapter “. Wenn dies Ihr erster Adapter ist, ist die Tabelle leer.
-
Klicken Sie auf Erstellen.
-
Geben Sie im Seitenbereich die folgenden Informationen an:
- Name – Geben Sie einen Namen für den Adapter ein (2–40 Zeichen).
- Beschreibung (optional) – Geben Sie eine Beschreibung für den Adapter ein (2–240 Zeichen).
- Stammschlüssel – Wählen Sie den Stammschlüssel aus, der für diesen Adapter verwendet werden soll. Der Root-Schlüssel verschlüsselt die KMIP-Schlüssel, die der Adapter erstellt. Ihr Root-Schlüssel muss sich im Status „
active“ befinden, damit Ihr Adapter ordnungsgemäß funktioniert.
-
Optional: Fügen Sie ein öffentliches „ TLS “-Zertifikat hinzu, damit der Inhaber des entsprechenden privaten Zertifikats über den KMIP-Adapter mit Key Protect kommunizieren kann. Nur autorisierte Zertifikate können KMIP-Protokollanfragen an Ihre Instanz stellen.
So fügen Sie ein Zertifikat hinzu:
- Klicken Sie auf Hinzufügen.
- Geben Sie einen Namen für das Zertifikat ein.
- Geben Sie den Inhalt des Zertifikats im Format „ PEM “ ein, einschließlich der Tags „
BEGIN CERTIFICATE“ und „END CERTIFICATE“. - Klicken Sie auf „ Zertifikat hinzufügen “.
Die Zuordnung des Zertifikats kann einige Minuten dauern. Ein Zertifikat kann in einer „ Key Protect “-Region nur einem einzigen Adapter zugeordnet werden.
Auf Ressourcen, die über das KMIP-Protokoll verwaltet werden, kann nicht über die „ HTTP “-API zugegriffen werden.
Bewahren Sie den privaten Schlüssel aller hochgeladenen Zertifikate sicher auf. Jedes Zertifikat, das auf einen KMIP-Adapter hochgeladen wird, kann alle unterstützten KMIP-Operationen ausführen.
Konfigurieren eines KMIP-Clients zur Kommunikation mit einem Adapter
Um mit Ihrem Adapter zu kommunizieren, müssen Sie entweder „ VMware “ einrichten oder einen KMIP-Client erstellen, der über TCP mit mTLS kommunizieren und Nachrichten im TTLV-Format senden kann, wie in den KMIP-Spezifikationen beschrieben.
Für „ VMware vSphere “ befolgen Sie die Schritte unter „ Hinzufügen eines Standard-Schlüsselanbieters mithilfe des vSphere-Clients “. Wenn Sie einen Standard-Schlüsselanbieter hinzufügen, verwenden Sie den für die Region Ihrer Instanz spezifischen Endpunkt „ Key Protect “. Verwenden Sie beispielsweise für eine
„ Key Protect “-Instanz in der Region „ us-south “ die Adresse us-south.kms.cloud.ibm.com und den Port 5696.
Der „ vSphere “-Client muss sein Client-Zertifikat auf den Adapter hochladen, um mit dem KMIP-Adapter kommunizieren zu können. Befolgen Sie die Schritte unter „Verwenden der Zertifikatsoption zum Herstellen einer vertrauenswürdigen Verbindung über einen Standard-Schlüsselanbieter“, um das Client-Zertifikat herunterzuladen, und laden Sie es anschließend auf den Adapter hoch.
Gewährung des Zugangs zu KMIP
Überprüfen Sie die Rollen und Berechtigungen auf Informationen zum Zuordnen der IBM Cloud IAM-Rollen zu Key Protect-Aktionen.
Die folgenden IAM-Aktionen regeln Ressourcen, die für die Verwaltung des Zugriffs auf KMIP-Ressourcen verwendet werden:
kms.kmip-management.createkms.kmip-management.listkms.kmip-management.readkms.kmip-management.delete
Jede Aktion gewährt das genannte Verhalten allen kmip_adapter certificate und kmip_object Ressourcen in der Instanz, ohne Granularität.
Anzeigen und Aktualisieren von Adapterdetails
Im Adapter-Detailfenster werden Informationen zu einem Adapter angezeigt, und Sie können dort Aktionen wie das Hinzufügen von Zertifikaten durchführen.
So rufen Sie die Details zum Adapter ab:
- Klicken Sie auf das Aktionsmenü (⋯) des Adapters.
- Wählen Sie „Details“ aus.
Im Detailfenster werden der Name des Adapters, die Beschreibung, die zugehörigen symmetrischen KMIP-Schlüssel sowie die hochgeladenen Zertifikate angezeigt. Über dieses Fenster können Sie auch weitere Zertifikate hochladen.
Symmetrische KMIP-Schlüssel können nicht über die Konsole gelöscht werden. Um Schlüssel zu löschen, verwenden Sie die CLI. Es
können nur symmetrische KMIP-Schlüssel gelöscht werden, die sich nicht im Status „ Active “ (Status „ 1 “) befinden. Ein Adapter kann nicht gelöscht werden, wenn er Schlüssel im Status „ Active “ enthält.
Die Ressourcen jedes Adapters sind durch einen Root-Schlüssel geschützt. Ein aktiver Stammschlüssel, der einem Adapter zugeordnet ist, kann nicht gelöscht werden.
Jeder erstellte symmetrische KMIP-Schlüssel zählt als eine einzelne Schlüsselversion und verursacht eine Gebühr für eine Schlüsselversion. Das Löschen eines symmetrischen KMIP-Schlüssels ist unwiderruflich.
Von KMIP unterstützte Objekte und Operationen
Die Gründe für zu erwartende Fehler, z. B. eine Anfrage gegen eine nicht unterstützte Operation, finden Sie in der Dokumentation zur KMIP-Version 1.4 unter Result Reason.
KMIP-unterstützte Operationen
Es werden ausschließlich die folgenden Vorgänge unterstützt.
| Abschnitt | Operation | Zusammenfassung |
|---|---|---|
| 4.1 | Erstellen | Erstellt ein KMIP-Objekt. |
| 4.9 | Suchen | Sucht nach Objekten, die den angegebenen Kriterien oder Attribut-Metadaten entsprechen. |
| 4.11 | Abrufen | Ruft Objektinformationen ab, insbesondere das Schlüsselmaterial. |
| 4.12 | Attribute abrufen | Ruft die Attribut-Metadaten des Objekts ab. |
| 4.14 | Attribute hinzufügen | Fügt dem Objekt Attribut-Metadaten hinzu. |
| 4.19 | Aktivieren | Setzt das Objekt in den Status „Aktiv“. Das Objekt kann nicht zerstört werden, solange es sich im aktiven Zustand befindet. |
| 4.20 | Entziehen | Setzt das Objekt in den Status „Kompromittiert“, wenn der Code für den Widerrufsgrund „Schlüsselkompromittierung“ oder „CA-Kompromittierung“ lautet. Andernfalls wird das Objekt in den Status „Deaktiviert“ versetzt. |
| 4.21 | Löschen | Vernichtet das Schlüsselmaterial des Objekts. This action cannot be reversed. |
| 4.26 | Versionen entdecken | Fragt beim Server die unterstützten KMIP-Protokollversionen ab. Es wird ausschließlich „ v1.4 “ zurückgegeben. |
Unterstützte Objekte
| Abschnitt | Object |
|---|---|
| 2.2 | SymmetrischerSchlüssel |
Erstellen und Verwenden von KMIP-Adaptern in der API
In diesem Abschnitt wird beschrieben, wie KMIP-Adapter des Profils „ native_1.0 “ mit der API verwendet werden, einschließlich des Hinzufügens und Entfernens von KMIP-Client-Zertifikaten sowie des Anzeigens und Löschens von KMIP-Objekten.
Sie können einen KMIP-Adapter erstellen, indem Sie einen „ POST “-Aufruf an den folgenden Endpunkt senden.
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters
Operationen auf KMIP-Adapter-Subressourcen, einschließlich KMIP-Client-Zertifikaten und KMIP-Objekten, finden an den folgenden Endpunkten statt:
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>/certificates
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>/kmip_objects
-
Rufen Sie die Authentifizierungsnachweise ab, um mit Schlüsseln im Service zu arbeiten.
-
Kopieren Sie die ID des Root-Schlüssels, den Sie zum Erstellen Ihres KMIP-Adapters verwenden wollen.
Sie können die ID für einen Schlüssel in Ihrer Key Protect-Instanz finden, indem Sie eine Liste Ihrer Schlüssel abrufen oder auf das Key Protect- Armaturenbrett.
-
Erstellen Sie einen KMIP-Adapter mit dem folgenden
curlBefehl:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.kmip_adapter+json", "collectionTotal": 1 }, "resources": [ { "name": "<adapter_name>", "description": "<adapter_description>", "profile": "native_1.0", "profile_data": { "crk_id": "<root_keyID_or_alias>" } } ] }'Ersetzen Sie die Variablen in der Beispielanforderung entsprechend der folgenden Tabelle.
| Variable | Beschreibung |
|---|---|
| Bereich | Erforderlich. Die Regionsabkürzung, z. B. us-south oder eu-gb, die das geografische Gebiet bezeichnet, in dem sich Ihre Key Protect-Instanz befindet.Weitere Informationen finden Sie in Regionale Serviceendpunkte. |
| root_keyID_or_alias | Erforderlich. Die eindeutige Kennung oder der Alias für den Stammschlüssel, den Sie für den Adapter verwenden möchten. |
| IAM_token | Erforderlich. Ihr IBM Cloud-Zugriffstoken. Fügen Sie den vollständigen Inhalt des IAM-Tokens, einschließlich des Träger-Wertes, in die Curl-Anforderung ein. Weitere Informationen finden Sie unter „ Abrufen eines Zugriffstokens “. |
| instance_id | Erforderlich. Die eindeutige ID, die Ihrer Key Protect-Serviceinstanz zugewiesen ist. Weitere Informationen finden Sie unter „ Abrufen einer Instanz-ID “. |
| Adaptername | Optional. Ein von Menschen lesbarer Name des KMIP-Adapters, der innerhalb der kms-Instanz eindeutig ist. Wird keine angegeben, so wird automatisch eine im Format kmip_adapter_<random_string> erzeugt.
Um Ihre Privatsphäre zu schützen, sollten Sie keine personenbezogenen Daten wie Ihren Namen oder Ihren Standort als Namen für Ihren KMIP-Adapter verwenden. Der Name muss alphanumerisch sein und darf keine Leer- oder Sonderzeichen außer
- oder _ enthalten. Der Name kann nicht eine UUID sein. |
| adapter_beschreibung | Optional Die Beschreibung des KMIP-Adapters. Die maximale Länge beträgt 240 Zeichen. Um Ihre Privatsphäre zu schützen, sollten Sie keine personenbezogenen Daten wie Ihren Namen oder Ihren Standort als Beschreibung für Ihren KMIP-Adapter verwenden. |
-
Optional: Sie können die KMIP-Adapter, die in einer Instanz vorhanden sind, mit dem folgenden
curl-Befehl auflisten:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Sie können auch einen bestimmten KMIP-Adapter abrufen, indem Sie den folgenden
curlBefehl verwenden:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Beachten Sie, dass Sie entweder die UUID des Adapters oder den Namen des Adapters verwenden können, um einen bestimmten Adapter zu erhalten.
-
Sie können einen KMIP-Adapter mit dem folgenden
curlBefehl löschen:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Sie können den KMIP-Adapter nur löschen, wenn alle KMIP-Objekte unter dem Adapter gelöscht werden.
Hinzufügen eines KMIP-Client-Zertifikats zu einem KMIP-Adapter
Nachdem Sie einen KMIP-Adapter erstellt haben, können Sie ein KMIP-Client-Zertifikat hinzufügen, das dem Adapter zugeordnet wird. Nachdem ein Zertifikat registriert wurde, können Sie es verwenden, um gemäß den KMIP-Spezifikationen über mTLS mit dem KMIP-Server zu kommunizieren. Die Registrierung des Zertifikats kann bis zu fünf Minuten dauern. Die Zertifikate müssen innerhalb derselben Region eindeutig sein.
-
Rufen Sie die Authentifizierungsnachweise ab, um mit Schlüsseln im Service zu arbeiten.
-
Identifizieren Sie den KMIP-Adapter, dem Sie Ihr Zertifikat hinzufügen möchten.
-
Fügen Sie das KMIP-Client-Zertifikat mit dem folgenden
curlBefehl hinzu:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_client_certificate+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.kmip_client_certificate+json", "collectionTotal": 1 }, "resources": [ { "certificate": "<certificate_pem>", "name": "<certificate_name>" } ] }'Ersetzen Sie die Variablen in der Beispielanforderung entsprechend der folgenden Tabelle.
| Variable | Beschreibung |
|---|---|
| Bereich | Erforderlich. Die Regionsabkürzung, z. B. us-south oder eu-gb, die das geografische Gebiet bezeichnet, in dem sich Ihre Key Protect-Instanz befindet.Weitere Informationen finden Sie in Regionale Serviceendpunkte. |
| ADAPTER_ID | Erforderlich. Der eindeutige Bezeichner oder Name des KMIP-Adapters, mit dem Sie das Zertifikat registrieren möchten. |
| IAM_token | Erforderlich. Ihr IBM Cloud-Zugriffstoken. Fügen Sie den vollständigen Inhalt des IAM-Tokens, einschließlich des Träger-Wertes, in die Curl-Anforderung ein. Weitere Informationen finden Sie unter „ Abrufen eines Zugriffstokens “. |
| instance_id | Erforderlich. Die eindeutige ID, die Ihrer Key Protect-Serviceinstanz zugewiesen ist. Weitere Informationen finden Sie unter „ Abrufen einer Instanz-ID “. |
| zertifikat_pem | Erforderlich Der Inhalt des KMIP-Client-Zertifikats. Sie muss im Format x509 PEM vorliegen. Sie sollte ausdrücklich die Tags BEGIN CERTIFICATE und END CERTIFICATE enthalten. |
| zertifikatname | Optional. Ein von Menschen lesbarer Name, der ein Zertifikat innerhalb des angegebenen Adapters eindeutig identifiziert. Wird keine angegeben, so wird automatisch eine im Format kmip_cert_<random_string> erzeugt. Um Ihre Privatsphäre zu schützen, sollten Sie keine personenbezogenen Daten wie Ihren Namen oder Ihren Standort als Namen für Ihren KMIP-Adapter verwenden. Der Name muss alphanumerisch sein und darf keine Leer- oder Sonderzeichen
außer - oder _ enthalten. Der Name kann nicht eine UUID sein. |
-
Optional: Sie können KMIP-Client-Zertifikate, die mit einem Adapter verbunden sind, mit dem folgenden
curl-Befehl auflisten:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Sie können auch ein bestimmtes KMIP-Client-Zertifikat abrufen, indem Sie den folgenden
curlBefehl verwenden:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates/<certificate_name_or_id>" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Beachten Sie, dass Sie entweder die UUID des Zertifikats oder den Namen des Zertifikats verwenden können, um einen bestimmten Adapter zu erhalten.
-
Sie können ein KMIP-Client-Zertifikat mit dem folgenden
curlBefehl löschen:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Sie können den KMIP-Adapter nur löschen, wenn alle KMIP-Objekte unter dem Adapter gelöscht werden.
Anzeigen und Löschen von KMIP-Objekten innerhalb eines Adapters
KMIP-Objekte können nicht über die REST-API erstellt werden, aber sie können angezeigt und gelöscht werden.
-
Rufen Sie die Authentifizierungsnachweise ab, um mit Schlüsseln im Service zu arbeiten.
-
Identifizieren Sie den KMIP-Adapter, dem Sie Ihr Zertifikat hinzufügen möchten.
-
Sie können KMIP-Objekte innerhalb eines KMIP-Adapters mit dem folgenden
curlBefehl anzeigen:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" -
Sie können ein bestimmtes KMIP-Objekt innerhalb eines KMIP-Adapters mit dem folgenden
curlBefehl anzeigen:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects/<object_id>" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" -
Sie können ein bestimmtes KMIP-Objekt innerhalb eines KMIP-Adapters mit dem folgenden
curlBefehl löschen:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects/<object_id>" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Dabei ist
<object_id>die UUID des KMIP-Objekts. Sie können KMIP-Objekte im Zustand Aktiv (state=2) nicht löschen.