Rootschlüssel importieren
Sie können IBM® Key Protect for IBM Cloud® zur Sicherung und Verwaltung Ihrer vorhandenen Rootschlüssel verwenden, indem Sie sie importieren.
Rootschlüssel sind symmetrische Key-Wrapping-Schlüssel, die die Sicherheit verschlüsselter Daten in der Cloud gewährleisten. Weitere Informationen zum Importieren von Rootschlüsseln in Key Protect finden Sie in Eigene Verschlüsselungsschlüssel in der Cloud verwenden.
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.
Rootschlüssel über die Konsole importieren
Nach dem Erstellen einer Instanz dieses Service müssen Sie die folgenden Schritte ausführen, um einen Schlüssel mit der IBM Cloud-Konsole zu importieren.
Beachten Sie bei der Aktivierung der Einstellungen für doppelte Autorisierung für Ihre Key Protect-Instanz, dass zum Löschen der Schlüssel, die Sie zum Service hinzufügen, eine Autorisierung durch zwei Benutzer erforderlich ist.
-
Rufen Sie Menü > Ressourcenliste auf, um eine Liste Ihrer Ressourcen anzuzeigen.
-
Wählen Sie in der IBM Cloud-Ressourcenliste die bereitgestellte Instanz von Key Protect aus.
-
Um einen Schlüssel zu importieren, klicken Sie auf „Hinzufügen“ und wählen Sie das Fenster „ Schlüssel importieren “ aus.
Geben Sie die Schlüsseldetails an:
| Einstellung | Beschreibung |
|---|---|
| Schlüsseltyp | Der Schlüsseltyp, den Sie in Key Protect verwalten möchten. Wählen Sie die Schaltfläche Stammschlüssel aus. |
| Name | Ein lesbarer Aliasname für die einfache Identifizierung Ihres Schlüssels. Länge muss innerhalb von 2 bis 90 Zeichen (einschließlich) liegen. Stellen Sie aus Datenschutzgründen sicher, dass der Schlüsselname keine personenbezogenen Daten (PII) wie den Namen oder den Standort enthält. Beachten Sie, dass Schlüsselnamen nicht eindeutig sein müssen. |
| Schlüsselmaterial | Die Schlüsselinformationen mit Base64-Codierung (z. B. ein vorhandener Key-Wrapping-Schlüssel), die im Service gespeichert und verwaltet werden sollen. Weitere Informationen finden Sie unter Base64-Codierung für Ihre Schlüsselinformationen. Stellen Sie sicher, dass das Schlüsselmaterial 16, 24 oder 32 Byte lang ist und mit 128, 192 oder 256 Bit in der Länge übereinstimmt. Der Schlüssel muss auch base64-codiert sein. |
| Schlüsselbeschreibung | Optional. Beschreibungen sind ein nützliches Mittel, um Informationen über einen Schlüssel hinzuzufügen (z. B. eine Phrase, die seinen Zweck beschreibt), was mit einem Alias oder seinem Namen nicht möglich ist. Diese Beschreibung muss aus mindestens zwei Zeichen und nicht mehr als 240 Zeichen bestehen und kann nicht später geändert werden. Um Ihre Privatsphäre zu schützen, sollten Sie keine personenbezogenen Daten wie Ihren Namen oder Ihren Standort als Beschreibung für Ihren Schlüssel verwenden. |
| Schlüsselaliasname | Optional. Schlüsselaliasnamen sind Möglichkeiten, einen Schlüssel zu beschreiben, mit dem sie identifiziert und über die Begrenzungen eines Anzeigenamens gruppiert werden können. Schlüssel können bis zu fünf Aliasnamen haben. |
| Schlüsselring | Optional. Bei Schlüsselringen handelt es sich um Gruppierungen von Schlüsseln, die es ermöglichen, dass diese Gruppierungen bei Bedarf unabhängig verwaltet
werden. Jeder Schlüssel muss Teil eines Schlüsselrings sein. Wenn kein Schlüsselring ausgewählt ist, werden Schlüssel in den default Schlüsselring gestellt. Beachten Sie, dass Sie die Manager-Rolle für diesen Schlüsselring
haben müssen, um den Schlüssel, den Sie erstellen, in einem Schlüsselring zu platzieren. Weitere Informationen zu Rollen finden Sie im Abschnitt Benutzerzugriff verwalten. |
Wenn Sie alle Angaben zum Schlüssel eingegeben haben, klicken Sie zur Bestätigung auf „ Hinzufügen “.
Wenn Sie der Verwalter eines bestimmten Schlüsselbunds sind, können Sie einen Schlüssel direkt über das Fenster „Schlüsselbunde“ hinzufügen. Klicken Sie im Aktionsmenü des Schlüsselrings (⋯) auf „ Neuen Schlüssel hinzufügen “. Es öffnet sich dasselbe Fenster wie beim Klicken auf „Hinzufügen“ auf der Seite „Schlüssel“, allerdings ist das Feld „Schlüsselbund“ bereits mit dem Namen des ausgewählten Schlüsselbunds ausgefüllt.
Wenn Sie Root-Schlüssel über Konten oder Umgebungen hinweg konsistent importieren und verwalten müssen, können Sie dies mit dem Modul Key Protect Key automatisieren. Für eine vollständige Einrichtung, die auch die Instanz Key Protect und die Schlüsselanhänger umfasst, siehe das All-inclusive-Modul Key Protect. Eine Übersicht finden Sie unter Terraform IBM Module.
Rootschlüssel mit der API importieren
Importieren Sie symmetrische Schlüssel in Key Protect, indem Sie einen POST-Aufruf an den folgenden Endpunkt absetzen.
https://<region>.kms.cloud.ibm.com/api/v2/keys
-
Rufen Sie die Key Protect-API mit dem Befehl
curlauf.$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/keys" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.key+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.key+json", "name": "<key_name>", "aliases": [alias_list], "description": "<key_description>", "expirationDate": "<expiration_date>", "payload": "<key_material>", "extractable": <key_type> } ] }'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 unter „ Regionale Service-Endpunkte “. |
| 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 “. |
| correlation_ID | Die eindeutige ID, die zum Überwachen und Korrelieren von Transaktionen verwendet wird. |
| return_preference | Ein Header, der das Serververhalten für POST-und DELETE-Operationen ändert. Wenn Sie die Variable "return_vorgabe" auf "return=minimal" setzen, gibt der Service nur die Schlüsselmetadaten zurück, z. B. den Schlüsselnamen und den ID-Wert, in der Antwortentitätseinheit. Wenn Sie die Variable auf "return=Vertretung" setzen, gibt der Service sowohl das Schlüsselmaterial als auch die Schlüsselmetadaten zurück. |
| key_name | Erforderlich. Ein eindeutiger, lesbarer Name zur einfachen Identifikation Ihres Schlüssels. Aus Datenschutzgründen dürfen keine personenbezogenen Daten als Metadaten für den Schlüssel gespeichert werden. |
| alias_list | Optional. Ein oder mehrere eindeutige, vom Menschen lesbare Aliasnamen, die Ihrem Schlüssel zugeordnet sind. Wichtig: Aus Datenschutzgründen dürfen keine personenbezogenen Daten als Metadaten für den Schlüssel gespeichert werden. Jeder Alias muss aus alphanumerischen Zeichen bestehen, unterscheidet zwischen Groß- und Kleinschreibung und darf keine Leerzeichen oder Sonderzeichen außer „-“ oder „_“ enthalten. Der Alias darf keine UUID sein und darf kein von „ Key Protect “ reservierter Name sein: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions. |
| key_description | Optional. Eine erweiterte Beschreibung des Schlüssels. Aus Datenschutzgründen dürfen keine personenbezogenen Daten als Metadaten für den Schlüssel gespeichert werden. |
| expiration_date | Optional. Das Datum und die Uhrzeit, zu der der Schlüssel im System abläuft, im Format RFC 3339 (YYYY-MM-DD HH:MM:SS.SS, z. B. 2019-10-12T07:20:50.52Z). Der Schlüssel wird innerhalb einer Stunde
nach Erreichen des Ablaufdatums inaktiviert. Wenn das Attribut "expirationDate" weggelassen wird, läuft der Schlüssel nicht ab. |
| key_material | Erforderlich. Das Base64-codierte Schlüsselmaterial, ein vorhandener Schlüssel-Wrapping-Schlüssel, den Sie in dem Service speichern und verwalten möchten. Weitere Informationen finden Sie unter „ Base64 “(Verschlüsselung Ihres Schlüsselmaterials ). Stellen Sie sicher, dass die Schlüsselinformationen die folgenden Voraussetzungen erfüllen: Ein Standardschlüssel kann bis zu 7.500 Byte groß sein. Der Schlüssel muss base64-codiert sein. |
| key_type | Ein boolescher Wert, der bestimmt, ob die Schlüsselinformationen den Service verlassen dürfen. Wenn Sie das Attribut „extractable“ auf „ false “ setzen, weist der Dienst den Schlüssel als Stammschlüssel aus, den Sie
für „Wrap“- oder „Unwrap“-Operationen verwenden können. |
Vermeiden Sie zum Schutz der Vertraulichkeit Ihrer personenbezogenen Daten die Eingabe von personenbezogenen Informationen (PII) beim Hinzufügen von Schlüsseln zum Service. Hierzu gehören beispielsweise Namen oder Standortangaben.
Mit der erfolgreichen Antwort POST api/v2/keys werden der ID-Wert für Ihren Schlüssel sowie andere Metadaten zurückgegeben. Die ID ist eine eindeutige Kennung, die Ihrem Schlüssel zugeordnet ist und die für alle nachfolgenden Aufrufe
für die Key Protect-API verwendet wird.
Optional: Überprüfen Sie, ob der Schlüssel hinzugefügt wurde, indem Sie den folgenden Aufruf ausführen, um die Schlüssel in Ihrer Key Protect -Instanz zu durchsuchen.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
Base64-Codierung für Ihre Schlüsselinformationen
Beim Importieren eines vorhandenen Rootschlüssels müssen die verschlüsselten Schlüsselinformationen eingeschlossen werden, die Sie in dem Service speichern und verwalten wollen.
Vorhandene Schlüsselinformationen mit OpenSSL verschlüsseln
Verwenden Sie diesen Prozess, um den Inhalt der Schlüsselinformationen in einer Datei zu verschlüsseln.
-
Laden Sie OpenSSLherunter und installieren Sie es.
-
Verschlüsseln Sie die Schlüsselinformationen mit der Base64-Codierung, indem Sie den folgenden Befehl ausführen:
openssl base64 -in <infile> -out <outfile>Ersetzen Sie die Variablen in der Beispielanforderung entsprechend der folgenden Tabelle.
| Variable | Beschreibung |
|---|---|
| infile | Der Name der Datei, in der sich Ihre Schlüsselinformationen befinden. Stellen Sie sicher, dass der Schlüssel 16, 24 oder 32 Byte lang ist, das entspricht einer Länge von 128, 192 bzw. 256 Bit. Der Schlüssel muss base64-codiert sein. |
| Ausgabedatei | Der Name der Datei, in der Ihre base64-codierten Schlüsselinformationen nach der Ausführung des Befehls erstellt werden. |
Wenn Sie das Base64-Material direkt in der Befehlszeile und nicht in einer Datei ausgeben möchten, geben Sie openssl enc -base64 <<< '<key_material_string>' aus, wobei 'key_material_string' die Schlüsselmaterialeingabe
für Ihren importierten Schlüssel ist.
OpenSSL zum Erstellen und Codieren der neuen Schlüsselinformationen verwenden
Verwenden Sie diesen Prozess, um ein zufälliges base64-verschlüsseltes-Schlüsselmaterial mit einer bestimmten Bytelänge zu erstellen. 32 Byte (256 Bit) werden empfohlen.
-
Laden Sie OpenSSLherunter und installieren Sie es.
-
Verschlüsseln Sie die Schlüsselinformationen mit der Base64-Codierung, indem Sie den folgenden Befehl ausführen:
openssl rand -base64 <byte_length>Ersetzen Sie die Variable in der Beispielanforderung anhand der Angaben in der folgenden Tabelle.
| Variable | Beschreibung |
|---|---|
| byte_length | Die Länge des Schlüssels in Byte. Zulässige Bytelängen sind 16, 24 oder 32 Byte, das entspricht einer Länge von 128, 192 bzw. 256 Bit. Der Schlüssel muss base64-codiert sein. |
Beispiele für die Erstellung von Schlüsselinformationen
-
openssl rand -base64 16generiert Schlüsselinformationen mit einer Länge von 128 Bit. -
openssl rand -base64 24generiert Schlüsselinformationen mit einer Länge von 192 Bit. -
openssl rand -base64 32generiert Schlüsselinformationen mit einer Länge von 256 Bit.
Nächste Schritte
-
Weitere Informationen zum Schutz von Schlüsseln mit der Envelope-Verschlüsselung finden Sie in Schlüssel einschließen.
-
Weitere Informationen zur programmgesteuerten Verwaltung Ihrer Schlüssel finden Sie in der API-Referenzdokumentation zu „ Key Protect “.