IBM Cloud Docs
Standardschlüssel importieren

Standardschlüssel importieren

Sie können Ihre vorhandenen Verschlüsselungsschlüssel mithilfe der IBM Cloud -Konsole hinzufügen.

Sie können Ihre vorhandenen Verschlüsselungsschlüssel über das Programm mit der Key Protect -API hinzufügen.

Standardschlüssel über die Konsole importieren

Nach dem Erstellen einer Instanz dieses Service müssen Sie die folgenden Schritte ausführen, um einen vorhandenen 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 Konsole IBM Cloud 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. Wenn Sie einen neuen Schlüssel importieren möchten, klicken Sie auf Schlüssel hinzufügen und wählen Sie das Fenster Eigenen 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. Klicken Sie auf die Schaltfläche Standardschlüssel .
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ü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.

Geben Sie die Details zum Schlüssel ein und klicken Sie anschließend zum Bestätigen auf Schlüssel importieren.

Wenn Sie wissen, in welchem Schlüsselring ein Schlüssel platziert werden soll, und Sie ein Manager dieses Schlüsselrings sind, können Sie auch zu der Anzeige Schlüsselringe navigieren, die ⋯ auswählen und auf klicken Schlüssel zum Schlüsselring hinzufügen klicken. Dadurch wird dieselbe Anzeige geöffnet, die Sie sehen, indem Sie auf der Seite Schlüssel auf Hinzufügen klicken, wobei die Variable Schlüsselringe mit dem Namen des Schlüsselrings ausgefüllt wird.

Standardschlüssel importieren

Importieren Sie einen Standardschlüssel, 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 API Key Protect 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" \
        -H "correlation-id: <correlation_ID>" \
        -H "prefer: <return_preference>" \
        -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 Standardschlüssels mit der Key Protect API erforderlich sind
Variabel Beschreibung
Bereich Erforderlich. Die Abkürzung der Region, z. B. us-south oder eu-gb, die das geografische Gebiet angibt, in dem sich Ihre Key Protect befindet

For more information, see Regionale Dienstendpunkte.
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.

For more information, see Abrufen eines Zugangstokens.
instance_id Erforderlich. Die eindeutige ID, die Ihrer Key Protect-Serviceinstanz zugewiesen ist.

For more information, see 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, von Menschen lesbare Aliasnamen, die Ihrem Schlüssel zugewiesen werden

Wichtig: Aus Datenschutzgründen dürfen keine personenbezogenen Daten als Metadaten für den Schlüssel gespeichert werden.

Each alias must be alphanumeric, case sensitive, and cannot contain spaces or special characters other than - or _. The alias cannot be a UUID and must not be a Key Protect reserved name: allowed_ip, key, keys, metadata, policy, policies. registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions.
key_description Optional. Eine erweiterte Beschreibung Ihres 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 (JJJJ-MM-TT 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, wie z. B. ein symmetrischer Schlüssel, den Sie im Service verwalten möchten. Weitere Informationen finden Sie unter Base64 Ihres Schlüsselmaterials

Stellen Sie sicher, dass die Schlüsselinformationen die folgenden Anforderungen erfüllen:
Ein Standardschlüssel kann bis zu 7.500Byte 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.

When you set the extractable attribute to true, the service designates the key as a standard key that you can store in your apps or services.

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. Weitere Beispiele für PII finden Sie in Abschnitt 2.2 der NIST-Sonderveröffentlichung 800-122.

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 ID, die Ihrem Schlüssel zugeordnet ist und für nachfolgende Aufrufe an die Key Protect-API verfügbar.

Optional: Überprüfen Sie den Import von Standardschlüsseln

Sie können überprüfen, ob ein Standardschlüssel importiert wurde, indem Sie eine Liste der Listenschlüssel ausgeben:

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

Dabei ist <instance_ID> der Name Ihrer Instanz und Ihr <IAM_token> ist Ihr IAM-Token.

Base64-Codierung für Ihre Schlüsselinformationen

Beim Importieren eines vorhandenen Standardschlüssels müssen die verschlüsselten Schlüsselinformationen angegeben werden, die im Service gespeichert und verwaltet werden sollen.

Vorhandene Schlüsselinformationen mit OpenSSL verschlüsseln

Um Ihr Schlüsselmaterial zu codieren, müssen Sie zuerst OpenSSLherunterladen und installieren.

Nachdem OpenSSL heruntergeladen und installiert wurde, gibt es zwei empfohlene Befehle für die Codierung des Schlüsselmaterials. Beide Methoden sind insofern äquivalent, als sie eine Zeichenfolge konvertieren, unabhängig davon, ob < key_material_string> oder Wie Sie unten sehen können, in eine base64-Zeichenfolge. If your material is in a file (for example, you might have a file with credentials, not just an encrypted key, that you want to store in Key Protect), the best option is to issue:

```sh {: pre}
openssl base64 -in <infile> -out <outfile>
```
Replace the variables in the example request according to the following table.
Beschreibt die Variablen, die für die base64-encode Ihres Schlüsselmaterials erforderlich sind.
Variabel Beschreibung
infile Der Name der Binärdatei, in der sich Ihr Schlüsselmaterial befindet

Stellen Sie sicher, dass die Datei nicht größer als 7.500 Byte ist.
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, führen Sie den Befehlopenssl enc -base64 <<< '<key_material_string>' aus, wobei 'key_material_stringis' die Eingabe des Schlüsselmaterials für Ihren importierten Schlüssel ist.

Wenn Sie Schlüsselinformationen zur Base64-Codierung verwenden möchten, die sich nicht in einer Datei befinden, können Sie Folgendes ausgeben:

```sh {: pre}
echo -n <password> | base64
```
Where "password" is the key material you want to use.

Um zusätzliche Zeichen zu vermeiden, z. B. eine zusätzliche neue Zeile, ist es ein bewährtes Verfahren, die Zeichenfolge base64 in die Zwischenablage zu kopieren, insbesondere wenn die Zeichenfolge base64 in der Konsole veröffentlicht wird.

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.

Sie würden ein 16-, 24- oder 32-Byte-Schlüsselmaterial zur Verwendung als Standardschlüssel anlegen, wenn der Standardschlüssel die gleichen Eigenschaften wie ein Rootschlüssel haben soll. Ein Standardschlüssel ist ein Schlüssel, der den Dienst verlassen kann. Standardschlüssel werden häufig in Ihren Apps und Services verwendet.

  1. Herunterladen und installieren OpenSSL

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