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.

  1. Melden Sie sich bei der „ IBM Cloud “-Konsole an.

  2. Rufen Sie Menü > Ressourcenliste auf, um eine Liste Ihrer Ressourcen anzuzeigen.

  3. Wählen Sie in der IBM Cloud-Ressourcenliste die bereitgestellte Instanz von Key Protect aus.

  4. 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:

Beschreibt die Funktion Importieren Sie Ihre eigenen Schlüsseleinstellungen.
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
  1. Rufen Sie Ihren Service- und Authentifizierungsnachweis ab, um mit den Schlüsseln im Service zu arbeiten.

  2. Rufen Sie die Key Protect-API mit dem Befehl curl auf.

    $ 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.

Beschreibt die Variablen, die zum Hinzufügen eines Root-Schlüssels mit der „ Key Protect “-API benötigt werden
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.

  1. Laden Sie OpenSSLherunter und installieren Sie es.

  2. 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.

Beschreibt die Variablen, die für die base64-encode Ihres Schlüsselmaterials benötigt werden.
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.

  1. Laden Sie OpenSSLherunter und installieren Sie es.

  2. 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.

Beschreibt die Variable, die zum Erstellen und Codieren neuer Schlüsselinformationen erforderlich ist.
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

  1. openssl rand -base64 16 generiert Schlüsselinformationen mit einer Länge von 128 Bit.

  2. openssl rand -base64 24 generiert Schlüsselinformationen mit einer Länge von 192 Bit.

  3. openssl rand -base64 32 generiert Schlüsselinformationen mit einer Länge von 256 Bit.

Nächste Schritte