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.
-
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 neuen 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. 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. |
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 Standardschlüssel konsistent über Konten oder Umgebungen hinweg 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.
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
-
Rufen Sie die API Key Protect 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" \ -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.
| 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, für Menschen lesbare Aliase, die Ihrem Schlüssel zugewiesen 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 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 denen der Schlüssel im System abläuft, im RFC-3339-Format (JJJJ-MM-TT HH:MM:SS.SS, zum Beispiel 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 “(Verschlüsselung 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. Wenn Sie das Attribut „extractable“ auf „ true “ setzen, kennzeichnet der Dienst den Schlüssel als Standardschlüssel, den
Sie in Ihren Apps oder Diensten speichern 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. Weitere Beispiele für personenbezogene Daten finden Sie im 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 gleichwertig, als sie eine Zeichenkette konvertieren, sei es <key_material_string>
oder
```sh {: pre}
openssl base64 -in <infile> -out <outfile>
```
Replace the variables in the example request according to the following table.
| Variable | Beschreibung |
|---|---|
| infile | Der Name der Binärdatei, in der sich Ihre Schlüsselzeichenfolge 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, beispielsweise eine zusätzliche Zeilenumbruch, zu vermeiden, empfiehlt es sich, die Zeichenfolge „ base64 “ in die Zwischenablage zu kopieren, insbesondere wenn die Zeichenfolge „ base64 “ in der Konsole ausgegeben werden soll.
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.
-
Herunterladen und installieren OpenSSL
-
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 zur programmgesteuerten Verwaltung Ihrer Schlüssel finden Sie in der API-Referenzdokumentation zu „ Key Protect “.