Referenzinformationen zur Befehlszeilenschnittstelle von Key Protect

Die neueste Version des IBM® Key Protect for IBM Cloud®-CLI-Plug-ins bietet eine sichere und effiziente Methode zur Verwaltung von Schlüsseln in Ihrer Key Protect-Instanz.

Wenn Sie sich bei der IBM Cloud-CLI anmelden, werden Sie benachrichtigt, sobald Updates verfügbar sind. Stellen Sie sicher, dass sich die Befehlszeilenschnittstelle stets auf dem neuesten Stand befindet, damit Sie die Befehle und Flags nutzen können, die für das Plug-in der Befehlszeilenschnittstelle von Key Protect verfügbar sind.

Anmerkungen

Informationen zum Installieren und Konfigurieren des CLI-Plug-ins für Key Protect finden Sie unter CLI einrichten.

Das Beispiel für die Verwendung von region-set beschreibt einen wichtigen Schritt bei der Konfiguration.

Vorherige Versionen

Diese Dokumentation zur Version 0.8 enthält keine veralteten Befehle.

Alle veralteten Befehle funktionieren in den Versionen 0.4.0 und 0.5.2 weiterhin, d. h. Version 0.5.2 ist abwärtskompatibel mit Version 0.3.9 und Version 0.4.0.

Beispiele

Für jeden Befehl gibt es einen Abschnitt Example, in dem die Verwendung des Befehls im Kontext eines Workflows gezeigt wird.

In den Beispielen wird vorausgesetzt, dass Sie openssl und jq installiert.

Viele Beispiele nutzen die Vorteile einer Umgebungsvariablen, die für die Sitzung in Bezug auf die Key Protect-Instanz-ID festgelegt ist, anstelle des Parameters -i. Auf diese Weise festgelegte Variablen werden vom Plug-in entsprechend und bei Bedarf automatisch verwendet.

# export the Key Protect instance id in the command line
$ export KP_INSTANCE_ID=<INSTANCE_ID>

Stellen Sie sicher, dass Sie den Endpunkt Ihrer Key Protect-Instanz festlegen:

export KP_TARGET_ADDR=<KEY_PROTECT_INSTANCE_ENDPOINT>   

Ersetzen Sie „ <KEY_PROTECT_INSTANCE_ENDPOINT> “ durch den Endpunkt Ihrer Instanz-ID. Zum Beispiel:

export KP_TARGET_ADDR=https://fadedbee-0000-0000-0000-1234567890ab.api.us-south.kms.appdomain.cloud   

Sie können den Instanzendpunkt für Key Protect in der IBM Cloud UI-Konsole für Ihre spezifische Instanz finden.

Befehlsübersicht für 'ibmcloud kp'

ibmcloud kp unterstützt die hier aufgelisteten Befehle.

Befehl 'kp import-token'

Der Befehl kp import-token bereitet den sicheren Import eines Rootschlüssels vor.

Unterbefehle für die Verwaltung von Import-Tokens
Unterbefehl Status v0.8 Beschreibung
erstellen Importtoken erstellen
key-encrypt Schlüssel verschlüsseln, der in den Service importiert werden soll
nonce-encrypt Den von kp import-token create generierten Nonce-Wert verschlüsseln
anzeigen Importtoken abrufen

Befehl 'kp instance'

Der Befehl kp instance verwaltet Richtlinien für eine Key Protect-Instanz verhindert.

Unterbefehle für die Schlüsselverwaltung
Unterbefehl Status v0.8 Beschreibung
Richtlinien Einer Instanz zugeordnete Richtlinien auflisten
policy-update allowed-network Aktualisieren Sie die Instanzrichtlinie für allowed network
policy-update dual-auth-delete Aktualisieren Sie die Instanzrichtlinie für dual auth delete
policy-update rotation Aktualisieren Sie die Instanzrichtlinie für rotation

Befehl 'kp key'

Der Befehl kp key verwaltet einzelne Schlüssel.

Unterbefehle für die Schlüsselverwaltung
Unterbefehl Status v0.8 Beschreibung
alias-create Aliasnamen für eine eindeutige und bequeme Referenz auf einen Schlüssel erstellen
cancel-delete Zuvor geplante Anforderung zum Löschen eines Schlüssels abbrechen
erstellen Schlüssel erstellen oder eigenen Schlüssel importieren
löschen Schlüssel löschen
inaktivieren Schlüssel inaktivieren
aktivieren Schlüssel aktivieren
Richtlinien Liste mit Richtlinien abrufen
policy-update dual-auth-delete Aktualisieren Sie die Schlüsselrichtlinie für dual auth delete
policy-update rotation Aktualisieren Sie die Schlüsselrichtlinie für rotation
wiederherstellen Rootschlüssel wiederherstellen, der zuvor gelöscht wurde
Rotation Rootschlüssel rotieren
schedule-delete Löschen eines Schlüssels mit einer Richtlinie 'dual-auth-delete' autorisieren
anzeigen Schlüssel abrufen
synchronisieren Zugeordnete Ressourcen eines Schlüssels synchronisieren
Wrapping aufheben Wrapping für Datenverschlüsselungsschlüssel aufheben
aktualisieren Einen Schlüssel aktualisieren und auf einen neuen Schlüsselring übertragen
Versionen Alle Schlüsselversionen auflisten
Wrapping durchführen Wrapping für Datenverschlüsselungsschlüssel durchführen

kp key-ring command

Die Schlüsselringunterstützung ermöglicht die Verwaltung von Schlüsselgruppen für bewährte Verfahren unter Verwendung von kp key-ring.

Unterbefehle für die Verwaltung von Schlüsselanhängern
Unterbefehl Status v0.8 Beschreibung
erstellen Erstellt einen Schlüsselring innerhalb einer kp-Instanz
löschen Löscht einen Schlüsselring innerhalb einer kp-Instanz

Weitere kp-Befehle

Weitere Befehle für die Verwaltung von Key Protect-Ressourcen könnten bewährte Verfahren unterstützen.

Befehle zur Verwaltung anderer Ressourcen
Befehl Status v0.8 Beschreibung
kp keys Schlüssel auflisten, die in Ihrer Key Protect-Instanz verfügbar sind
Kp-Schlüsselringe Listet die Schlüsselringe auf, die der kp-Instanz zugeordnet sind.
kp region-set Anderen regionalen Endpunkt als Ziel angeben
kp registrations Zuordnungen zwischen Rootschlüsseln und anderen Cloudressourcen auflisten
kp-kmip Erstellen und verwalten Sie KMIP-Adapter und zugehörige Ressourcen.
kp-Krypto-Einheit Verwalten von Kryptoeinheiten
kp-Krypto-Einheiten Liste der einer Instanz zugewiesenen Kryptoeinheiten

Schlüsselaliasnamen können als Kennungen für Methoden verwendet werden, wie in Beispielen für key create, key disable und überall dort, wo 'Key ID or Alias' hier unterstützt wird, dargestellt.

Hilfe anzeigen

Dieser Abschnitt enthält Beispiele für Hilfeinformationen von kp.

  • ibmcloud kp -h
  • ibmcloud kp import-token -h
  • ibmcloud kp key -h
  • ibmcloud kp keys -h

Die Befehle kp import-token und kp key verfügen über Unterbefehle. In den folgenden Beispielen werden Hilfeinformationen zu einigen Unterbefehlen angezeigt.

  • ibmcloud kp import-token create -h
  • ibmcloud kp key delete -h

kp import-token create

Importtoken erstellen zum Verschlüsseln und Importieren eines Rootschlüssels in die Key Protect-Instanz verhindert. Das Importtoken läuft standardmäßig nach 10 Minuten (600 Sekunden) ab.

ibmcloud kp import-token create
     -i, --instance-id    INSTANCE_ID
    [-e, --expiration     EXPIRATION_TIME_SECONDS]
    [-m, --max-retrievals MAX_RETRIEVALS]

Beispiel

In diesem Beispiel wird ein Importtoken erstellt. Das Importtoken besteht aus einem Element nonce und einem Element public key.

Nonce ist ein beliebiger Zahlenwert, der in einer kryptografischen Datenübertragung nur einmal verwendet werden kann.

# create an import token that expires in 5 minutes and allows 3 retrievals
$ ibmcloud kp import-token create --expiration 300 --max-retrievals 3

Created                         Expires                         Max Retrievals   Remaining Retrievals
2020-05-04 19:12:07 +0000 UTC   2020-05-04 19:17:07 +0000 UTC   3                3

# show the created token
$ ibmcloud kp import-token show

{
    "nonce": "8rf2ldP/zWm1Tjrb",
    "payload":
        "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0t ...<redacted>... QyBLRVktLS0tLQo="
}

Erforderliche Parameter

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -e, --expiration

    Geben Sie eine Ablaufzeit (in Sekunden) für ein Importtoken an. Mit diesem Wert wird festgelegt, wie lange das Importtoken und der zugehörige öffentliche Schlüssel für Operationen gültig bleiben.

    Der Mindestwert ist 300 Sekunden (5 Minuten), der Maximalwert 86400 Sekunden (24 Stunden). Der Standardwert ist 600 Sekunden (10 Minuten).

  • -m, --max-retrievals

    Legen Sie den Nutzungszähler für das Importtoken fest. Mit diesem Wert wird festgelegt, wie häufig das Importtoken innerhalb seiner Ablaufzeit abgerufen werden kann, bevor es nicht mehr zugänglich ist. Der Standardwert ist 1.

kp import-token key-encrypt

Verschlüsseln Sie das Schlüsselmaterial, das Sie in Key Protect importieren wollen, indem Sie den öffentlichen Schlüssel verwenden, der Ihrer Key Protect-Instanz zugeordnet ist.

Geben Sie dann den abgerufenen verschlüsselten Schlüssel an, wenn Sie ibmcloud kp key create um den Schlüssel in den Dienst zu importieren.

ibmcloud kp import-token key-encrypt
        -i, --instance-id INSTANCE_ID
        -k, --key         KEY_MATERIAL
        -p, --pubkey      PUBLIC_KEY
       [-a, --hash        HASH_ALGORITHM]

Beispiel

In diesem Beispiel wird eine „ key material “-Datei mit dem öffentlichen Schlüssel verschlüsselt, der von kp import-token create.

# create an import token that expires in 5 minutes and allows 10 retrievals
$ ibmcloud kp import-token create -e 300 -m 10

# create a random, base64-encoded, 32-byte key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

# extract the public key that was created by the "kp import-token create" command
$ PUBLIC_KEY=$(ibmcloud kp import-token show | jq -r '.["payload"]')

# encrypt the key material using the public key
$ ibmcloud kp import-token key-encrypt -k $KEY_MATERIAL -p $PUBLIC_KEY

Encrypted Key
Ela33aTdDiKVUNryLeM/xwUEaKWvzY+u ...<redacted>... Asv7bZxvyZn9KNU=

Erforderliche Parameter

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

  • -k, --key

    Die mit einer Base64-Codierung verschlüsselten Schlüsselinformationen, die Sie im Service speichern und verwalten.

    -p, --pubkey

    Der öffentliche Verschlüsselungsschlüssel mit Base64-Codierung, der von Key Protect verteilt wurde. Verwenden Sie zum Erstellen eines neuen öffentlichen Schlüssels den Befehl ibmcloud kp import-token create. Verwenden Sie zum Abrufen eines öffentlichen Schlüssels den Befehl ibmcloud kp import-token show.

Optionale Parameter

  • -a, --hash

    Der für das Wrapping des Schlüssels verwendete Hashalgorithmus. SHA1 und SHA256 werden unterstützt. Der Standardwert ist SHA256. SHA1 wird nur von HPCS unterstützt.

    Diese Option ermöglicht das Generieren eines verschlüsselten Schlüssels, der nur in einer Anforderung mit der HPCS-API verwendet werden kann. Verwenden Sie diese Option nicht zum Erstellen von Key Protect-Rootschlüsseln.

    Hyper Protect Crypto Services (HPCS) ist ein dedizierter Schlüsselmanagementservice und ein Hardwaresicherheitsmodul (HSM). HPCS wird in Key Protect integriert, um Schlüssel zu generieren und zu verschlüsseln. Die Funktion KYOK (Keep Your Own Key) wird von HPCS ebenfalls aktiviert.

Anmerkungen

Weitere Informationen zu HPCS finden Sie unter Einführung in IBM Cloud Hyper Protect Crypto Services.

kp import-token nonce-encrypt

Verschlüsseln Sie die Nonce, die von Key Protect mit dem Schlüsselmaterial, das Sie in den Service importieren, verteilt wird.

Geben Sie dann die abgerufenen verschlüsselten Nonce-und IV-Werte an, wenn Sie ibmcloud kp key create zum Importieren des Schlüssels.

ibmcloud kp import-token nonce-encrypt
        -i, --instance-id INSTANCE_ID
        -k, --key         KEY_MATERIAL
        -n, --nonce       NONCE
    [-c, --cbc]

Beispiel

In diesem Beispiel wird die nonce -Verschlüsselung mit dem key materialverschlüsselt.

Nonce ist ein beliebiger Zahlenwert, der in einer kryptografischen Datenübertragung nur einmal verwendet werden kann.

# create an import token that expires in 5 minutes and allows 10 retrievals
$ ibmcloud kp import-token create -e 300 -m 10

# create a random, base64-encoded, 32-byte key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

# extract the nonce that was created by the "kp import-token create" command
$ NONCE=$(ibmcloud kp import-token show | jq -r '.["nonce"]')

# encrypt the nonce
$ ibmcloud kp import-token nonce-encrypt -k $KEY_MATERIAL -n $NONCE

Encrypted Nonce                            IV
mWQad1RHdWoFXFw/D9h8z43t/+0vIZc55VBBQg==   6nvOwUvQdowoD+3v

Erforderliche Parameter

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

  • -k, --key

    Die mit einer Base64-Codierung verschlüsselten Schlüsselinformationen, die Sie im Service speichern und verwalten.

    -n, --nonce

    Der Nonce-Wert, der verwendet wird, um eine Anforderung zum Importieren eines Schlüssels zu überprüfen. Der Wert ist Base64-codiert. Verwenden Sie ibmcloud kp import-token show, um eine Nonce abzurufen.

Optionale Parameter

  • -c, --cbc

    Verschlüsseln Sie den Nonce-Wert mit dem Verschlüsselungsalgorithmus AES-CBC. Dieser Algorithmus wird nur für HPCS unterstützt. Der Standardverschlüsselungsalgorithmus ist AES-GCM.

    Diese Option ermöglicht das Generieren eines verschlüsselten Nonce-Werts, der nur in einer Anforderung mit der HPCS-API verwendet werden kann. Verwenden Sie diese Option nicht zum Erstellen von Key Protect-Rootschlüsseln.

    Hyper Protect Crypto Services (HPCS) ist ein dedizierter Schlüsselmanagementservice und ein Hardwaresicherheitsmodul (HSM). HPCS wird in Key Protect integriert, um Schlüssel zu generieren und zu verschlüsseln. Die Funktion KYOK (Keep Your Own Key) wird von HPCS ebenfalls aktiviert.

Anmerkungen

Weitere Informationen zu HPCS finden Sie unter Einführung in IBM Cloud Hyper Protect Crypto Services.

kp import-token show

Importtoken abrufen, das Ihrer Key Protect- Instanz.

Das Importtoken enthält einen öffentlichen Verschlüsselungsschlüssel und eine generierte Zufallszahl (Nonce). Geben Sie den abgerufenen öffentlichen Schlüssel und den Nonce als Argumente für ibmcloud kp import-token nonce-encrypt und ibmcloud kp import-token key-encrypt.

ibmcloud kp import-token show
    -i, --instance-id INSTANCE_ID

Beispiel

In diesem Beispiel wird ein Importtoken erstellt und die Ergebnisse werden angezeigt.

# create an import token that expires in 5 minutes and allows 10 retrievals
$ ibmcloud kp import-token create -e 300 -m 10

# show the created token
$ ibmcloud kp import-token show

{
    "nonce": "8rf2ldP/zWm1Tjrb",
    "payload":
        "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0t ...<redacted>... QyBLRVktLS0tLQo="
}

# extract the nonce that was created by the "kp import-token create" command
$ ibmcloud kp import-token show | jq -r '.["nonce"]'

8rf2ldP/zWm1Tjrb

# extract the public key that was created by the "kp import-token create" command
$ ibmcloud kp import-token show | jq -r '.["payload"]'

LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0t ...<redacted>... QyBLRVktLS0tLQo=

Erforderliche Parameter

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

kp instance policies

Abrufen von Details zu Instanzrichtlinien, wie allowed networks (public-and-private oder private-only), allowed IP Richtlinien, key create import Zugriff, Metriken und Löschen mit doppelter Berechtigung (das Löschen eines Schlüssels erfordert die Berechtigung von zwei Benutzern).

ibmcloud kp instance policies
    [-i, --instance-id     INSTANCE_ID]
    [-p, --allowed-ip]
    [-a, --allowed-network]
    [-d, --dual-auth-delete]
    [-k, --key-create-import-access]
    [-m, --metrics]
    [-o, --output          OUTPUT]
    [-r, --rotation]

Beispiel

Das Beispiel zeigt, wie der Befehl und die Ergebnisse verwendet werden. Wenn der Service keine Ergebnisse für die Abfrage hat, wird ein leeres Array ([]) zurückgegeben.

# update the instance policy and set the allowed network to public-and-private
$ ibmcloud kp instance policy-update allowed-network --enable --network-type public-and-private

Updating instance policy...
OK

# list the instance policies
$ ibmcloud kp instance policies

Retrieving policy details for instance: a192d603-0b8d-452f-aac3-f9e1f95e7411...
OK
Created By        user id ...<redacted>...
Creation Date     2020-06-22T16:17:52Z
Last Updated      2020-06-22T16:17:52Z
Updated By        user id ...<redacted>...
Policy Type       allowedNetwork
Enabled           true
Network Allowed   public-and-private

# disable the instance allowed-network policy
$ ibmcloud kp instance policy-update allowed-network --disable

Updating instance policy...
OK

# list the instance policies - the policy exists and it's disabled
$ ibmcloud kp instance policies

Retrieving policy details for instance: a192d603-0b8d-452f-aac3-f9e1f95e7411...
OK
Created By        user id ...<redacted>...
Creation Date     2020-06-22T16:17:52Z
Last Updated      2020-06-22T16:20:08Z
Updated By        user id ...<redacted>...
Policy Type       allowedNetwork
Enabled           false
Network Allowed   public-and-private

# list the instance policies and show the output as JSON
$ ibmcloud kp instance policies --output json

[
  {
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-22T16:17:52Z",
    "lastUpdated": "2020-06-22T16:20:08Z",
    "updatedBy": "user id ...<redacted>...",
    "policy_type": "allowedNetwork",
    "policy_data": { "enabled": false, "attributes": {   "allowed_network": "public-and-private" }
    }
  }
]

Erforderliche Parameter

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -p, --allowed-ip

    Zeige die Instanzrichtlinie für „zugelassene IP-Adressen“ an.

  • -a, --allowed-network

    Zeigen Sie die Instanzrichtlinie für das "zulässige Netzwerk" an.

  • -d, --dual-auth-delete

    Zeige die Instanzrichtlinie für „ dual authorization delete “ an.

  • -k, --key-create-import-access

    Ruft die Details der Importzugriffsrichtlinie für Schlüsselerstellung der Instanz ab.

  • -m, --metrics

    Ruft die Details der Metrikrichtlinie der Instanz ab.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • -r, --rotation

    Ruft Details zur Rotationsrichtlinie der Instanz ab.

kp instance policy-update allowed-network

Aktualisieren Sie die Richtlinie für eine Instanz und legen Sie das zulässige Netzwerk wie folgt fest: public-and-private oder private-only.

Die Richtlinie allowed-network blockiert für eine Instanz den Empfang von Anforderungen aus öffentlichen oder privaten Netzen.

Bei bereits vorhandenen Instanzen wird die Richtlinie für Netzzugriff durchgesetzt, nachdem sie festgelegt wurde.

Weitere Informationen finden Sie in Netzzugriffsrichtlinien verwalten.

ibmcloud kp instance policy-update allowed-network
    -i, --instance-id  INSTANCE_ID
    -d, --disable OR
    -e, --enable
    -t, --network-type NETWORK_TYPE

Beispiel

In diesem Beispiel wird für die Richtlinie 'allowed network' die Einstellung 'public-and-private' festgelegt.

# update the instance policy and set the allowed network to public-and-private
$ ibmcloud kp instance policy-update allowed-network --enable --network-type public-and-private

Updating instance policy...
OK

# list the instance policies
$ ibmcloud kp instance policies

Retrieving policy details for instance: a192d603-0b8d-452f-aac3-f9e1f95e7411...
OK
Created By        user id ...<redacted>...
Creation Date     2020-06-22T16:17:52Z
Last Updated      2020-06-22T18:17:32Z
Updated By        user id ...<redacted>...
Policy Type       allowedNetwork
Enabled           true
Network Allowed   public-and-private

Erforderliche Parameter

  • -d, --disable

  • -e, --enable

    Inaktiviert oder aktiviert die Netzzugriffsrichtlinie. Eine Option ist erforderlich.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

  • -t, --network-type

    Gibt den zulässigen Netzzugriffstyp an. Mögliche Optionen sind public-and-private oder private-only.

kp instance policy-update dual-auth-delete

Zum sicheren Löschen von Verschlüsselungsschlüsseln wird die Richtlinie dual-auth-delete verwendet. Wenn Sie einen Schlüssel löschen, werden der Schlüsselinhalt und die zugehörigen Daten zerstört. Alle Daten, die mit dem Schlüssel verschlüsselt wurden, werden unzugänglich.

Für das Löschen eines Schlüssels, für den eine Richtlinie für doppelte Autorisierung gilt, ist die Autorisierung von zwei Benutzern erforderlich.

Für weitere Informationen siehe Verwendung doppelter Autorisierungsrichtlinien für das Löschen von Schlüsseln.

Anmerkungen

Das Löschen mit doppelter Autorisierung für eine Instanz unterscheidet sich vom Löschen mit doppelter Autorisierung für Schlüssel.

Nachdem die Richtlinie zum Löschen mit doppelter Autorisierung (dual-auth-delete) für einen Schlüssel aktiviert wurde, kann sie nicht mehr inaktiviert oder entfernt werden. Es dauert 7 Tage, bis die Richtlinie abläuft.

Für eine Instanz kann das Löschen mit doppelter Autorisierung jederzeit aktiviert oder inaktiviert werden.

Wenn ein Schlüssel über eine Richtlinie dual-auth-delete verfügt, bleibt die Richtlinie für den Schlüssel auch nach dem Ändern Instanzrichtlinie erhalten.

Wenn Sie die Instanzrichtlinie ändern, werden neue Schlüssel mit der Instanzrichtlinie durchgesetzt.

ibmcloud kp instance policy-update dual-auth-delete
    -i, --instance-id INSTANCE_ID
    -d, --disable OR
    -e, --enable

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp instance policy-update dual-auth-delete.

Beispiel 1

In diesem Beispiel wird die Richtlinie zum Löschen mit doppelter Autorisierung aktiviert.

# enable the instance dual authorization policy
$ ibmcloud kp instance policy-update dual-auth-delete --enable

Updating instance policy...
OK

# list the instance policies
$ ibmcloud kp instance policies --output json

[
  {
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-22T18:45:14Z",
    "lastUpdated": "2020-06-22T18:45:14Z",
    "updatedBy": "user id ...<redacted>...",
    "policy_type": "dualAuthDelete",
    "policy_data": { "enabled": true
    }
  }
]

# disable the instance dual authorization policy
$ ibmcloud kp instance policy-update dual-auth-delete --disable

Updating instance policy...
OK

# list the instance policies
$ ibmcloud kp instance policies --output json

[
  {
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-22T18:45:14Z",
    "lastUpdated": "2020-06-22T18:51:33Z",
    "updatedBy": "user id ...<redacted>...",
    "policy_type": "dualAuthDelete",
    "policy_data": { "enabled": false
    }
  }
]

Beispiel 2

In diesem Beispiel wird die Richtlinie zum Löschen mit doppelter Autorisierung aktiviert und ein neuer Schlüssel erstellt, um zu zeigen, dass der neue Schlüssel die Instanzrichtlinie übernimmt.

Wenn die Richtlinie für doppelte Autorisierung für eine Instanz inaktiviert wird, bleibt die Richtlinie für die vorhandenen Schlüssel unverändert. Die Instanzrichtlinie wird auf neue Schlüssel angewendet, die nach der Aktualisierung der Richtlinie erstellt werden.

# enable the instance dual authorization policy
$ ibmcloud kp instance policy-update dual-auth-delete --enable

Updating instance policy...
OK

# create a new key
$ ibmcloud kp key create my-protected-key

Creating key: 'my-protected-key', in instance: 'a192d603-0b8d-452f-aac3-f9e1f95e7411'...
OK
Key ID                                 Key Name
6a8a129b-0cd4-4667-ba57-b355a125a7ca   my-protected-key

# list the policies for the key - dual-auth-delete is
# enabled because the key inherits the instance policy
$ ibmcloud kp key policies 6a8a129b-0cd4-4667-ba57-b355a125a7ca --output json

[
  {
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-22T19:13:00Z",
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:policy:2427dbde-6cff-41eb-8b5a-ff26b038cafc",
    "lastUpdateDate": "2020-06-22T19:13:00Z",
    "updatedBy": "user id ...<redacted>...",
    "dualAuthDelete": { "enabled": true
    }
  }
]

# attempt to delete the key - this fails
$ ibmcloud kp key delete 6a8a129b-0cd4-4667-ba57-b355a125a7ca

Deleting key: 6a8a129b-0cd4-4667-ba57-b355a125a7ca, from instance: a192d603-0b8d-452f-aac3-f9e1f95e7411...
FAILED
kp.Error:
    correlation_id='8ad33eb2-7bbf-4b7a-a02e-221959920342',
    msg='Conflict: 1 prior authorization(s) are required for deletion: Key could not be deleted. Please see "reasons" for more details.',
    reasons='[AUTHORIZATIONS_NOT_MET: Number of authorizations required to delete is not met -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

# disable the instance dual authorization policy
$ ibmcloud kp instance policy-update dual-auth-delete --disable

Updating instance policy...
OK

# attempt to delete the key - this fails because the key policy
# does not change when the instance policy is updated
$ ibmcloud kp key delete 6a8a129b-0cd4-4667-ba57-b355a125a7ca

Deleting key: 6a8a129b-0cd4-4667-ba57-b355a125a7ca, from instance: a192d603-0b8d-452f-aac3-f9e1f95e7411...
FAILED
kp.Error:
    correlation_id='cbc0d18b-a816-45ab-af6a-b8e18dc3e628',
    msg='Conflict: 1 prior authorization(s) are required for deletion: Key could not be deleted. Please see "reasons" for more details.',
    reasons='[AUTHORIZATIONS_NOT_MET: Number of authorizations required to delete is not met -
    FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

Erforderliche Parameter

  • -d, --disable

  • -e, --enable

    Richtlinie für doppelte Autorisierung inaktivieren oder inaktivieren. Eine Option ist erforderlich.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

KP-Schlüsselalias-Erstellen

Erstellt einen Alias für einen Schlüssel und zeigt die Ausgabe im JSON-Format an. Aliasnamen können als Referenz in Methoden verwendet werden, die einen Schlüssel akzeptieren ID. Jeder Alias ist nur innerhalb der jeweiligen Instanz eindeutig und wird nicht dienstübergreifend im „ Key Protect “-Dienst reserviert. Jeder Schlüssel kann bis zu fünf Aliasnamen haben. Die Anzahl der Aliasnamen pro Instanz ist nicht begrenzt. Die Länge des Aliasnamens kann zwischen 2 und 90 Zeichen einschließlich liegen.

Ein Aliasname muss alphanumerisch sein und darf keine Leerzeichen oder Sonderzeichen außer '-' oder ' _' enthalten. Außerdem darf der Aliasname keine UUID der Version 4 sein und darf kein Key Protect reservierter Name sein: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions.

ibmcloud kp key alias-create KEY_ID -a KEY_ALIAS
    -i, --instance-id     INSTANCE_ID
    -a, --alias           KEY_ALIAS
    [-o, --output         OUTPUT]

Beispiele

Dies ist ein Beispiel für kp key alias-create.

Beispiel

Erstellen eines Schlüsselalias.

# create a key alias
$ ibmcloud kp key alias-create 24203f96-b134-440e-981a-a24f2d432256 my-alias

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Alias
24203f96-b134-440e-981a-a24f2d432256   my-alias

Erforderliche Parameter

  • KEY_ID

    Die ID des Schlüssels, den Sie ändern wollen. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

  • KEY_ALIAS

    Der Aliasname oder die alternative Kennung des Schlüssels, den Sie ändern wollen. Die ID muss alphanumerisch sein und darf keine Leerzeichen oder Sonderzeichen außer '-' oder '_' enthalten und darf keine UUID der Version 4 sein.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

kp key cancel-delete

Für einen Schlüssel mit einer Richtlinie dual-auth-delete ist die Autorisierung durch zwei Benutzer mit Verwaltungsaufgaben erforderlich, um den Schlüssel zu löschen.

Dieser Befehl (kp key cancel-delete) bricht eine vorherige Berechtigung ab oder entfernt sie.

Der Befehl kp key schedule-delete ist die "Autorisierung" zum Löschen des Schlüssels.

Führen Sie den folgenden Prozess aus, um einen Schlüssel mit einer Richtlinie dual-auth-delete zu löschen.

  1. Erstellen Sie einen Schlüssel und aktivieren Sie die Richtlinie dual-auth-delete.

  2. Benutzer 1 plant (autorisiert) eine Schlüssellöschung mit dem kp key schedule-delete-Befehl

  3. Benutzer 2 plant (autorisiert) das Löschen eines Schlüssels.

  4. Der Schlüssel wird gelöscht, nachdem die zweite Aktion schedule-delete ausgeführt wurde, die von der Benutzerschnittstelle, API und Befehlszeilenschnittstelle unterstützt wird.

  5. Wenn innerhalb von 7 Tagen keine zweite Autorisierung erfolgt, wird der Schlüssel in den Standardstatus zurückgesetzt.

Die Richtlinie dual-auth-delete kann auf zwei Arten aktiviert werden:

  • Durch Festlegen der Richtlinie für einen einzelnen Schlüssel mit dem Befehl kp key policy-update dual-auth-delete
  • Richtlinie für die Instanz festlegen mit kp instance policy-update dual-auth-delete; alle Schlüssel, die nach der Aktivierung der Instanzrichtlinie erstellt werden, übernehmen die Instanzrichtlinieneinstellung
ibmcloud kp key cancel-delete KEY_ID_OR_ALIAS
    -i, --instance-id INSTANCE_ID

Beispiel

In diesem Beispiel wird das zuvor geplante Löschen eines Schlüssels abgebrochen.

# this key has a dual-auth-delete policy
$ ibmcloud kp key policies $KEY_ID --output json

[
  {
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-22T19:13:00Z",
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:policy:2427dbde-6cff-41eb-8b5a-ff26b038cafc",
    "lastUpdateDate": "2020-06-22T21:29:10Z",
    "updatedBy": "user id ...<redacted>...",
    "dualAuthDelete": { "enabled": true
    }
  }
]

# cancel a previously scheduled key delete
$ ibmcloud kp key cancel-delete $KEY_ID

Cancelling key for deletion...
OK

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie löschen möchten. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

kp key create

Rootschlüssel erstellen in der von Ihnen angegebenen Key Protect-Instanz oder eigenen Schlüssel importieren

Rootschlüssel müssen 16, 24 oder 32 Byte lang sein (dies entspricht 128, 192 oder 256 Bit).

ibmcloud kp key create KEY_NAME
        -i, --instance-id     INSTANCE_ID
    [--key-ring                KEY_RING_ID]
    [-k, --key-material    KEY_MATERIAL]
    [-n, --encrypted-nonce NONCE]
    [-o, --output          OUTPUT]
    [-s, --standard-key]
    [-v, --iv              IV]
    [-D, --description     DESCRIPTION]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key create.

Beispiel 1

Rootschlüssel erstellen.

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
24203f96-b134-440e-981a-a24f2d432256   my-root-key

Beispiel 2

Rootschlüssel erstellen und JSON-Ausgabe anzeigen

# create a root key
$ ibmcloud kp key create my-root-key --output json

{
    "id": "24203f96-b134-440e-981a-a24f2d432256",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:24203f96-b134-440e-981a-a24f2d432256"
}

Beispiel 3

Rootschlüssel aus einem Base64-codierten Wert erstellen

# create a random, base64-encoded, 32-byte key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

# create a root key from a base64-encoded value
$ ibmcloud kp key create my-base64-root-key -k $KEY_MATERIAL

Creating key: 'my-base64-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
5f9eef2d-53b4-42e8-8b56-c2970255210a   my-base64-root-key

Beispiel 4

Rootschlüssel mithilfe eines Importtokens erstellen

# create an import token that expires in 5 minutes and allows 10 retrievals
$ ibmcloud kp import-token create -e 300 -m 10

# create a random, base64-encoded, 32-byte key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

# extract the nonce that was created by the "kp import-token create" command
$ NONCE=$(ibmcloud kp import-token show | jq -r '.["nonce"]')

# extract the public key that was created by the "kp import-token create" command
$ PUBLIC_KEY=$(ibmcloud kp import-token show | jq -r '.["payload"]')

# encrypt the key material using the public key
$ ibmcloud kp import-token key-encrypt -k $KEY_MATERIAL -p $PUBLIC_KEY

Encrypted Key
qT1pyiS1Sivbmmt4doTtfZC4XuLazk7u ...<redacted>... +a/6EqeAamo/9vo=

# capture the encrypted key material
$ ENCRYPTED_KEY=qT1pyiS1Sivbmmt4doTtfZC4XuLazk7u ...<redacted>... +a/6EqeAamo/9vo=

# encrypt the nonce
$ ibmcloud kp import-token nonce-encrypt -k $KEY_MATERIAL -n $NONCE

Encrypted Nonce                            IV
fR8uRvbrKIm9y/LCq9p6pwFBXbF864q/bw5meQ==   efQgA8xBeyuBy39D

# capture the encrypted nonce and the initialization vector (IV)
$ ENCRYPTED_NONCE=fR8uRvbrKIm9y/LCq9p6pwFBXbF864q/bw5meQ==
$ IV=efQgA8xBeyuBy39D

# create a root key using an import token, provide an encrypted key, nonce, and initialization vector (IV)
$ ibmcloud kp key create my-imported-root-key -k $ENCRYPTED_KEY -n $ENCRYPTED_NONCE -v $IV

Creating key: 'my-imported-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
4241a9b3-0ee0-4cfd-b0f3-fd80505fb675   my-imported-root-key

Beispiel 5

Standardschlüssel erstellen

# create a standard key
$ ibmcloud kp key create my-standard-key -s

Creating key: 'my-standard-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
12d3f3a4-aea5-4832-8339-fa14dbffd935   my-standard-key

Beispiel 6

Standardschlüssel erstellen, der als Vault für Berechtigungsnachweise verwendet wird

Jede Zeichenfolge mit Base64-Codierung kann als Standardschlüssel importiert werden. Dieses Beispiel zeigt, wie Berechtigungsnachweise gespeichert werden, nicht nur Verschlüsselungsschlüssel, in Key Protect.

Standardschlüssel können bis zu 7.500 Byte groß sein, bevor die Base64-Codierung erfolgt.

# create a file with your credentials
$ cat credentials.json

{
    "host": "localhost",
    "database": "dev-backup",
    "username": "my-username",
    "password": "my-password"
}

# encode the credentials (or any string) to a base64 string
$ ENCODED=$(base64 -i credentials.json)

$ echo $ENCODED

ewoJImhvc3QiOiAibG9jYWxob3N0IiwK...<redacted>...cGFzc3dvcmQiCn0K

# create a new key that contains the base64-encoded credentials
$ ibmcloud kp key create credentials-key -i $KP_INSTANCE_ID --key-material $ENCODED --standard-key --output json

# OR... CAPTURE THE KEY_ID
$ KEY_ID=$(ibmcloud kp key create credentials-key -i $KP_INSTANCE_ID --key-material $ENCODED --standard-key --output json | jq -r '.["id"]')

{
    "id": "8480e26f-3add-4fff-bca7-8cf908894b7c",
    "name": "credentials-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": true,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:8480e26f-3add-4fff-bca7-8cf908894b7c",
    "deleted": false
}

# retrieve the base64-encoded payload
$ ibmcloud kp key show $KEY_ID --output json

# OR... CAPTURE THE PAYLOAD
$ PAYLOAD=$(ibmcloud kp key show $KEY_ID --output json | jq -r '.["payload"]')

{
    "id": "8480e26f-3add-4fff-bca7-8cf908894b7c",
    "name": "credentials-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-08-18T16:13:08Z",
    "lastUpdateDate": "2020-08-18T16:13:08Z",
    "extractable": true,
    "payload": "ewoJImhvc3QiOiAibG9jYWxob3N0IiwKCSJkYXRhYmFzZSI6ICJkZXYtYmFja3VwIiwKCSJ1c2VybmFtZSI6ICJteS11c2VybmFtZSIsCgkicGFzc3dvcmQiOiAibXktcGFzc3dvcmQiCn0=",
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:8480e26f-3add-4fff-bca7-8cf908894b7c",
    "deleted": false,
    "dualAuthDelete": {
        "enabled": false
      }
}

# decode the payload to get the original string (credentials)
$ echo $PAYLOAD | base64 -d

{
    "host": "localhost",
    "database": "dev-backup",
    "username": "my-username",
    "password": "my-password"
}

Beispiel 7

Erstellen Sie einen Rootschlüssel mit einem Alias und verwenden Sie diesen Alias, um den Schlüssel zum Anzeigen der Schlüsseldetails anzugeben.

# create a root key with an alias
$ ibmcloud kp key create root-key-with-alias -a example-alias --output json

{
    "id": "b3660416-4186-4587-b528-484886a4731b",
    "name": "root-key-with-alias",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "aliases": [
        "example-alias"
    ],
    "keyRingID": "default",
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:b3660416-4186-4587-b528-484886a4731b",
    "deleted": false
}

# show key details using the alias as identifier
$ ibmcloud kp key show example-alias --output json

{
    "id": "b3660416-4186-4587-b528-484886a4731b",
    "name": "root-key-with-alias",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2022-06-09T21:21:55Z",
    "lastUpdateDate": "2022-06-09T21:21:55Z",
    "keyVersion": {
        "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "creationDate": "2022-06-09T21:21:55Z"
    },
    "aliases": [
        "example-alias"
    ],
    "keyRingID": "default",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:b3660416-4186-4587-b528-484886a4731b",
    "deleted": false,
    "dualAuthDelete": {
        "enabled": false
    }
}

Beispiel 8

Fügen Sie einem Schlüssel eine Beschreibung hinzu. Beispiel: Eine kurze Phrase, mit der der beabsichtigte Zweck des Schlüssels beschrieben wird.

ibmcloud kp key create KEY_NAME -i 40f2a13c-780e-4641-bea5-e166e5bb5a9f -D ""description of the key""

Erforderliche Parameter

  • KEY_NAME

    Eine eindeutige, lesbare Kennung, die Ihrem Schlüssel zugeordnet werden kann.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -k, --key-material

    Wenn Sie einen Schlüssel generiert haben, sind dies die Base64-codierten Schlüsselinformationen, die Sie im Service speichern und verwalten.

    Rootschlüssel müssen 16, 24 oder 32 Byte lang sein (dies entspricht 128, 192 oder 256 Bit). Der Schlüssel muss base64-codiert sein.

    Standardschlüssel können bis zu 7.500 Byte groß sein. Der Schlüssel muss base64-codiert sein.

    Wenn Sie mithilfe eines Importtokens einen Schlüssel erstellen, ist dies der verschlüsselte Schlüssel aus dem Prozess kp import-token key-encrypt.

    Wenn ein neuer Schlüssel generiert werden soll, geben Sie den Parameter -k, --key-material nicht an.

  • -n, --encrypted-nonce

    Wird mit Importtoken verwendet. Der verschlüsselte Wert der generierten Zufallszahl (Nonce-Wert), von dem Ihre Anforderung zum Importieren des Schlüssels in Key Protect überprüft wird. Dieser Wert muss mithilfe der Schlüsselinformationen verschlüsselt werden, die Sie in den Service importieren. Siehe ibmcloud kp import-token --help.

    Verwenden Sie ibmcloud kp import-token show, um eine Nonce abzurufen. Verschlüsseln Sie den Wert anschließend durch Ausführen des Befehls ibmcloud kp import-token nonce-encrypt.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • -s, --standard-key

    Legen Sie den Parameter nur fest, wenn Sie einen Standardschlüssel erstellen möchten. Wenn Sie einen Rootschlüssel erstellen möchten, geben Sie den Parameter --standard-key nicht an.

  • -v, --iv

    Wird mit Importtoken verwendet. Der Initialisierungsvektor (IV), der generiert wird, wenn Sie eine generierte Zufallszahl (Nonce) verschlüsseln. Der IV-Wert ist erforderlich, um den verschlüsselten Nonce-Wert zu entschlüsseln, den Sie angeben, wenn Sie einen Schlüsselimport in den Service anfordern.

    Um einen IV zu generieren, verschlüsseln Sie den Nonce-Wert durch Ausführen des Befehls ibmcloud kp import-token nonce-encrypt.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

  • -D, --description

    Ermöglicht das Hinzufügen einer Beschreibung zum Schlüssel. Beispiel: Eine kurze Phrase, mit der der beabsichtigte Zweck des Schlüssels beschrieben wird.

kp-Schlüssel create-key-with-policy-overrides

Erstellen Sie einen Schlüssel mit Richtlinien nur für den benannten Schlüssel, der alle anwendbaren Instanzrichtlinien überschreibt.

ibmcloud kp key create-key-with-policy-overrides KEY_NAME
    -i, --instance-id                         INSTANCE_ID
    [-a, --aliases                            ALIAS]
    [-d, --dual-auth-delete-policy-enabled    KEY_RING_ID]
    [--key-ring                               KEY_RING_ID]
    [-k, --key-material                       KEY_MATERIAL]
    [-m, --rotation-interval-month            VALUE]
    [-n, --encrypted-nonce                    NONCE]
    [-o, --output                             OUTPUT]
    [-s, --standard-key]
    [-v, --iv                                 IV]

Beispiel

Erstellen Sie einen Rootschlüssel, der eine Rotationsrichtlinie mit einem Intervall von 2 Monaten ermöglicht (jeder "Monat" wird mit 30 Tagen bewertet, was zu einem Rotationsintervall von 60 Tagen führt).

% ibmcloud kp key create-key-with-policy-overrides test-key -m 2 -r
Creating key with policy overrides: 'test-key', in instance: '47377f07-8721-2O47-f396-ef1982c1e96e'...

OK
Key ID                                 Key Name   
076df396-4c90-e008-bf20-f1bb672d465b   test-key

# List policies
% ibmcloud kp key policies 076df396-4c90-e008-bf20-f1bb672d465b
Retrieving policy details for key ID: 076df396-4c90-e008-bf20-f1bb672d465b...
OK

Created By      IBMid-xxxxnnnnnxxx   
Creation Date   2022-10-27T17:48:20Z   
Last Updated    2022-10-27T17:48:20Z   
Updated By      IBMid-xxxxnnnnnxxx   
Policy Type     Rotation   
Interval        2   
Enabled         true

Erforderliche Parameter

  • KEY_NAME

    Eine eindeutige, lesbare Kennung, die Ihrem Schlüssel zugeordnet werden kann.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -a, --aliases

    Alphanumerische lesbare Aliasnamen mit 2-90 Zeichen, die Ihrem Schlüssel zugeordnet sind. Der Aliasname darf keine Leerzeichen oder Sonderzeichen außer Unterstreichungszeichen und Gedankenstrichen enthalten. Pro Schlüssel sind maximal 5 Aliasnamen zulässig.

  • -d, --dual-auth-delete-policy-enabled

Aktiviert die Löschrichtlinie mit doppelter Authentifizierung für einen Schlüssel.

  • -k, --key-material

    Wenn Sie einen Schlüssel generiert haben, sind dies die Base64-codierten Schlüsselinformationen, die Sie im Service speichern und verwalten.

    Rootschlüssel müssen 16, 24 oder 32 Byte lang sein (dies entspricht 128, 192 oder 256 Bit). Der Schlüssel muss base64-codiert sein.

    Standardschlüssel können bis zu 7.500 Byte lang sein. Der Schlüssel muss base64-codiert sein.

    Wenn Sie mithilfe eines Importtokens einen Schlüssel erstellen, ist dies der verschlüsselte Schlüssel aus dem Prozess kp import-token key-encrypt.

    Wenn ein neuer Schlüssel generiert werden soll, geben Sie den Parameter -k, --key-material nicht an.

  • -n, --encrypted-nonce

    Wird mit Importtoken verwendet. Der verschlüsselte Wert der generierten Zufallszahl (Nonce-Wert), von dem Ihre Anforderung zum Importieren des Schlüssels in Key Protect überprüft wird. Dieser Wert muss mithilfe der Schlüsselinformationen verschlüsselt werden, die Sie in den Service importieren. Siehe ibmcloud kp import-token --help.

    Verwenden Sie ibmcloud kp import-token show, um eine Nonce abzurufen. Verschlüsseln Sie den Wert anschließend durch Ausführen des Befehls ibmcloud kp import-token nonce-encrypt.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • -m, --rotation-interval-month

Geben Sie das Rotationszeitintervall (in Monaten) für einen Schlüssel an. Der Standardwert ist -1.

  • -s, --standard-key

    Legen Sie den Parameter nur fest, wenn Sie einen Standardschlüssel erstellen möchten. Wenn Sie einen Rootschlüssel erstellen möchten, geben Sie den Parameter --standard-key nicht an.

  • -v, --iv

    Wird mit Importtoken verwendet. Der Initialisierungsvektor (IV), der generiert wird, wenn Sie eine generierte Zufallszahl (Nonce) verschlüsseln. Der IV-Wert ist erforderlich, um den verschlüsselten Nonce-Wert zu entschlüsseln, den Sie angeben, wenn Sie einen Schlüsselimport in den Service anfordern.

    Um einen IV zu generieren, verschlüsseln Sie den Nonce-Wert durch Ausführen des Befehls ibmcloud kp import-token nonce-encrypt.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key delete

Löschen Sie einen Schlüssel, der im Key Protect-Service gespeichert ist.

ibmcloud kp key delete KEY_ID_OR_ALIAS
        -i, --instance-id INSTANCE_ID
    [--key-ring          KEY_RING_ID]
    [-f, --force]
    [-o, --output      OUTPUT]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key delete.

Beispiel 1

Rootschlüssel löschen

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
8635b804-9966-4918-a16b-d561fdbf181f   my-root-key

# show key details
$ ibmcloud kp key show 8635b804-9966-4918-a16b-d561fdbf181f

Grabbing info for key id: 8635b804-9966-4918-a16b-d561fdbf181f...
OK
Key ID                                 Key Name      Description   Creation Date                   Expiration Date
8635b804-9966-4918-a16b-d561fdbf181f   my-root-key                 2020-05-05 19:58:02 +0000 UTC   Key does not expire

# delete the key
$ ibmcloud kp key delete 8635b804-9966-4918-a16b-d561fdbf181f

Deleting key: 8635b804-9966-4918-a16b-d561fdbf181f, from instance: 390086ac-76fa-4094-8cf3-c0829bd69526...
OK
Deleted Key
8635b804-9966-4918-a16b-d561fdbf181f

Beispiel 2

Rootschlüssel löschen und JSON-Ausgabe anzeigen

# create a root key
$ ibmcloud kp key create my-root-key --output json

{
    "id": "9cca88c9-019e-4f0a-9e76-8e657c6b9720",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb145:390086ac-76fa-4094-8cf3-c0829bd69526:key:9cca88c9-019e-4f0a-9e76-8e657c6b9720"
}

# show key details
$ ibmcloud kp key show 9cca88c9-019e-4f0a-9e76-8e657c6b9720 --output json

{
    "id": "9cca88c9-019e-4f0a-9e76-8e657c6b9720",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-05-05T20:03:00Z",
    "lastUpdateDate": "2020-05-05T20:03:00Z",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb145:390086ac-76fa-4094-8cf3-c0829bd69526:key:9cca88c9-019e-4f0a-9e76-8e657c6b9720"
}

# delete the key
$ ibmcloud kp key delete 9cca88c9-019e-4f0a-9e76-8e657c6b9720 --output json

{
    "id": "9cca88c9-019e-4f0a-9e76-8e657c6b9720"
}

Beispiel 3

Rootschlüssel löschen, der in einer anderen Cloudressource registriert ist

# create a Cloud Object Storage (COS) instance
# "lite" is the pricing plan and "global" is the region
$ COS_NAME=my-cos-1

$ ibmcloud resource service-instance-create $COS_NAME cloud-object-storage lite global

# capture the COS instance id (GUID)
$ COS_INSTANCE_ID=9d4353d8-6b85-4689-90dd-1ccfb4a275ab

# create a Key Management Service (KMS) instance
# "tiered-pricing" is the pricing plan and "us-south" is the region
$ KMS_NAME=my-kms-1

$ ibmcloud resource service-instance-create $KMS_NAME kms tiered-pricing us-south

# capture the Key Protect (KP) instance id (GUID)
$ KP_INSTANCE_ID=b0d84b32-09d0-4314-8049-da78e3b9ab6f

# create a policy for COS to read KMS; source is COS, target is KMS (Key Protect)
$ ibmcloud iam authorization-policy-create cloud-object-storage kms Reader \
  --source-service-instance-id $COS_INSTANCE_ID \
  --target-service-instance-id $KP_INSTANCE_ID

# capture the COS-to-KMS authorization policy id
$ COS_KMS_AUTHORIZATION=79375168-2d74-49df-98aa-3e727410fa71

# create a KP root key that COS uses to encrypt data
$ ibmcloud kp key create my-cos-key --output json

{
    "id": "52a9d772-8982-4620-bfb4-b070dd812a0c",
    "name": "my-cos-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:b0d84b32-09d0-4314-8049-da78e3b9ab6f:key:52a9d772-8982-4620-bfb4-b070dd812a0c"
}

# capture the KP root key id
$ MY_COS_KEY_ID=52a9d772-8982-4620-bfb4-b070dd812a0c

# create a COS bucket and set KP encryption
#   must be done in the console user interface (UI) because
#   there is no API or CLI support at this time

# capture the name of the COS bucket that was created
$ COS_BUCKET=my-cos-kms-bucket

# view the KP registration; it's a result of creating the COS bucket
$ ibmcloud kp registrations --output json

[
  {
    "keyId": "52a9d772-8982-4620-bfb4-b070dd812a0c",
    "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/ea998d3389c3473aa0987652b46fb146:9d4353d8-6b85-4689-90dd-1ccfb4a275ab:bucket:my-cos-kms-bucket",
    "createdBy": "crn-crn:v1:bluemix:public:cloud-object-storage:global:a/ea998d3389c3473aa0987652b46fb146:9d4353d8-6b85-4689-90dd-1ccfb4a275ab::",
    "creationDate": "2020-06-15T20:41:23Z",
    "lastUpdated": "2020-06-15T20:41:23Z",
    "keyVersion": { "id": "52a9d772-8982-4620-bfb4-b070dd812a0c", "creationDate": "2020-06-15T20:36:46Z"
    }
  }
]

# delete the authorization policy between COS AND KMS - this breaks everything
$ ibmcloud iam authorization-policy-delete $COS_KMS_AUTHORIZATION --force

# delete the KP root key - this fails because the registration was not deleted
$ ibmcloud kp key delete $MY_COS_KEY_ID

Deleting key: 52a9d772-8982-4620-bfb4-b070dd812a0c, from instance: b0d84b32-09d0-4314-8049-da78e3b9ab6f...
FAILED
kp.Error:
    correlation_id='c27b7948-4a1f-4cbd-8770-cb3616888e27',
    msg='Conflict: Key could not be deleted. Please see "reasons" for more details.',
    reasons='[PROTECTED_RESOURCE_ERR: Key is protecting one or more cloud resources -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/docs/key-protect?topic=key-protect-troubleshooting#unable-to-delete-keys]'

# delete the KP root key; use --force because the registration between COS and KMS still exists
$ ibmcloud kp key delete $MY_COS_KEY_ID --force --output json

{
    "id": "52a9d772-8982-4620-bfb4-b070dd812a0c"
}

# delete the KMS instance
$ ibmcloud resource service-instance-delete $KMS_NAME --force

# delete the COS instance
$ ibmcloud resource service-instance-delete $COS_NAME --force

# view resources (COS and KMS should no longer exist)
$ ibmcloud resource service-instances

Retrieving instances with type service_instance in resource group Default in all locations under account <account name> as <email address>...
OK
No service instance found.

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie löschen möchten. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -f, --force

    Das Löschen eine Schlüssels erzwingen (ermöglicht das Löschen eines Schlüssels, für den eine 'Registrierung' besteht. Registrierungen sind Zuordnungen zwischen Rootschlüsseln und anderen Cloudressourcen (z. B. Cloud Object Storage-Buckets oder Bereitstellungen von Clouddatenbanken).

    Weitere Informationen finden Sie unter kp registrations.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key disable

Der Befehl kp key disable inaktiviert einen Rootschlüssel und widerruft vorübergehend den Zugriff auf die zugehörigen Daten.

Als Administrator müssen Sie gegebenenfalls vorübergehend einen Rootschlüssel inaktivieren, wenn Sie bei Ihren Daten eine potenzielle Sicherheitslücke, ein Sicherheitsrisiko oder einen Verstoß gegen den Datenschutz vermuten.

Durch das Inaktivieren eines Rootschlüssels werden die zugehörigen Ver- und Entschlüsselungsoperationen ausgesetzt. Sobald feststeht, dass kein aktives Sicherheitsrisiko mehr besteht, können Sie den Zugriff auf Ihre Daten wiederherstellen, indem Sie den inaktivierten Rootschlüssel wieder aktivieren.

Wenn Sie einen zuvor aktivierten Rootschlüssel inaktivieren, wechselt der Schlüssel vom Schlüsselstatus Aktiv (Wert ist 1) in den Schlüsselstatus Ausgesetzt (Wert ist 2).

Zum Inaktivieren eines Rootschlüssels muss Ihnen eine Manager-Servicezugriffsrolle für die Instanz oder den Schlüssel zugewiesen sein. Informationen zur Zuordnung von IAM-Rollen zu Key Protect-Serviceaktionen entnehmen Sie Servicezugriffsrollen.

Wenn Sie einen integrierten Cloud-Service verwenden, der das Widerrufen des Zugriffs auf einen inaktivierten Rootschlüssel unterstützt, kann es bis zu 4 Stunden dauern, bis der Service den Zugriff auf die zugehörigen Daten des Rootschlüssels widerrufen hat.

Nachdem der Zugriff auf die zugehörigen Daten widerrufen wurde, wird ein entsprechendes disable event wird in der Weboberfläche von „ IBM Cloud Logs “ angezeigt. Das Ereignis disable event gibt an, dass der Schlüssel widerrufen wurde (und jetzt inaktiviert ist) und der Schlüssel nicht für die Verschlüsselung und Entschlüsselung von Operationen verwendet werden kann.

ibmcloud kp key disable KEY_ID_OR_ALIAS
    -i, --instance-id INSTANCE_ID
    [--key-ring         KEY_RING_ID]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key disable.

Beispiel 1

Erstellen Sie einen Rootschlüssel, inaktivieren Sie den erstellten Schlüssel, überprüfen Sie den Schlüsselstatus (er muss den Wert 'Ausgesetzt' aufweisen), aktivieren Sie den Rootschlüssel und überprüfen Sie erneut den Schlüsselstatus (er muss den Wert 'Aktiv' aufweisen).

# create a root key
$ ibmcloud kp key create my-root-key --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

# show key details - a state of "1" is "active"
$ ibmcloud kp key show 264fadc3-7667-4b25-916e-5825fe70de0b --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-09T21:21:55Z",
    "lastUpdateDate": "2020-06-09T21:21:55Z",
    "keyVersion": {
        "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "creationDate": "2020-06-09T21:21:55Z"
    },
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

# disable the root key
$ ibmcloud kp key disable 264fadc3-7667-4b25-916e-5825fe70de0b

Disabling key: '264fadc3-7667-4b25-916e-5825fe70de0b', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK

# show key details - a state of "2" is "suspended"
$ ibmcloud kp key show 264fadc3-7667-4b25-916e-5825fe70de0b --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-09T21:21:55Z",
    "lastUpdateDate": "2020-06-09T21:23:26Z",
    "keyVersion": {
        "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "creationDate": "2020-06-09T21:21:55Z"
    },
    "extractable": false,
    "state": 2,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

Beispiel 2

Erstellen Sie einen Rootschlüssel, inaktivieren Sie den Schlüssel und versuchen Sie, den Rootschlüssel für das Wrapping eines anderen Schlüssels zu verwenden.

# create a root key
$ KEY_ID=$(ibmcloud kp key create my-root-key --output json | jq -r '.["id"]')

$ echo $KEY_ID

63d044d9-b38b-4803-85ef-ed9a1e5087c2

# disable the root key
$ ibmcloud kp key disable $KEY_ID

Disabling key: '63d044d9-b38b-4803-85ef-ed9a1e5087c2', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK

# create a random, base64-encoded, 32-byte data encryption key (DEK)
$ PLAINTEXT=$(openssl rand -base64 32)

$ echo $PLAINTEXT

BNxtU9B4kXOZA45Cnyz3wOh4J77TakTXI1n2rj0ZiMc=

# wrap the plaintext key with the root key, creating a DEK (this is the ciphertext)
# this should fail (the root key is disables)
$ ibmcloud kp key wrap $KEY_ID -p $PLAINTEXT --output json

FAILED
kp.Error:
    correlation_id='c2edbdad-7e62-4690-8fcc-10515ade9913',
    msg='Conflict: Action could not be performed on key. Please see "reasons" for more details.',
    reasons='[KEY_ACTION_INVALID_STATE_ERR: Key is not in a valid state -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

Beispiel 3

Erstellen Sie einen Rootschlüssel mit einem Alias, verwenden Sie diesen Alias, um den zu inaktivierenden Schlüssel zu identifizieren, überprüfen Sie den Schlüsselstatus (ausgesetzt), aktivieren Sie dann den Rootschlüssel und überprüfen Sie den neuen Schlüsselstatus (aktiv).

# create a root key
$ ibmcloud kp key create root-key-with-alias -a example-alias-1 --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "root-key-with-alias",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "aliases": [
        "example-alias"
    ],
    "deleted": false,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

# show key details using the alias as identifier - a state of "1" is "active"
$ ibmcloud kp key show example-alias-1 --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "root-key-with-alias",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-09T21:21:55Z",
    "lastUpdateDate": "2020-06-09T21:21:55Z",
    "keyVersion": {
        "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "creationDate": "2020-06-09T21:21:55Z"
    },
    "extractable": false,
    "state": 1,
    ...
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

# disable the root key identified by alias
$ ibmcloud kp key disable example-alias-1

Disabling key: '264fadc3-7667-4b25-916e-5825fe70de0b', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK

# show key details - a state of "2" is "suspended"
$ ibmcloud kp key show example-alias-1 --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "root-key-with-alias",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-09T21:21:55Z",
    "lastUpdateDate": "2020-06-09T21:23:26Z",
    "keyVersion": {
        "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "creationDate": "2020-06-09T21:21:55Z"
    },
    "extractable": false,
    "state": 2,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie löschen möchten. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key enable

Wenn Sie einen Rootschlüssel aktivieren, der zuvor inaktiviert wurde, wechselt der Schlüssel vom Schlüsselstatus Ausgesetzt (Wert ist 2) in den Schlüsselstatus Aktiv (Wert ist 1). Durch diese Aktion werden die Ver- und Entschlüsselungsoperationen des Schlüssels wieder eingesetzt.

Wenn Sie einen integrierten Cloud-Service verwenden, der die Wiederherstellung des Zugriffs auf einen inaktivierten Rootschlüssel unterstützt, kann der Service bis zu maximal 4 Stunden dauern, bevor der Zugriff auf die zugeordneten Daten des Stammschlüssels wiederhergestellt wird.

Nachdem der Zugriff auf die zugehörigen Daten wiederhergestellt wurde, wird eine entsprechende enable event wird in der Weboberfläche von „ IBM Cloud Logs “ angezeigt. Das Ereignis enable event gibt an, dass der Schlüssel wiederhergestellt wurde (und jetzt aktiviert ist). Der Schlüssel kann zum Verschlüsseln und Entschlüsseln von Operationen verwendet werden, wie z. B. Wrapping, Unwrap und Rewrap.

ibmcloud kp key enable <KEY_ID_OR_ALIAS> -i <INSTANCE_ID> [ --key-ring KEY_RING_ID]

Beispiele

Dies ist ein Beispiel für kp key enable.

# create a root key
$ ibmcloud kp key create my-root-key --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

# show key details - a state of "1" is "active"
$ ibmcloud kp key show 264fadc3-7667-4b25-916e-5825fe70de0b --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-09T21:21:55Z",
    "lastUpdateDate": "2020-06-09T21:21:55Z",
    "keyVersion": {
        "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "creationDate": "2020-06-09T21:21:55Z"
    },
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

# disable the root key
$ ibmcloud kp key disable 264fadc3-7667-4b25-916e-5825fe70de0b

Disabling key: '264fadc3-7667-4b25-916e-5825fe70de0b', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK

# show key details - a state of "2" is "suspended"
$ ibmcloud kp key show 264fadc3-7667-4b25-916e-5825fe70de0b --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-09T21:21:55Z",
    "lastUpdateDate": "2020-06-09T21:23:26Z",
    "keyVersion": {
        "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "creationDate": "2020-06-09T21:21:55Z"
    },
    "extractable": false,
    "state": 2,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

# enable the key
$ ibmcloud kp key enable 264fadc3-7667-4b25-916e-5825fe70de0b

Enabling key: '264fadc3-7667-4b25-916e-5825fe70de0b', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK

# show key details - a state of "1" is "active"
$ ibmcloud kp key show 264fadc3-7667-4b25-916e-5825fe70de0b --output json

{
    "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-09T21:21:55Z",
    "lastUpdateDate": "2020-06-09T21:31:44Z",
    "keyVersion": {
        "id": "264fadc3-7667-4b25-916e-5825fe70de0b",
    "creationDate": "2020-06-09T21:21:55Z"
    },
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie löschen möchten. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key policies

Rufen Sie die Details zu einer Schlüsselrichtlinie ab, wie z. B. das automatische Rotationsintervall des Schlüssels.

ibmcloud kp key policies KEY_ID_OR_ALIAS
        -i, --instance-id INSTANCE_ID
    [--key-ring          KEY_RING_ID]
    [-d, --dual-auth]
    [-o, --output      OUTPUT]
    [-r, --rotation]

Beispiel

In diesem Beispiel werden die Richtlinien für einen Rootschlüssel aufgelistet.

Die Richtlinien sind dual authorization delete und rotation.

# create a root key
$ KEY_ID=$(ibmcloud kp key create my-root-key --output json | jq -r '.["id"]')

$ echo $KEY_ID

c024c2b3-2093-46e5-aabb-fdf8cbc14e44

# show key details
$ ibmcloud kp key show $KEY_ID --output json

{
    "id": "c024c2b3-2093-46e5-aabb-fdf8cbc14e44",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-18T20:34:39Z",
    "lastUpdateDate": "2020-06-18T20:34:39Z",
    "keyVersion": {
        "id": "c024c2b3-2093-46e5-aabb-fdf8cbc14e44",
    "creationDate": "2020-06-18T20:34:39Z"
    },
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:c024c2b3-2093-46e5-aabb-fdf8cbc14e44"
}

# update the policy and rotate the key every 2 months
$ ibmcloud kp key policy-update rotation $KEY_ID -m 2 --output json

{
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-18T20:35:41Z",
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:policy:06a40fd6-6fd7-460a-87d7-8388fc1be057",
    "lastUpdateDate": "2020-06-18T20:35:41Z",
    "updatedBy": "user id ...<redacted>...",
    "rotation": {
        "interval_month": 2
      }
}

# list the policies
$ ibmcloud kp key policies $KEY_ID --output json

[
  {
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-18T20:35:41Z",
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:policy:06a40fd6-6fd7-460a-87d7-8388fc1be057",
    "lastUpdateDate": "2020-06-18T20:35:41Z",
    "updatedBy": "user id ...<redacted>...",
    "rotation": { "interval_month": 2
    }
  }
]

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie abfragen möchten. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -d, --dual-auth

    Zeigen Sie Richtlinien an, die eine Richtlinie dual-auth-delete aufweisen.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • -r, --rotation

    Zeigen Sie Richtlinien an, die eine Richtlinie rotation aufweisen.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key policy-update dual-auth-delete

Sie können Key Protect zum sicheren Löschen von Verschlüsselungsschlüsseln mithilfe eines Prozesses der doppelten Autorisierung verwenden. Wenn Sie einen Schlüssel löschen, werden der Schlüsselinhalt und die zugehörigen Daten zerstört. Alle Daten, die mit dem Schlüssel verschlüsselt wurden, werden unzugänglich.

Für das Löschen eines Schlüssels, für den eine Richtlinie für doppelte Autorisierung gilt, ist eine Autorisierung von zwei Benutzern erforderlich. Mithilfe der Key Protect-API können Sie die erste Autorisierung bereitstellen, indem Sie den Schlüssel zum Löschen festlegen. Anschließend erteilt ein anderer Benutzer über die GUI oder die API eine zweite Autorisierung, um den Schlüssel zu löschen.

ibmcloud kp key policy-update dual-auth-delete KEY_ID_OR_ALIAS
        -i, --instance-id INSTANCE_ID
        -e, --enable
    [--key-ring          KEY_RING_ID]
    [-o, --output      OUTPUT]

Beispiel

In diesem Beispiel wird die Richtlinie zum Löschen mit doppelter Autorisierung aktiviert.

# create a root key
$ KEY_ID=$(ibmcloud kp key create my-root-key --output json | jq -r '.["id"]')

$ echo $KEY_ID

d887bfe8-5166-4dad-af32-7e3055ca1873

# show key details
$ ibmcloud kp key show $KEY_ID --output json

{
    "id": "d887bfe8-5166-4dad-af32-7e3055ca1873",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-19T16:07:50Z",
    "lastUpdateDate": "2020-06-19T16:07:50Z",
    "keyVersion": {
        "id": "d887bfe8-5166-4dad-af32-7e3055ca1873",
    "creationDate": "2020-06-19T16:07:50Z"
    },
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:d887bfe8-5166-4dad-af32-7e3055ca1873"
}

# enable the dual authorization policy
$ ibmcloud kp key policy-update dual-auth-delete $KEY_ID --enable --output json

{
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-19T16:08:59Z",
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:policy:0aab763d-b650-43a2-86ad-bdfe2c35c94c",
    "lastUpdateDate": "2020-06-19T16:08:59Z",
    "updatedBy": "user id ...<redacted>...",
    "dualAuthDelete": {
        "enabled": true
      }
}

# list the policies
$ ibmcloud kp key policies $KEY_ID --output json

[
  {
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-19T16:08:59Z",
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:policy:0aab763d-b650-43a2-86ad-bdfe2c35c94c",
    "lastUpdateDate": "2020-06-19T16:08:59Z",
    "updatedBy": "user id ...<redacted>...",
    "dualAuthDelete": { "enabled": true
    }
  }
]

# this should fail (the key has a dual authorization policy)
$ ibmcloud kp key delete $KEY_ID_OR_ALIAS

Deleting key: d887bfe8-5166-4dad-af32-7e3055ca1873, from instance: a192d603-0b8d-452f-aac3-f9e1f95e7411...
FAILED
kp.Error:
    correlation_id='fe0db627-1726-4827-a9d2-c21d728e1c92',
    msg='Conflict: 1 prior authorization(s) are required for deletion: Key could not be deleted.
        Please see "reasons" for more details.',
    reasons='[AUTHORIZATIONS_NOT_MET: Number of authorizations required to delete is not met -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie abfragen möchten. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

  • -e, --enable

    Nachdem die Richtlinie 'dual-auth-delete' aktiviert wurde, kann sie nicht mehr inaktiviert werden. Das Löschen eines Schlüssels ist nur möglich, wenn zwei Autorisierungen vorliegen. Der Löschvorgang muss innerhalb von 7 Tagen abgeschlossen sein. Danach läuft die Richtlinie für doppelte Autorisierung automatisch ab, d. h. der Schlüssel kann von jedem Benutzer mit entsprechender Berechtigung (ohne doppelte Autorisierung) gelöscht werden.

    Wenn die Richtlinie für doppelte Autorisierung versehentlich aktiviert wurde und der Schlüssel gelöscht werden soll, können Sie den Schlüssel disable (mit dem Befehl kp key disable) und abwarten, bis die Richtlinie für doppelte Autorisierung nach 7 Tagen abläuft. Nachdem die Richtlinie abgelaufen ist, können Sie den Schlüssel löschen.

    Es ist nicht möglich, die Key Protect-Instanz zu löschen, solange aktive Schlüssel vorhanden sind. Ein Schlüssel mit einer Richtlinie für doppelte Autorisierung ist ein aktiver Schlüssel.

Optionale Parameter

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key policy-update rotation

Wenn Sie eine Richtlinie für automatische Schlüsselrotation für einen Rootschlüssel festlegen, verkürzen Sie den Lebenszyklus des Schlüssels in regelmäßigen Intervallen und begrenzen die Menge an Informationen, die durch diesen Schlüssel geschützt werden. Benutzer können auch die Schlüsselrotationsrichtlinie für einen Schlüssel aktivieren oder inaktivieren.

Sie können nur eine Rotationsrichtlinie für Rootschlüssel erstellen, die generiert werden in Key Protect. Wenn der Rootschlüssel ursprünglich importiert wurde, müssen Sie neue verschlüsselte Schlüsselinformationen mit Base64-Codierung für die Schlüsselrotation bereitstellen. Weitere Informationen finden Sie unter Bedarfsgesteuerte Rotation von Rootschlüsseln.

ibmcloud kp key policy-update rotation KEY_ID|KEY_ALIAS
[--enable | --disable] [-m MONTHLY_INTERVAL] [-o FORMAT]
[--key-ring KEY_RING_ID]

Beispiele

Rotationsrichtlinien können bei der Schlüsselerstellung oder nach der Erstellung eines Schlüssels angewendet werden. Im ersten Beispiel wird einfach der Schlüssel ohne Rotationsrichtlinie erstellt:

# create a root key

ibmcloud kp key create rotateKeyEnableDisableDemo

Creating key: 'rotateKeyEnableDisableDemo', in instance: '5ecfe306-d4at-48c0-ab07-b5c5bc751534'...
OK
Key ID                                 Key Name   
4d5540bd-3235-4a46-a8af-974f7ed6558a   rotateKeyEnableDisableDemo   
---------------------------------------------------------------------------------------------------------------------------------------------------
# set a rotation policy of three months

ibmcloud kp key policy-update rotation 4d5540bd-3235-4a46-a8af-974f7ed6558a -m 3 -e --output json

{
        "createdBy": "user id ...<redacted>...",
        "creationDate": "2022-12-02T00:50:11Z",
        "crn": "crn:v1:bluemix:public:kms:us-south:a/e3e8fd14a61a49cda102faad15b06c09:5ecfe306-d4af-48c0-ab07-b5c5bc751534:policy:0ec7ad62-982d-45bb-895f-986d95015f5b",
        "lastUpdateDate": "2022-12-02T00:51:38Z",
        "updatedBy": "user id ...<redacted>...",
        "rotation": {
                "enabled": true,
                "interval_month": 3
        }
}
---------------------------------------------------------------------------------------------------------------------------------------------------
# show the rotation policy for this key

ibmcloud kp key policies 4d5540bd-3235-4a46-a8af-974f7ed6558a -r --output json

{
        "createdBy": "user id ...<redacted>...",
        "creationDate": "2022-12-02T00:50:11Z",
        "crn": "crn:v1:bluemix:public:kms:us-south:a/e3e8fd14a61a49cda102faad15b06c09:5ecfe306-d4af-48c0-ab07-b5c5bc751534:policy:0ec7ad62-982d-45bb-895f-986d95015f5b",
        "lastUpdateDate": "2022-12-02T00:51:38Z",
        "updatedBy": "user id ...<redacted>...",
        "rotation": {
                "enabled": true,
                "interval_month": 2
        }
}
---------------------------------------------------------------------------------------------------------------------------------------------------
# update the policy to three months

ibmcloud kp key policy-update rotation 4d5540bd-3235-4a46-a8af-974f7ed6558a -m 3 -e --output json

{
        "createdBy": "user id ...<redacted>...",
        "creationDate": "2022-12-02T00:50:11Z",
        "crn": "crn:v1:bluemix:public:kms:us-south:a/e3e8fd14a61a49cda102faad15b06c09:5ecfe306-d4af-48c0-ab07-b5c5bc751534:policy:0ec7ad62-982d-45bb-895f-986d95015f5b",
        "lastUpdateDate": "2022-12-02T00:51:38Z",
        "updatedBy": "user id ...<redacted>...",
        "rotation": {
                "enabled": true,
                "interval_month": 3
        }
}
---------------------------------------------------------------------------------------------------------------------------------------------------
# disable the policy for this key

ibmcloud kp key policy-update rotation 4d5540bd-3235-4a46-a8af-974f7ed6558a -d --output json

{
        "createdBy": "user id ...<redacted>...",
        "creationDate": "2022-12-02T00:50:11Z",
        "crn": "crn:v1:bluemix:public:kms:us-south:a/e3e8fd14a61a49cda102faad15b06c09:5ecfe306-d4af-48c0-ab07-b5c5bc751534:policy:0ec7ad62-982d-45bb-895f-986d95015f5b",
        "lastUpdateDate": "2022-12-02T00:52:52Z",
        "updatedBy": "user id ...<redacted>...",
        "rotation": {
                "enabled": false,
                "interval_month": 3
        }
}
---------------------------------------------------------------------------------------------------------------------------------------------------
# show that the policy has been disabled

ibmcloud kp key policies 4d5540bd-3235-4a46-a8af-974f7ed6558a -r --output json

{
        "createdBy": "user id ...<redacted>...",
        "creationDate": "2022-12-02T00:50:11Z",
        "crn": "crn:v1:bluemix:public:kms:us-south:a/e3e8fd14a61a49cda102faad15b06c09:5ecfe306-d4af-48c0-ab07-b5c5bc751534:policy:0ec7ad62-982d-45bb-895f-986d95015f5b",
        "lastUpdateDate": "2022-12-02T00:52:52Z",
        "updatedBy": "user id ...<redacted>...",
        "rotation": {
                "enabled": false,
                "interval_month": 3
        }
}
---------------------------------------------------------------------------------------------------------------------------------------------------

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie abfragen möchten. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

Optionale Parameter

  • -m, --monthly-interval

    Legen Sie das Intervall für die Schlüsselrotation in Monaten fest. Das Rotationsintervall muss im Bereich von 1 bis 12 Monat(e) liegen.

  • -e, --enable oder -d, --disable

    Standardmäßig ist die Richtlinie für Schlüsselrotation aktiviert. Wenn der Benutzer die Richtlinie deaktivieren oder aktivieren möchte, kann er -d(--disable) bzw. -e(--enable) verwenden.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key restore

Mit Key Protect kann ein zuvor gelöschter Rootschlüssel wiederhergestellt werden, und damit auch der Zugriff auf die zugehörigen Daten in der Cloud.

Als Administrator müssen Sie möglicherweise einen Rootschlüssel wiederherstellen, der in Key Protect für den Zugriff auf Daten, die zuvor vom Schlüssel geschützt wurden, importiert wurde.

Wenn Sie einen Schlüssel wiederherstellen, versetzen Sie den Schlüssel vom Gelöscht- (Wert ist 5) in den Aktiv-Schlüsselstatus (Wert ist 1) und Sie stellen den Zugriff auf alle Daten wieder her, die zuvor mit dem Schlüssel verschlüsselt wurden.

Ein gelöschter Schlüssel kann innerhalb von 30 Tagen nach der Löschung wiederhergestellt werden. Diese Funktion ist nur für Rootschlüssel verfügbar, die mit einem key materialerstellt wurden.

Sie können nur Rootschlüssel wiederherstellen, die mit einem key material erstellt wurden, indem Sie kp key create mit der Option -k, --key-material. Sie können keinen Rootschlüssel wiederherstellen, wenn die Option --key-material nicht angegeben wurde.

Wenn Sie einen gelöschten Rootschlüssel wiederherstellen möchten, müssen Sie den key material, die zum Erstellen des Rootschlüssels verwendet wurde Sie können einen gelöschten Schlüssel nicht wiederherstellen, ohne das ursprüngliche key material zur Verfügung zu stellen.

ibmcloud kp key restore KEY_ID_OR_ALIAS
        -i, --instance-id     INSTANCE_ID
        -k, --key-material    KEY_MATERIAL
    [--key-ring          KEY_RING_ID]
    [-n, --encrypted-nonce ENCRYPTED_NONCE]
    [-v, --iv              IV]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key restore.

Beispiel 1

In diesem Beispiel wird unter Verwendung der Schlüsselinformationen ein Rootschlüssel erstellt. Der Schlüssel wird anschließend gelöscht und danach wiederhergestellt.

# create a random, base64-encoded, 32-byte key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

$ echo $KEY_MATERIAL

4EZBMBMkZ87z4nvYsQH21DC5+wslgWhHRiU8bmqJ4CY=

# create a root key from a base64-encoded value
$ KEY_ID=$(ibmcloud kp key create my-base64-root-key -k $KEY_MATERIAL --output json | jq -r '.["id"]')

$ echo $KEY_ID

62ad0cd5-70a4-4c4d-9d87-5f4db620b120

# delete the root key
$ ibmcloud kp key delete $KEY_ID

Deleting key: 62ad0cd5-70a4-4c4d-9d87-5f4db620b120, from instance: a192d603-0b8d-452f-aac3-f9e1f95e7411...
OK
Deleted Key
62ad0cd5-70a4-4c4d-9d87-5f4db620b120

# list keys - verify the key was deleted
$ ibmcloud kp keys

Retrieving keys...
OK
Key ID   Key Name

# restore the deleted key
$ ibmcloud kp key restore $KEY_ID -k $KEY_MATERIAL --output json

{
    "id": "62ad0cd5-70a4-4c4d-9d87-5f4db620b120",
    "name": "my-base64-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:62ad0cd5-70a4-4c4d-9d87-5f4db620b120"
}

# list keys - verify the key was restored
$ ibmcloud kp keys

Retrieving keys...
OK
Key ID                                 Key Name
62ad0cd5-70a4-4c4d-9d87-5f4db620b120   my-base64-root-key

Beispiel 2

In diesem Workflow wird ein Rootschlüssel mithilfe eines Importtokens erstellt. Der Schlüssel wird anschließend gelöscht und danach wiederhergestellt.

Dieser Vorgang besteht aus zwei Schritten.

  1. Erstellen eines Rootschlüssels mit einem Importtoken und anschließendes Löschen des Schlüssels

  2. Erstellen Sie ein Importtoken, das für die Wiederherstellung des Schlüssels erforderlich ist, und stellen Sie den Schlüssel wieder her.

Die Erstellung eines Root-Schlüssels mithilfe eines Import-Tokens ist zeitlich begrenzt (die -e, --expiration ). Zum Wiederherstellen eines Schlüssels benötigen Sie ein Importtoken. Daher müssen Sie den Prozess zum Erstellen eines Importtokens ausführen, um einen Schlüssel wiederherzustellen.

Schritt 1: Rootschlüssel mithilfe eines Importtokens erstellen und den Schlüssel anschließend löschen

# create an import token that expires in 5 minutes and allows 10 retrievals
$ ibmcloud kp import-token create -e 300 -m 10

Created                         Expires                         Max Retrievals   Remaining Retrievals
2020-06-18 12:21:59 +0000 UTC   2020-06-18 12:26:59 +0000 UTC   10               10

# create a random, base64-encoded, 32-byte key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

$ echo $KEY_MATERIAL

sADDNDE3pcJlbYXu2z5QFORvsxV1PosRiAPERrhYJdk=

# extract the nonce that was created by the "kp import-token create" command
$ NONCE=$(ibmcloud kp import-token show | jq -r '.["nonce"]')

$ echo $NONCE

/QhqOsqlVPC+ZPWz

# extract the public key that was created by the "kp import-token create" command
$ PUBLIC_KEY=$(ibmcloud kp import-token show | jq -r '.["payload"]')

$ echo $PUBLIC_KEY

LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0t ...<redacted>... QyBLRVktLS0tLQo=

# encrypt the key material using the public key
$ ibmcloud kp import-token key-encrypt -k $KEY_MATERIAL -p $PUBLIC_KEY

Encrypted Key
C+/puHn1v5p7aohitM4r6N4ohiVkCecP ...<redacted>... eWmJRuvsSxDg/OY=

# capture the encrypted key material
$ ENCRYPTED_KEY=C+/puHn1v5p7aohitM4r6N4ohiVkCecP ...<redacted>... eWmJRuvsSxDg/OY=

# encrypt the nonce
$ ibmcloud kp import-token nonce-encrypt -k $KEY_MATERIAL -n $NONCE

Encrypted Nonce                            IV
TxrgdayWnM5OB3JoYuQR97oulxvREptk8TzciQ==   7BiIpcbGxXBzuXZP

# capture the encrypted nonce and the initialization vector (IV)
$ ENCRYPTED_NONCE=TxrgdayWnM5OB3JoYuQR97oulxvREptk8TzciQ==
$ IV=7BiIpcbGxXBzuXZP

# create a root key using an import token, provide an encrypted key, nonce, and initialization vector (IV)
$ KEY_ID=$(ibmcloud kp key create my-imported-root-key -k $ENCRYPTED_KEY -n $ENCRYPTED_NONCE -v $IV --output json | jq -r '.["id"]')

$ echo $KEY_ID

c42c6f2c-8b67-4016-b2c3-99fba9490f5d

# list keys - verify the key was created
$ ibmcloud kp keys

Retrieving keys...
OK
Key ID                                 Key Name
c42c6f2c-8b67-4016-b2c3-99fba9490f5d   my-imported-root-key

# delete the root key
$ ibmcloud kp key delete $KEY_ID

Deleting key: c42c6f2c-8b67-4016-b2c3-99fba9490f5d, from instance: a192d603-0b8d-452f-aac3-f9e1f95e7411...
OK
Deleted Key
c42c6f2c-8b67-4016-b2c3-99fba9490f5d

# list keys - verify the key was deleted
$ ibmcloud kp keys

Retrieving keys...
OK
Key ID   Key Name

Schritt 2: Importtoken erstellen, das zum Wiederherstellen des Schlüssels erforderlich ist, und den Schlüssel wiederherstellen

# NOTE: "kp key restore" requires an import token to complete the process,
# if you follow this example, the previously created import token may still
# exist and the example works; otherwise, if the import token has expired then
# you need to create a new import token prior to restoring the key

# create an import token that expires in 5 minutes and allows 10 retrievals
$ ibmcloud kp import-token create -e 300 -m 10

Created                         Expires                         Max Retrievals   Remaining Retrievals
2020-06-18 12:30:54 +0000 UTC   2020-06-18 12:35:54 +0000 UTC   10               10

# extract the nonce that was created by the "kp import-token create" command
$ NONCE=$(ibmcloud kp import-token show | jq -r '.["nonce"]')

$ echo $NONCE

N3x8F0ihAZ51nj6M

# extract the public key that was created by the "kp import-token create" command
$ PUBLIC_KEY=$(ibmcloud kp import-token show | jq -r '.["payload"]')

$ echo $PUBLIC_KEY

LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0t ...<redacted>... QyBLRVktLS0tLQo=

# encrypt the key material using the public key
$ ibmcloud kp import-token key-encrypt -k $KEY_MATERIAL -p $PUBLIC_KEY

Encrypted Key
Ch7hcsT1EOfSdghjOHKAemBZuzDoqJoH ...<redacted>... F4p/mkGT/EQJS5o=

# capture the encrypted key material
$ ENCRYPTED_KEY=Ch7hcsT1EOfSdghjOHKAemBZuzDoqJoH ...<redacted>... F4p/mkGT/EQJS5o=

# encrypt the nonce
$ ibmcloud kp import-token nonce-encrypt -k $KEY_MATERIAL -n $NONCE

Encrypted Nonce                            IV
nrrCczvYXvc6T7J2G+EOLjHZO1cpPyu/nhsIlA==   N6oLJnUqaKF3v5Sd

# capture the encrypted nonce and the initialization vector (IV)
$ ENCRYPTED_NONCE=nrrCczvYXvc6T7J2G+EOLjHZO1cpPyu/nhsIlA==
$ IV=N6oLJnUqaKF3v5Sd

# restore the deleted key
$ ibmcloud kp key restore $KEY_ID -k $ENCRYPTED_KEY -n $ENCRYPTED_NONCE -v $IV --output json

{
    "id": "c42c6f2c-8b67-4016-b2c3-99fba9490f5d",
    "name": "my-imported-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:c42c6f2c-8b67-4016-b2c3-99fba9490f5d"
}

# list keys - verify the key was restored
$ ibmcloud kp keys

Retrieving keys...
OK
Key ID                                 Key Name
c42c6f2c-8b67-4016-b2c3-99fba9490f5d   my-imported-root-key

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie wiederherstellen möchten.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -k, --key-material

    Deprecated Das Schlüsselmaterial aus einem zuvor importierten base64-codierten Schlüssel.

    Wenn Sie den Rootschlüssel mithilfe eines import token erstellt haben, enthält der Wert der Option -k, --key-material die verschlüsselten Schlüsselinformationen. Siehe Beispiel 2, in dem ein Import-Token zur Erstellung des Rootschlüssels und ein Import-Token zur Wiederherstellung des Rootschlüssels verwendet wird.

  • -n, --encrypted-nonce

    Deprecated Überprüfen Sie, ob eine Anforderung zum Importieren eines Schlüssels durch Bereitstellung eines verschlüsselten Nonce überprüft werden soll.

    Weitere Informationen finden Sie unter kp import-token nonce-encrypt.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • -v, --iv

    Deprecated Geben Sie den Initialisierungsvektor (IV) an, der generiert wird, nachdem Sie einen Nonce verschlüsselt haben.

    Weitere Informationen finden Sie unter kp import-token nonce-encrypt.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

Kp-Schlüsselringe

Listet die Schlüsselringe auf, die der kp-Instanz zugeordnet sind.

Beispiel

Das Beispiel zeigt die Verwendung des CLI-Plug-ins, um Schlüsselringe aufzulisten, die für die angegebene Instanz geeignet sind.

ibmcloud kp key-rings -i <INSTANCE_ID>

Erforderliche Parameter

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

kp key-ring erstellen

Erstellen Sie einen Schlüsselring innerhalb einer kp-Instanz.

Beispiel

Das Beispiel zeigt die Verwendung des CLI-Plug-ins, um einen Schlüsselring in der angegebenen Instanz zu erstellen.

ibmcloud kp key-ring create KEY_RING_ID -i <INSTANCE_ID>

Erforderliche Parameter

  • KEY_RING_ID

    Die alphanumerische Referenz, die länger als oder gleich 2 Zeichen und kleiner als oder gleich 100 für den Schlüsselring ist.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

kp key-ring löschen

Einen Schlüsselring innerhalb einer kp-Instanz löschen.

Beispiel

Das Beispiel zeigt die Verwendung des CLI-Plug-ins, um einen Schlüsselring in der angegebenen Instanz zu löschen. Beachten Sie, dass die Kraft (-f) hinzugefügt wurde.

ibmcloud kp key-ring delete KEY_RING_ID -i <INSTANCE_ID> -f

Erforderliche Parameter

  • KEY_RING_ID

    Die alphanumerische Referenz, die länger als oder gleich 2 Zeichen und kleiner als oder gleich 100 für den Schlüsselring ist.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -f, --force

    Erzwingt das Löschen eines Schlüsselrings, der noch Schlüssel im Status Gelöscht enthält. Löscht keine Schlüsselringe, die Schlüssel in einem anderen Status haben Wenn ein Schlüsselring Schlüssel im Status Gelöscht enthält und dieses Flag nicht hinzugefügt wird, schlägt das Löschen des Schlüsselrings fehl.

kp key rotate

Führen Sie eine Rotation für einen Rootschlüssel durch, der im Key Protect-Service gespeichert ist.

Bei der Rotation des Rootschlüssels wird der Schlüssel durch neue Schlüsselinformationen ersetzt.

Wenn Key Protect den Schlüssel erstellt hat (der Schlüssel wurde nicht mit dem Parameter -k erstellt), dann erstellt Key Protect einen neuen Schlüssel. Sie können kp key rotate nicht mit dem -k Parameter an.

Wenn Sie einen Schlüssel erstellt und das Schlüsselmaterial bereitgestellt haben ( kp key create key-name -k $KEY_MATERIAL), müssen Sie bei der Schlüsselrotation neues Schlüsselmaterial bereitstellen ( kp key rotate $KEY_ID_OR_ALIAS -k $NEW_KEY_MATERIAL)

Ein „ standard “-Schlüssel, d. h. ein Schlüssel, der mit dem Befehl Befehl kp create key-name --standard-key.

ibmcloud kp key rotate KEY_ID_OR_ALIAS
        -i, --instance-id  INSTANCE_ID
    [--key-ring           KEY_RING_ID]
    [-k, --key-material KEY_MATERIAL]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key rotate.

Beispiel 1

Rotation für Rootschlüssel ausführen

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
1a6d5be8-287c-4eb3-9c44-cf0c2b0d67ad   my-root-key

# rotate the key
$ ibmcloud kp key rotate 1a6d5be8-287c-4eb3-9c44-cf0c2b0d67ad

Rotating root key...
OK

# show key details
$ ibmcloud kp key show 1a6d5be8-287c-4eb3-9c44-cf0c2b0d67ad

Grabbing info for key id: 1a6d5be8-287c-4eb3-9c44-cf0c2b0d67ad...
OK
Key ID                                 Key Name      Description   Creation Date                   Expiration Date
1a6d5be8-287c-4eb3-9c44-cf0c2b0d67ad   my-root-key                 2020-05-06 17:25:22 +0000 UTC   Key does not expire

# create a new key material
$ NEW_KEY_MATERIAL=$(openssl rand -base64 32)

# Key Protect created the root key, providing a new key material will fail
$ ibmcloud kp key rotate 1a6d5be8-287c-4eb3-9c44-cf0c2b0d67ad -k $NEW_KEY_MATERIAL

Rotating root key...
FAILED

Beispiel 2

Rotation für einen Schlüssel mit Base64-Codierung oder einen mit Importtoken erstellten Schlüssel ausführen

Erstellen Sie zuerst einen Rootschlüssel aus einem Base64-codierten Wert oder aus einem importierten Token.

# create a random, base64-encoded, 32-byte key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

# create a root key from a base64-encoded value
$ ibmcloud kp key create my-base64-root-key -k $KEY_MATERIAL

Creating key: 'my-base64-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
e55f86ab-6984-4594-ad23-3024f6440a58   my-base64-root-key

# create a new key material
$ NEW_KEY_MATERIAL=$(openssl rand -base64 32)

# rotate the key
$ ibmcloud kp key rotate e55f86ab-6984-4594-ad23-3024f6440a58 -k $NEW_KEY_MATERIAL

Rotating root key...
OK

# the key was created from a key material, NOT providing a new key material will fail
$ ibmcloud kp key rotate e55f86ab-6984-4594-ad23-3024f6440a58

Rotating root key...
FAILED

Beispiel 3

Diese Beispiele veranschaulichen Folgendes:

  1. Rootschlüssel erstellen

  2. Datenverschlüsselungsschlüssel (Data Encryption Key, DEK) erstellen (dies ist der plaintext)

  3. Wrapping für DEK mit Rootschlüssel durchführen (das Ergebnis ist der ciphertext)

  4. Schlüsselrotation für Rootschlüssel ausführen

  5. Wrapping des verschlüsselten Texts rückgängig machen, um den ursprünglichen DEK (unverschlüsselter Text) sichtbar zu machen, und einen neuen verschlüsselten Text; durch das Wrapping des unverschlüsselten Texts in den neuen (rotierten) Rootschlüssel entsteht der neue verschlüsselte Text

  6. Wrapping des neuen verschlüsselten Texts rückgängig machen, um den ursprünglichen DEK (unverschlüsselter Text) sichtbar zu machen

# create a root key
$ KEY_ID=$(ibmcloud kp key create my-root-key --output json | jq -r '.["id"]')

$ echo $KEY_ID

5b976173-7804-4f82-acfa-bb98098bc528

# create a random, base64-encoded, 32-byte data encryption key (DEK)
$ PLAINTEXT=$(openssl rand -base64 32)

$ echo $PLAINTEXT

UPJ4YDwbQMjQG/aqlHsPhHV1CBkpIXngLHFS5+i4UZ4=

# wrap the plaintext key with the root key, creating a DEK (this is the ciphertext)
$ CIPHERTEXT=$(ibmcloud kp key wrap $KEY_ID -p $PLAINTEXT --output json | jq -r '.["Ciphertext"]')

$ echo $CIPHERTEXT

eyJjaXBoZXJ0ZXh0IjoiQkFrTlJrS2Q0 ...<redacted>... ODA5OGJjNTI4In0=

# rotate the root key
$ ibmcloud kp key rotate $KEY_ID

Rotating root key...
OK

# show key details
$ ibmcloud kp key show $KEY_ID --output json

{
    "id": "5b976173-7804-4f82-acfa-bb98098bc528",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-10T18:09:27Z",
    "lastUpdateDate": "2020-06-10T18:13:31Z",
    "lastRotateDate": "2020-06-10T18:13:31Z",
    "keyVersion": {
        "id": "4330715a-918b-4718-b5ca-9475a214067e",
    "creationDate": "2020-06-10T18:13:31Z"
    },
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:5b976173-7804-4f82-acfa-bb98098bc528"
}

# unwrap the ciphertext, reveal the original DEK (plaintext),
# and see the new ciphertext (the plaintext wrapped with the rotated root key)
$ ibmcloud kp key unwrap $KEY_ID $CIPHERTEXT --output json

{
    "Plaintext": "UPJ4YDwbQMjQG/aqlHsPhHV1CBkpIXngLHFS5+i4UZ4=",
    "Rewrapped Plaintext": "eyJjaXBoZXJ0ZXh0IjoiS0FITEFRWjdh ...<redacted>... NWEyMTQwNjdlIn0="
}

# capture the new (rewrapped) plaintext
$ NEWCIPHERTEXT=eyJjaXBoZXJ0ZXh0IjoiS0FITEFRWjdh ...<redacted>... NWEyMTQwNjdlIn0=

# unwrap the ciphertext and reveal the original DEK (plaintext)
$ ibmcloud kp key unwrap $KEY_ID $NEWCIPHERTEXT --output json

{
    "Plaintext": "UPJ4YDwbQMjQG/aqlHsPhHV1CBkpIXngLHFS5+i4UZ4=",
    "Rewrapped Plaintext": ""
}

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Root-Schlüssels im Format „ v4 “, den Sie rotieren möchten.

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -k, --key-material

    Geben Sie für die Rotation eines Schlüssels, der ursprünglich ohne den Parameter --key-material generiert wurde (d. h. mit dem Befehl kp key create my-key) den Parameter --key-material nicht an.

    Wenn ein Schlüssel mit dem Parameter --key-material erstellt wurde, geben Sie die neuen Schlüsselinformationen mit Base64-Codierung an, die für die Rotation eines vorhandenen Rootschlüssels verwendet werden.

    Geben Sie für die Rotation eines Schlüssel, der ursprünglich in den Service importiert wurde, einen neuen 32-Byte-Schlüssel (256-Bit-Schlüssel) an.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key schedule-delete

Für einen Schlüssel mit einer Richtlinie dual-auth-delete ist die Autorisierung durch zwei Benutzer mit Verwaltungsaufgaben erforderlich, um den Schlüssel zu löschen.

Führen Sie den folgenden Prozess aus, um einen Schlüssel mit einer Richtlinie dual-auth-delete zu löschen.

  1. Erstellen Sie einen Schlüssel und aktivieren Sie die Richtlinie dual-auth-delete.

  2. Benutzer 1 plant (autorisiert) eine Schlüssellöschung mit dem kp key schedule-delete-Befehl

  3. Benutzer 2 plant (autorisiert) das Löschen eines Schlüssels.

  4. Der Schlüssel wird gelöscht, nachdem die zweite Aktion schedule-delete ausgeführt wurde, die von der Benutzerschnittstelle, API und Befehlszeilenschnittstelle unterstützt wird.

  5. Wenn innerhalb von 7 Tagen keine zweite Autorisierung erfolgt, wird der Schlüssel in den Standardstatus zurückgesetzt.

Die Richtlinie dual-auth-delete kann auf zwei Arten aktiviert werden:

  • Durch Festlegen der Richtlinie für einen einzelnen Schlüssel mit dem Befehl kp key policy-update dual-auth-delete
  • Richtlinie für die Instanz festlegen mit kp instance policy-update dual-auth-delete; alle Schlüssel, die nach der Aktivierung der Instanzrichtlinie erstellt werden, übernehmen die Instanzrichtlinieneinstellung

Der Befehl kp key cancel-delete widerruft eine zuvor autorisierte Löschanforderung oder entfernt sie.

ibmcloud kp key schedule-delete KEY_ID_OR_ALIAS
    -i, --instance-id INSTANCE_ID
    [--key-ring         KEY_RING_ID]

Beispiel

Dies ist ein Beispiel für die Planung der Löschung eines Schlüssels.

# schedule this key to be deleted
$ ibmcloud kp key schedule-delete $KEY_ID_OR_ALIAS

Scheduling key for deletion...
OK

# this key has a dual-auth-delete policy
$ ibmcloud kp key policies $KEY_ID_OR_ALIAS --output json

[
  {
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-06-22T19:13:00Z",
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:policy:2427dbde-6cff-41eb-8b5a-ff26b038cafc",
    "lastUpdateDate": "2020-06-22T21:36:16Z",
    "updatedBy": "user id ...<redacted>...",
    "dualAuthDelete": { "enabled": true
    }
  }
]

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie löschen möchten. Führen Sie den folgenden Befehl kp keys aus, um eine Liste der verfügbaren Schlüssel abzurufen.

Optionale Parameter

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp key show

Rufen Sie die Details zu einem Schlüssel ab, wie z. B. Schlüsselmetadaten und Schlüsselinformationen.

Wenn der Schlüssel als Rootschlüssel bezeichnet wurde, kann das System die Schlüsselinformationen für diesen Schlüssel nicht zurückgeben.

ibmcloud kp key show KEY_ID_OR_ALIAS
        -i, --instance-id INSTANCE_ID
    [--key-ring          KEY_RING_ID]
    [-o, --output      OUTPUT]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key show.

Beispiel 1

Rootschlüssel erstellen und zugehörige Details anzeigen

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
8635b804-9966-4918-a16b-d561fdbf181f   my-root-key

# show key details
$ ibmcloud kp key show 8635b804-9966-4918-a16b-d561fdbf181f

Grabbing info for key id: 8635b804-9966-4918-a16b-d561fdbf181f...
OK
Key ID                                 Key Name      Description   Creation Date                   Expiration Date
8635b804-9966-4918-a16b-d561fdbf181f   my-root-key                 2020-05-05 19:58:02 +0000 UTC   Key does not expire

Beispiel 2

Dies ist eine Erläuterung der JSON-Schlüssel und -Werte aus dem kp key show ist. Im vorliegenden Beispiel wurde eine Schlüsselrotation ausgeführt, um sicherzustellen, dass alle Schlüssel/Wert-Paare im JSON-Format angezeigt werden.

$ ibmcloud kp key show 8635b804-9966-4918-a16b-d561fdbf181f --output json

{
    "id": "8635b804-9966-4918-a16b-d561fdbf181f",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-05-05T19:58:02Z",
    "lastUpdateDate": "2020-05-05T19:58:24Z",
    "lastRotateDate": "2020-05-05T19:58:24Z",
    "keyVersion": {
        "id": "85b65b20-4165-4da3-8ba9-880e72390461",
        "creationDate": "2020-05-05T19:58:24Z"
    },
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:8635b804-9966-4918-a16b-d561fdbf181f"
}
Schlüssel Beschreibung
ID Dieser Parameter (KEY_ID) ist eindeutig und wird immer verwendet, wenn die CLI ein Element KEY_ID angibt.
Name Der beim Erstellen des Schlüssels angegebene Name.
Typ Wird von der API verwendet, um den Inhaltstyp (content-type) in einem REST-Aufruf festzulegen.
algorithmType Mögliche Algorithmustypen sind Advanced Encryption Standard (AES) oder Cipher Block Chaining (CBC).
createdBy Die Benutzer-ID, mit der der Schlüssel erstellt wurde.
creationDate Der Zeitpunkt (Datum und Uhrzeit), an dem der Schlüssel erstellt wurde.
lastUpdateDate Der Zeitpunkt (Datum und Uhrzeit), an dem der Schlüssel zuletzt aktualisiert wurde.
lastRotateDate Der Zeitpunkt (Datum und Uhrzeit), an dem der Schlüssel zuletzt gewechselt wurde. Dieser Eintrag ist nur vorhanden, wenn eine Schlüsselrotation ausgeführt wurde.
keyVersion / id Gibt die neueste Version des Rootschlüssels an.
keyVersion / creationDate Der Zeitpunkt (Datum und Uhrzeit), an dem die Schlüsselinformationen zuletzt aktualisiert wurden.
extractable Ein boolescher Wert, der bestimmt, ob die Schlüsselinformationen den Service verlassen dürfen. Wenn der Wert auf 'false' gesetzt ist, wird der Schlüssel von Key Protect als nicht extrahierbarer Rootschlüssel deklariert, der für Wrap- und Unwrap-Aktionen verwendet werden kann. Ist der Wert auf 'true' gesetzt, wird der Schlüssel von Key Protect als Standardschlüssel deklariert, der in Ihren Apps und Services gespeichert werden kann. Wenn der Wert auf 'false' gesetzt wurde, kann er nicht mehr in 'true' geändert werden.
Status 1 - der Schlüssel ist aktiv, 2 - der Schlüssel ist ausgesetzt (siehe Schlüsselstatus).
crn Der Cloudressourcenname (CRN).

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die v4-UUID oder der Aliasname des Rootschlüssels, den Sie anzeigen wollen

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

KP-Schlüsselsynchronisation

Dieser Unterbefehl synchronisiert die zugeordneten Ressourcen für einen Schlüssel.

ibmcloud kp key sync KEY_ID
     -i, --instance-id INSTANCE_ID
    [--key-ring             KEY_RING_ID]
    [-o, --output      FORMAT]

Beispiele

Dies ist ein Beispiel für kp key sync.

Beispiel

Einen Schlüssel synchronisieren und die Ergebnisse anzeigen.

# synchronize the associated resources for a given key
$ ibmcloud kp key sync 94c06f9c-a07a-4961-8548-553cf7431f18

Synchronizing key...
OK
Key's associated resources are synchronized successfully

Erforderliche Parameter

  • KEY_ID

    Die ID des Schlüssels, den Sie synchronisieren wollen.

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp-Schlüsselaktualisierung

Aktualisieren Sie einen Schlüssel mit einem vorhandenen Schlüsselring oder einem neuen Schlüsselring in Ihrer Key Protect-Instanz verhindert.

ibmcloud kp key update KEY_ID_OR_ALIAS
        -i, --instance-id         INSTANCE_ID
        -r, --new-key-ring        KEY_RING_ID
    [-o, --output              OUTPUT]

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die v4-UUID oder der Aliasname des Rootschlüssels, den Sie anzeigen wollen

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

  • -r, --new-key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

Optionale Parameter

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

Beispiele

Beachten Sie, dass der Schlüsselring bereits erstellt werden muss, und zwar entweder als Teil der Erstellung eines Schlüssels oder für sich selbst.

Dies ist ein Beispiel für kp key update.

ic kp key update 5f2cc155-fe16-492c-845c-4d1f0688c7ba -r TestRing

Die Ausführung des Befehls hat ein typisches Ergebnis:

Updating key...
OK
Key ID                                 Key Name             Key Ring ID   
5f2cc155-fe16-492c-845c-4d1f0688c7ba   TestKey                           TestRing   

kp key unwrap

Heben Sie das Wrapping für einen Datenverschlüsselungsschlüssel auf, indem Sie einen Rootschlüssel verwenden, der gespeichert ist in Ihrer Key Protect-Instanz verhindert.

ibmcloud kp key unwrap KEY_ID_OR_ALIAS CIPHERTEXT_FROM_WRAP
        -i, --instance-id INSTANCE_ID
    [-a, --aad         ADDITIONAL_DATA]
    [--key-ring           KEY_RING_ID]
    [-o, --output      OUTPUT]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key unwrap.

Beispiel 1

Wrapping eines verschlüsselten Texts aufheben, um den unverschlüsselten Text des Datenverschlüsselungsschlüssels (DEK) sichtbar zu machen.

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
807eb0a6-cc10-4bfe-8331-41a6f712c4ea   my-root-key

# create a data encryption key (DEK), wrapped with the root key
$ ibmcloud kp key wrap 807eb0a6-cc10-4bfe-8331-41a6f712c4ea

Wrapping key...
OK
Ciphertext
eyJjaXBoZXJ0ZXh0IjoiKzhjbHVqcUNP ...<redacted>... NmY3MTJjNGViIn0=

# capture the ciphertext
$ CIPHERTEXT=eyJjaXBoZXJ0ZXh0IjoiKzhjbHVqcUNP ...<redacted>... NmY3MTJjNGViIn0=

# unwrap the ciphertext to reveal the plaintext data encryption key (DEK)
$ ibmcloud kp key unwrap 807eb0a6-cc10-4bfe-8331-41a6f712c4ea $CIPHERTEXT

Unwrapping key...
OK
Plaintext                                      Rewrapped Plaintext
mXW4GmBhkRG1+Dzkx1D6dMX99a4KyYwtwbghaaLEQZ0=

Beispiel 2

Wrapping eines verschlüsselten Texts aufheben und AAD-Informationen angeben

Ein Anwendungsfall zum Angeben zusätzlicher Authentifizierungsdaten (Additional Authentication Data, AAD) besteht darin, den verschlüsselten Text durch ein Kennwort zu schützen, um das Aufheben des Key-Wrapping zu erschweren.

Der verschlüsselte Text und die AAD-Informationen sind erforderlich, um das Wrapping des verschlüsselten Texts aufzuheben und den unverschlüsselten Text des Datenverschlüsselungsschlüssels (DEK) sichtbar zu machen.

# create a root key
$ KEY_ID=$(ibmcloud kp key create my-root-key --output json | jq -r '.["id"]')

$ echo $KEY_ID

5f2cc155-fe16-492c-845c-4d1f0688c7ba

# create a random, base64-encoded, 32-byte data encryption key (DEK)
$ PLAINTEXT=$(openssl rand -base64 32)

$ echo $PLAINTEXT

H4ZfQe66aKcxirfCdNZ/3Na0JECP6HsAM3yclKmIfPQ=

# set the additional authentication data (AAD)
$ AAD1=My-Secret-Password
$ AAD2=My-Verification-Phrase

# wrap the plaintext with the root key and AAD
$ CIPHERTEXT=$(ibmcloud kp key wrap $KEY_ID -a "$AAD1,$AAD2" -p $PLAINTEXT --output json | jq -r '.["Ciphertext"]')

$ echo $CIPHERTEXT

eyJjaXBoZXJ0ZXh0IjoiL1pQUzRLbUxQ ...<redacted>... ZjA2ODhjN2JiIn0=

# unwrap the ciphertext and reveal the original plaintext DEK
$ ibmcloud kp key unwrap $KEY_ID $CIPHERTEXT -a $AAD1,$AAD2

Unwrapping key...
OK
Plaintext                                      Rewrapped Plaintext
H4ZfQe66aKcxirfCdNZ/3Na0JECP6HsAM3yclKmIfPQ=

# this should fail (missing some of the AAD)
$ ibmcloud kp key unwrap $KEY_ID $CIPHERTEXT -a $AAD1

Unwrapping key...
FAILED

# this should fail (AAD is in a different order)
$ ibmcloud kp key unwrap $KEY_ID $CIPHERTEXT -a $AAD2,$AAD1

Unwrapping key...
FAILED

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Root-Schlüssels „ v4 “, den Sie für die ursprüngliche Wrap-Anfrage verwendet haben.

  • CIPHERTEXT_FROM_WRAP

    Der verschlüsselte Datenschlüssel, der bei der ursprünglichen Wrapping-Operation zurückgegeben wurde.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -a, --aad

    Die zusätzlichen Authentifizierungsdaten (AAD), die für den zusätzlichen Schutz eines Schlüssels verwendet wurden. Es können bis zu 255 Zeichenfolgen, jeweils durch Kommas getrennt, angegeben werden. Wenn die AAD beim Wrapping angegeben wurden, müssen Sie dieselben AAD in der gleichen Reihenfolge beim Aufheben des Wrapping angeben.

    Der Service Key Protect speichert keine zusätzlichen Authentifizierungsdaten. Wenn AAD angegeben werden, speichern Sie die Daten an einer sicheren Position, um sicherzustellen, dass Sie bei nachfolgenden Anforderungen zum Aufheben des Wrappings auf dieselben AAD zugreifen und diese angeben können.

-o, --output

Set the CLI output format. By default, all commands print in table format. To change the output format to JSON, use `--output json`.
  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

KP-Schlüsselversionen

Wenn Sie eine Schlüsselrotation für einen Rootschlüssel ausführen, wird von Key Protect eine neue Version des Schlüssel erstellt. Alle Schlüsselversionen auflisten, die für eine KeyID oder einen Schlüsselaliasnamen in Ihrer Key Protect-Instanz verfügbar sind

ibmcloud kp key versions KEY_ID_OR_ALIAS
        -i, --instance-id INSTANCE_ID
    [-r, --key-ring                KEY_RING_ID]
    [-n, --number-of-key-versions  VERSION_LIMIT]
    [-o, --output                  OUTPUT]
    [-s, --starting-offset         OFFSET]
    [-t, --total-count             TOTAL_COUNT]
    [-a, --all-key-states          ALL_KEY_STATES]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key versions.

Beispiel 1

Ein Anwendungsfall ist die Prüfung des Rotationsverlaufs eines Rootschlüssels als Sicherheitsadministrator, indem der zugehörige Schlüsselversionsverlauf angezeigt wird.

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
807eb0a6-cc10-4bfe-8331-41a6f712c4ea   my-root-key

# rotate the root key
$ ibmcloud kp key rotate 807eb0a6-cc10-4bfe-8331-41a6f712c4ea

Rotating root key...
OK

# Inspect the versions
$ ibmcloud kp key versions 807eb0a6-cc10-4bfe-8331-41a6f712c4ea

Retrieving key Versions...
OK
Key Version ID                         Creation Date   
21562e93-8882-420e-90a7-912c70023373   2022-07-08T17:02:10Z
390086ac-76fa-4094-8cf3-c0829bd69526   2022-07-08T17:02:40Z

Beispiel 2

Derselbe Anwendungsfall für die Prüfung eines Rootschlüssels als Sicherheitsadministrator und die Anzeige des Protokolls mit seiner Gesamtzahl in der JSON-Ausgabe.

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
807eb0a6-cc10-4bfe-8331-41a6f712c4ea   my-root-key

# rotate the root key
$ ibmcloud kp key rotate 807eb0a6-cc10-4bfe-8331-41a6f712c4ea

Rotating root key...
OK

# Inspect the versions
$ ibmcloud kp key versions 807eb0a6-cc10-4bfe-8331-41a6f712c4ea -t -o json
{
        "metadata": {
                "collectionType": "application/vnd.ibm.kms.key.version+json",
                "collectionTotal": 2,
                "totalCount": 2
        },
        "resources": [
                {
                        "id": "21562e93-8882-420e-90a7-912c70023373",
                        "creationDate": "2022-07-08T17:02:10Z"
                },
                {
                        "id": "390086ac-76fa-4094-8cf3-c0829bd69526",
                        "creationDate": "2022-07-08T17:02:40Z"
                }
        ]
}

Beispiel 3

Ein weiterer Anwendungsfall listet die ersten 12 Schlüsselversionen für einen Schlüsselsatz in einer monatlichen Rotation für das vergangene Jahr auf.

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
807eb0a6-cc10-4bfe-8331-41a6f712c4ea   my-root-key

# rotate the root key
$ ibmcloud kp key rotate 807eb0a6-cc10-4bfe-8331-41a6f712c4ea

Rotating root key...
OK

# Inspect the versions
$ ibmcloud kp key versions 807eb0a6-cc10-4bfe-8331-41a6f712c4ea -n 12 -o json
{
        "metadata": {
                "collectionType": "application/vnd.ibm.kms.key.version+json",
                "collectionTotal": 12
        },
        "resources": [
                {
                        "id": "21562e93-8882-420e-90a7-912c70023373",
                        "creationDate": "2021-07-08T17:02:10Z"
                },
                {
                        "id": "390086ac-76fa-4094-8cf3-c0829bd69526",
                        "creationDate": "2021-08-08T17:02:40Z"
                },[...10x]
        ]
}

Beispiel 4

Ein weiterer Anwendungsfall listet die zweiten 12 Schlüsselversionen für einen Schlüsselsatz bei einer monatlichen Rotation für die letzten zwei Jahre auf.

ibmcloud kp Schlüsselversionen $KEY_ID_OR_ALIAS -n 12 -s 12

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
807eb0a6-cc10-4bfe-8331-41a6f712c4ea   my-root-key

# rotate the root key
$ ibmcloud kp key rotate 807eb0a6-cc10-4bfe-8331-41a6f712c4ea

Rotating root key...
OK

# Inspect the versions
$ ibmcloud kp key versions 807eb0a6-cc10-4bfe-8331-41a6f712c4ea -n 12 -s 12 -o json
{
        "metadata": {
                "collectionType": "application/vnd.ibm.kms.key.version+json",
                "collectionTotal": 12
        },
        "resources": [
                {
                        "id": "21562e93-8882-420e-90a7-912c70023373",
                        "creationDate": "2021-07-08T17:02:10Z"
                },
                {
                        "id": "390086ac-76fa-4094-8cf3-c0829bd69526",
                        "creationDate": "2021-08-08T17:02:40Z"
                },[...10x]
        ]
}

Beispiel 5

Ein optionales Flag, mit dem die Anzahl der Versionen eines momentan nicht aktiven Schlüssels zurückgegeben wird. Zuvor wäre der Befehl fehlgeschlagen, wie im folgenden Beispiel gezeigt:

# Attempt to show version count
$ ibmcloud kp key versions af61298c-d75d-42a8-aa76-e04178cf4685 -i 99980ccc-d482-4cd0-bb41-deb4f7f1eb92 -t

Retrieving key Versions...
FAILED
KEY_ACTION_INVALID_STATE_ERR
Key is not in a valid state
Correlation-ID:a494bf49-be82-426f-88d8-17b58cc8634d

Mit der CLI-Version 0.8.0 und höher ist der Befehl erfolgreich, wenn das Flag -a hinzugefügt wird, wie im folgenden Beispiel:

# Attempt to show version count
$ ibmcloud kp key versions af61298c-d75d-42a8-aa76-e04178cf4685 -i 99980ccc-d482-4cd0-bb41-deb4f7f1eb92 -t -a

Retrieving key Versions...
OK
TotalCount: 2
Key Version ID                         Creation Date
14dfde20-a751-4c3e-b6b0-e8d00a17d8d1   2023-06-22T15:16:09Z
af61298c-d75d-42a8-aa76-e04178cf4685   2023-06-22T15:10:28Z

Wenn das Flag -a nicht angegeben ist, wird die KEY_ACTION_INVALID_STATE_ERR für einen Schlüssel in einem anderen Status als 'active' (aktiv) zurückgegeben.

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Root-Schlüssels „ v4 “, den Sie für die ursprüngliche Wrap-Anfrage verwendet haben.

  • -i, --instance-ID

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

  • -n --number-of-key-versions

    Beschränkt die Anzahl der Schlüsselversionen, die durch den angegebenen ganzzahligen Wert abgerufen werden sollen (Standardwert: 200).

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • -s --starting-offset

    Es werden die Schlüsselversionen aus dem Offset abgerufen, wie durch den angegebenen ganzzahligen Wert angegeben.

  • -t --total-count

    Wird verwendet, um die Gesamtzahl der Schlüsselversionen für einen Schlüssel durch den angegebenen ganzzahligen Wert zu reterieve.

  • -a --all-key-states

    Ein optionales Flag zum Zurückgeben der Anzahl der Versionen für alle Schlüsselstatus, einschließlich Schlüssel, die nicht aktiv sind.

kp key wrap

Schließen Sie einen Datenverschlüsselungsschlüssel ein (DEK), indem Sie einen Rootschlüssel verwenden, der in Ihrer Key Protect-Instanz verhindert. Ein DEK wird in der Regel verwendet, um sonstige Einzelinformationen zu verschlüsseln.

Wenn Sie einen DEK mit einem Rootschlüssel einschließen, Key Protect kombiniert die Stärke mehrerer Algorithmen, um die Privatsphäre und die Integrität Ihrer verschlüsselten Daten zu schützen.

Ein „ standard “-Schlüssel, d. h. ein Schlüssel, der mit dem Befehl -s Parameter (ibmcloud kp key create my-key-name -s).

ibmcloud kp key wrap KEY_ID_OR_ALIAS
        -i, --instance-id INSTANCE_ID
    [--key-ring           KEY_RING_ID]
    [-a, --aad         ADDITIONAL_DATA]
    [-o, --output      OUTPUT]
    [-p, --plaintext   DATA_KEY]

Bewährte Verfahren

Durch das Wrapping eines Datenverschlüsselungsschlüssels (Data Encryption Key, DEK) entsteht ciphertext. Der verschlüsselte Text besteht aus verschlüsselten Informationen, die nach dem Aufheben des Wrappings den ursprünglichen DEK sichtbar machen.

Der Key Protect-Service speichert Ihren DEK nicht. Speichern Sie den verschlüsselten Text temporär oder dauerhaft, damit Sie den DEK bei Bedarf mit dem Befehl kp key unwrap abrufen können.

Der unverschlüsselte DEK sollte auf keinen Falls temporär oder dauerhaft gespeichert werden. Laden Sie in Ihrer Anwendung den verschlüsselten Text aus dem Speicher und rufen Sie Key Protect auf, um den unverschlüsselten DEK abzurufen, und verwenden Sie den DEK, um "andere" Informationen zu verschlüsseln oder einzuschließen.

Speichern Sie den DEK nicht im permanenten Speicher. Wenn der DEK offengelegt wird, können Ihre Daten von anderen Benutzern entschlüsselt werden.

Bei jedem Key-Wrapping des Rootschlüssels wird ein neuer verschlüsselter Text erstellt.

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp key wrap.

Beispiel 1

Key Protect erstellt einen neuen Datenverschlüsselungsschlüssel (DEK) mit Base64-Codierung und verwendet den Rootschlüssel für das Key-Wrapping des DEK.

# create a root key
$ ibmcloud kp key create my-root-key

Creating key: 'my-root-key', in instance: '390086ac-76fa-4094-8cf3-c0829bd69526'...
OK
Key ID                                 Key Name
807eb0a6-cc10-4bfe-8331-41a6f712c4ea   my-root-key

# create a new key and wrap it with the root key, creating a DEK (this is the ciphertext)
$ ibmcloud kp key wrap 807eb0a6-cc10-4bfe-8331-41a6f712c4ea

Wrapping key...
OK
Ciphertext
eyJjaXBoZXJ0ZXh0IjoiKzhjbHVqcUNP ...<redacted>... NmY3MTJjNGViIn0=

# capture the ciphertext
$ CIPHERTEXT=eyJjaXBoZXJ0ZXh0IjoiKzhjbHVqcUNP ...<redacted>... NmY3MTJjNGViIn0=

# unwrap the ciphertext to reveal the plaintext (DEK)
$ ibmcloud kp key unwrap 807eb0a6-cc10-4bfe-8331-41a6f712c4ea $CIPHERTEXT

Unwrapping key...
OK
Plaintext                                      Rewrapped Plaintext
mXW4GmBhkRG1+Dzkx1D6dMX99a4KyYwtwbghaaLEQZ0=

Beispiel 2

Datenverschlüsselungsschlüssel (DEK) mit Base64-Codierung erstellen und den Rootschlüssel für das Key-Wrapping verwenden

# create a root key
$ KEY_ID=$(ibmcloud kp key create my-root-key --output json | jq -r '.["id"]')

$ echo $KEY_ID

9052d914-bebe-4177-90e9-6073a167b507

# create a random, base64-encoded, 32-byte data encryption key (DEK)
$ PLAINTEXT=$(openssl rand -base64 32)

$ echo $PLAINTEXT

tEqoiCu9CeUsbqRe6yBUkrJg80QKKG/z46OkX0YQMV8=

# wrap the plaintext key with the root key, creating a DEK (this is the ciphertext)
$ CIPHERTEXT=$(ibmcloud kp key wrap $KEY_ID -p $PLAINTEXT --output json | jq -r '.["Ciphertext"]')

$ echo $CIPHERTEXT

eyJjaXBoZXJ0ZXh0IjoiTkdQRlhCb1dT ...<redacted>... M2ExNjdiNTA3In0=

# unwrap the ciphertext and reveal the original DEK
$ ibmcloud kp key unwrap $KEY_ID $CIPHERTEXT

tEqoiCu9CeUsbqRe6yBUkrJg80QKKG/z46OkX0YQMV8=

Beispiel 3

Wrapping für Rootschlüssel durchführen und AAD-Informationen angeben

Ein Anwendungsfall zum Angeben zusätzlicher Authentifizierungsdaten (Additional Authentication Data, AAD) besteht darin, einen 'Bestätigungsausdruck' zu dem verschlüsselten Text hinzuzufügen, um das Aufheben des Key-Wrappings zu erschweren.

Der verschlüsselte Text und die zusätzlichen Authentifizierungsdaten sind erforderlich, um das Wrapping des verschlüsselten Texts aufzuheben und den unverschlüsselten DEK sichtbar zu machen.

# create a root key
$ KEY_ID=$(ibmcloud kp key create my-root-key --output json | jq -r '.["id"]')

$ echo $KEY_ID

5f2cc155-fe16-492c-845c-4d1f0688c7ba

# set the additional authentication data (AAD)
$ AAD1=My-Secret-Password
$ AAD2=My-Verification-Phrase

# wrap the plaintext DEK with the root key and AAD
$ CIPHERTEXT=$(ibmcloud kp key wrap $KEY_ID -a "$AAD1,$AAD2" --output json | jq -r '.["Ciphertext"]')

$ echo $CIPHERTEXT

eyJjaXBoZXJ0ZXh0IjoiL1pQUzRLbUxQ ...<redacted>... ZjA2ODhjN2JiIn0=

# unwrap the ciphertext and reveal the original DEK
$ ibmcloud kp key unwrap $KEY_ID $CIPHERTEXT -a $AAD1,$AAD2

Unwrapping key...
OK
Plaintext                                      Rewrapped Plaintext
H4ZfQe66aKcxirfCdNZ/3Na0JECP6HsAM3yclKmIfPQ=

# this should fail (missing some of the AAD)
$ ibmcloud kp key unwrap $KEY_ID $CIPHERTEXT -a $AAD1

Unwrapping key...
FAILED

# this should fail (AAD is in a different order)
$ ibmcloud kp key unwrap $KEY_ID $CIPHERTEXT -a $AAD2,$AAD1

Unwrapping key...
FAILED

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Stammschlüssels „ v4 “, den Sie für das Wrapping verwenden möchten. Für einen Standardschlüssel kann kein Wrapping durchgeführt werden.

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -a, --aad

    Die zusätzlichen Authentifizierungsdaten (AAD), die für den zusätzlichen Schutz eines Schlüssels verwendet werden. Die AAD sind ein Array aus Zeichenfolgen, das die Integrität der Schlüsselinhalte prüft. Jede Zeichenfolge kann bis zu 255 Zeichen enthalten.

    Wenn Sie bei einer Wrapping-Anforderung AAD-Informationen angeben, müssen dieselben AAD-Informationen in gleicher Reihenfolge auch bei der Anforderung zum Aufheben des Wrappings angegeben werden.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

  • -p, --plaintext

    Die Datei „ plaintext “ enthält einen Datenverschlüsselungsschlüssel (DEK) vom Typ „ base64-encoded “, der durch den Stammschlüssel (identifiziert durch die Parameter „ KEY_ID “ oder „ ALIAS “) umschlossen ist.

    Der Datenverschlüsselungsschlüssel (DEK) mit Base64-Codierung, den Sie verwalten und schützen möchten. Geben Sie zum Importieren eines vorhandenen Schlüssels einen 32-Byte-Schlüssel (256 Bit) an.

    Geben Sie für die Generierung und das Wrapping eines neuen DEK den Parameter --plaintext nicht an.

  • --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

kp keys

Die Schlüssel auflisten, die in Ihrer Key Protect-Instanz verfügbar sind.

Die Schlüssel werden in der Reihenfolge der key id aufgelistet (siehe Beispiel 5).

ibmcloud kp keys
        -i, --instance-id      INSTANCE_ID
        [-b --sort-by          SORT_BY]
        [-c, --crn]
        [-f, --key-filter      FILTERS]
        [--key-ring            KEY_RING_ID]
        [--key-states          STATES]
        [-l --key-search       KEY_SEARCH]
        [-n, --number-of-keys  NUMBER_OF_KEYS]
        [-o, --output          OUTPUT]
        [-s, --starting-offset STARTING_OFFSET]
        [-t, --key-type        TYPE]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp keys.

Beispiel 1

Auflisten von Schlüsseln. Beachten Sie, dass standardmäßig nur die ersten 200 Schlüssel in Ihrer Instanz aufgelistet werden. Um mehr oder weniger Schlüssel anzuzeigen, geben Sie einen Wert für den Parameter --number-of-keys an.

# list keys
$ ibmcloud kp keys

Retrieving keys...
OK
Key ID                                 Key Name
5f2cc155-fe16-492c-845c-4d1f0688c7ba   my-root-key
c36e9f3a-feaf-4033-8603-687784dc7e51   my-root-key

Beispiel 2

Listen Sie die Schlüssel auf und zeigen Sie den Namen der Cloud-Ressource (CRN) mithilfe des --crn Parameter an.

# list keys and show the cloud resource name (CRN)
$ ibmcloud kp keys -c

Retrieving keys...
OK
Key ID                                 Key Name      CRN
5f2cc155-fe16-492c-845c-4d1f0688c7ba   my-root-key   crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:5f2cc155-fe16-492c-845c-4d1f0688c7ba
c36e9f3a-feaf-4033-8603-687784dc7e51   my-root-key   crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:c36e9f3a-feaf-4033-8603-687784dc7e51

Beispiel 3

Liste der Schlüssel im JSON-Format.

Der Parameter --output json impliziert den Parameter --crn (Name der Cloudressource) Parameter an.

# list keys
$ ibmcloud kp keys --output json

[
  {
    "id": "5f2cc155-fe16-492c-845c-4d1f0688c7ba",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-05-10T18:04:01Z",
    "lastUpdateDate": "2020-05-10T18:04:01Z",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:5f2cc155-fe16-492c-845c-4d1f0688c7ba"
    },
    {
        "id": "c36e9f3a-feaf-4033-8603-687784dc7e51",
    "name": "my-root-key",
    "type": "application/vnd.ibm.kms.key+json",
    "algorithmType": "AES",
    "createdBy": "user id ...<redacted>...",
    "creationDate": "2020-05-10T17:56:37Z",
    "lastUpdateDate": "2020-05-10T17:56:37Z",
    "extractable": false,
    "state": 1,
    "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:c36e9f3a-feaf-4033-8603-687784dc7e51"
  }
]

Beispiel 4

Die Schlüssel auflisten, sie durchlaufen und Details anzeigen.

# list keys and convert to a list
$ KEYS=$(ibmcloud kp keys --output json | jq -r '.[] | .id')

$ for key in $(echo "${KEYS}"); do
    ibmcloud kp key show ${key}
done

Grabbing info for key id: 5f2cc155-fe16-492c-845c-4d1f0688c7ba...
OK
Key ID                                 Key Name      Description   Creation Date                   Expiration Date
5f2cc155-fe16-492c-845c-4d1f0688c7ba   my-root-key                 2020-05-10 18:04:01 +0000 UTC   Key does not expire

Grabbing info for key id: c36e9f3a-feaf-4033-8603-687784dc7e51...
OK
Key ID                                 Key Name      Description   Creation Date                   Expiration Date
c36e9f3a-feaf-4033-8603-687784dc7e51   my-root-key                 2020-05-10 17:56:37 +0000 UTC   Key does not expire

Beispiel 5

20 Schlüssel erstellen und in Gruppen mit jeweils 5 Schlüsseln anzeigen (mithilfe der Optionen kp keys -n -s)

# create 20 test keys
$ for I in {1..20}; do
    KEY_ID=$(ibmcloud kp key create my-test-key-$I --output json | jq -r '.["id"]')
    KEY_NAME=$(ibmcloud kp key show $KEY_ID --output json | jq -r '.["name"]')
    echo $KEY_ID $KEY_NAME
done

b70f62a1-4d52-4526-91a9-ce47bf14c2a5 my-test-key-1
215f592c-3e42-47b6-867c-3cc1cce8a8fd my-test-key-2
df530c55-39c0-44e8-b7db-397593f70d90 my-test-key-3
768c9ceb-368b-46f7-9b1d-be211e036fe1 my-test-key-4
f141be88-5a34-4290-8513-4f01d934e75a my-test-key-5
b8794334-eea6-4c0d-8fe1-8086300b13f7 my-test-key-6
87679194-52d0-42af-81e1-bffd64f87315 my-test-key-7
cc7faf46-43cf-43b2-be98-7d1815371639 my-test-key-8
e9b08526-3227-406c-b83f-c28844bd952b my-test-key-9
3ee0d859-2968-4444-8e4d-3d28614f055c my-test-key-10
bc459a2f-56cb-445e-b4ee-9d1866b57560 my-test-key-11
62090ba8-7363-408e-9edc-aa9fb69c09be my-test-key-12
3b4b0511-00df-48e6-ad65-fad35bb6ce17 my-test-key-13
16276369-ba81-4eb5-be92-f13512147ad4 my-test-key-14
3d683d56-d340-40cb-b8b6-605dcfded01f my-test-key-15
10954149-0217-472d-8137-42fc330dbd03 my-test-key-16
54dd2745-7718-487f-85e6-a67e758dd945 my-test-key-17
3a5a3b52-6942-463d-9f7a-5b216bbf5123 my-test-key-18
90138be5-1dd1-4eea-b7c1-73cc8609e7f7 my-test-key-19
cf0a3d8b-4856-4aa5-be6a-88cca465eab0 my-test-key-20

# this is the same list sorted in KEY_ID order
# this is the order we expect when listing keys

10954149-0217-472d-8137-42fc330dbd03 my-test-key-16
16276369-ba81-4eb5-be92-f13512147ad4 my-test-key-14
215f592c-3e42-47b6-867c-3cc1cce8a8fd my-test-key-2
3a5a3b52-6942-463d-9f7a-5b216bbf5123 my-test-key-18
3b4b0511-00df-48e6-ad65-fad35bb6ce17 my-test-key-13

3d683d56-d340-40cb-b8b6-605dcfded01f my-test-key-15
3ee0d859-2968-4444-8e4d-3d28614f055c my-test-key-10
54dd2745-7718-487f-85e6-a67e758dd945 my-test-key-17
62090ba8-7363-408e-9edc-aa9fb69c09be my-test-key-12
768c9ceb-368b-46f7-9b1d-be211e036fe1 my-test-key-4

87679194-52d0-42af-81e1-bffd64f87315 my-test-key-7
90138be5-1dd1-4eea-b7c1-73cc8609e7f7 my-test-key-19
b70f62a1-4d52-4526-91a9-ce47bf14c2a5 my-test-key-1
b8794334-eea6-4c0d-8fe1-8086300b13f7 my-test-key-6
bc459a2f-56cb-445e-b4ee-9d1866b57560 my-test-key-11

cc7faf46-43cf-43b2-be98-7d1815371639 my-test-key-8
cf0a3d8b-4856-4aa5-be6a-88cca465eab0 my-test-key-20
df530c55-39c0-44e8-b7db-397593f70d90 my-test-key-3
e9b08526-3227-406c-b83f-c28844bd952b my-test-key-9
f141be88-5a34-4290-8513-4f01d934e75a my-test-key-5

# define a function for listing keys
$ list_keys () {
    N=$1
    S=$2
    KEYS=$(ibmcloud kp keys --number-of-keys $N --starting-offset $S --output json | jq -r '.[] | .id')
    for KEY_ID in $(echo "${KEYS}"); do
        KEY_ID=$(ibmcloud kp key show $KEY_ID --output json | jq -r '.["id"]')
    KEY_NAME=$(ibmcloud kp key show $KEY_ID --output json | jq -r '.["name"]')
    echo $KEY_ID $KEY_NAME
    done
}

# list the first group of keys
$ list_keys 5 0

10954149-0217-472d-8137-42fc330dbd03 my-test-key-16
16276369-ba81-4eb5-be92-f13512147ad4 my-test-key-14
215f592c-3e42-47b6-867c-3cc1cce8a8fd my-test-key-2
3a5a3b52-6942-463d-9f7a-5b216bbf5123 my-test-key-18
3b4b0511-00df-48e6-ad65-fad35bb6ce17 my-test-key-13

# list the second group of keys
$ list_keys 5 5

3d683d56-d340-40cb-b8b6-605dcfded01f my-test-key-15
3ee0d859-2968-4444-8e4d-3d28614f055c my-test-key-10
54dd2745-7718-487f-85e6-a67e758dd945 my-test-key-17
62090ba8-7363-408e-9edc-aa9fb69c09be my-test-key-12
768c9ceb-368b-46f7-9b1d-be211e036fe1 my-test-key-4

# list the third group of keys
$ list_keys 5 10

87679194-52d0-42af-81e1-bffd64f87315 my-test-key-7
90138be5-1dd1-4eea-b7c1-73cc8609e7f7 my-test-key-19
b70f62a1-4d52-4526-91a9-ce47bf14c2a5 my-test-key-1
b8794334-eea6-4c0d-8fe1-8086300b13f7 my-test-key-6
bc459a2f-56cb-445e-b4ee-9d1866b57560 my-test-key-11

# list the last group of keys
$ list_keys 5 15

cc7faf46-43cf-43b2-be98-7d1815371639 my-test-key-8
cf0a3d8b-4856-4aa5-be6a-88cca465eab0 my-test-key-20
df530c55-39c0-44e8-b7db-397593f70d90 my-test-key-3
e9b08526-3227-406c-b83f-c28844bd952b my-test-key-9
f141be88-5a34-4290-8513-4f01d934e75a my-test-key-5

# delete the test keys
$ KEYS=$(ibmcloud kp keys --output json | jq -r '.[] | .id')

$ for KEY_ID in $(echo "${KEYS}"); do
    KEY_NAME=$(ibmcloud kp key show $KEY_ID --output json | jq -r '.["name"]')
    if [[ $KEY_NAME == *"my-test-key-"* ]]; then
        echo "Deleting... $KEY_NAME $KEY_ID"
    ibmcloud kp key delete $KEY_ID
    fi
done

(output not shown)

Beispiel 6

Listet die Schlüssel auf der Basis der Schlüsselstatus (Active, Suspended) in der Instanz Key Protect auf.

# list active and suspended keys
$ ibmcloud kp keys --key-states active,suspended

Retrieving keys...
OK
Key ID                                 Key Name
ef2cc155-fe56-492c-845c-4d1f0688c7ba   my-active-key
636e9f3a-feaf-4033-8603-687754dc7e51   my-suspended-key

Beispiel 7

Listet die Schlüssel auf der Basis des Schlüsseltyps (Root) in der Instanz Key Protect auf.

# list root keys
$ ibmcloud kp keys -t root

Retrieving keys...
OK
Key ID                                 Key Name
2f1cb135-fa16-40dc-815c-4d1f0ee8c7ba   my-root-key

Beispiel 8

Listet die Schlüssel in der Key Protect-Instanz mit dem Schlüsselnamen oder Alias auf, der exakt mit den Zeichen in der Zeichenfolge "TEST" ohne Anführungszeichen übereinstimmt.

# list keys with identifiers exactly matching TEST
$ ibmcloud kp keys -l exact:TEST

Retrieving keys...
OK
Key ID                                 Key Name
636e9f3a-feaf-4033-8603-687754dc7e51   TEST

Beispiel 9

Listet die Schlüssel in der Key Protect-Instanz auf und sortiert die Schlüssel basierend auf ihrer ID und dem Datum, an dem der Schlüssel erstellt wurde, beginnend mit dem neuesten (der Bindestrich '-' gibt die Sortierung in absteigender Reihenfolge an).

# sort keys by id and descending creationDate
$ ibmcloud kp keys -b id,-creationDate

Retrieving keys...
OK
Key ID                                 Key Name
ef2cc155-fe56-492c-845c-4d1f0688c7ba   my-last-key
2f1cb135-fa16-40dc-815c-4d1f0ee8c7ba   my-first-key

Erforderliche Parameter

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -b, --sort-by

    Sortieren Sie die Schlüssel basierend auf den Parametern. Die Standardeigenschaft für die Sortierung von Ergebnissen ist "id". '-' vor dem Parameter gibt die Sortierung in absteigender Reihenfolge an. Folgende Sortierparameter werden derzeit unterstützt:

    • ID
    • Status
    • extractable
    • importiert
    • creationDate
    • lastUpdateDate
    • lastRotateDate
    • deletionDate
    • expirationDate
  • -c, --crn

    Fügt den Cloudressourcennamen (CRN) in die Ausgabe ein.

  • -f, --key-filter

    Filtern Sie die Schlüssel anhand der Parameter. Die unterstützten Schlüsselfilterparameter sind:

    • creationDate
    • deletionDate
    • expirationDate
    • extractable
    • lastUpdateDate
    • lastRotateDate
    • Status

    Die unterstützenden Operatoren für Datumsangaben sind:

    • GT (größer als)
    • gte (größer als oder gleich)
    • LT (kleiner als)
    • lte (kleiner oder gleich)

    Die Ergebnisse sind eine exakte Übereinstimmung, falls einer dieser Operatoren fehlt.

  • --key-states

    Der Status der abzurufenden Schlüssel. Liste der Zeichenfolgen mit gültigen Status- Active, Suspended, Deactivated, Destroyed. (Standardwert: active,suspended,deactivated)

  • -l, --key-search

    Listet Schlüssel auf der Basis eines Suchbegriffs mit vorangestellten Qualifikationsmerkmalen auf (z. B. exact, not, alias, name). Weitere Details finden Sie in der API-Dokumentation.

  • -n, --number-of-keys

    Begrenzt die Anzahl der abzurufenden Schlüssel. Der Standardwert ist 200 und der Maximalwert ist 5000.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

    Wenn das JSON-Format (--output json) für die Ausgabe festgelegt wird, ist der Cloudressourcenname (CRN) in der Ausgabe enthalten.

  • -r, --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, wenn der Benutzer keine Berechtigungen für den Standardschlüsselring hat.

  • -s, --starting-offset

    Ruft die Schlüssel ab der angegebenen relativen Position (Offset) ab. Für den Offset wird die Basis null verwendet, d. h. die Position 0 (null) ist der erste Schlüssel.

  • -t, --key-type

    Der Typ der Schlüssel, die abgerufen werden sollen. Bei der Einstellung „ standard-key “ werden die Standardtasten abgerufen. Wenn die Einstellung auf „ root-key “ gesetzt ist, werden die Root-Schlüssel abgerufen.

kp region-set

Anderen regionalen Key Protect-Endpunkt als Ziel angeben.

ibmcloud kp region-set REGION
        -i, --instance-id INSTANCE_ID
        [-u, --unset]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp region-set.

Beispiel 1

Wenn der Parameter REGION nicht angegeben ist, werden Sie aufgefordert, eine Region auszuwählen.

# set the region endpoint
$ ibmcloud kp region-set

Select a Region:
1. au-syd
2. ca-tor
3. eu-de
4. eu-gb
5. jp-osa
6. jp-tok
7. us-east
8. us-south
9. br-sao
10. staging (us-south)
Enter a number:
5
OK

Beispiel 2

Region explizit festlegen

# set the region endpoint to "us-south"
$ ibmcloud kp region-set us-south

OK

Im Parameter REGION muss ein gültiger regionaler Endpunkt angegeben werden.

# this should fail (not a valid regional endpoint)
$ ibmcloud kp region-set not-a-region

FAILED

Beispiel 3

Festlegung des regionalen Endpunkts aufheben (entfernen)

# remove the regional endpoint
$ ibmcloud kp region-set -u

OK

Erforderliche Parameter

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • REGION

    Einen regionalen Endpunkt angeben. Wenn dieser optionale Parameter nicht angegeben ist, werden Sie aufgefordert, einen regionalen Endpunkt aus einer Liste auszuwählen.

  • -u, --unset

    Festlegung des regionalen Endpunkts aufheben (entfernen).

kp registrations

Registrierungen sind Zuordnungen zwischen Rootschlüsseln und anderen Cloudressourcen (z. B. Cloud Object Storage-Buckets oder Bereitstellungen von Clouddatenbanken).

Beispiel: In Key Protect erstellen Sie einen Stammschlüssel, der von COS verwendet wird, um Daten im Ruhezustand zu schützen.

Die Beziehung zwischen anderen Cloudressourcen und Key Protect wird als registration bezeichnet.

Ein Rootschlüssel darf nicht gelöscht werden, wenn Ressourcen wie COS-Buckets und Objekte von dem Rootschlüssel abhängig sind. Wenn Sie den Rootschlüssel löschen, können Sie diese Ressourcen nicht wiederherstellen. Dieser Vorgang wird als "Krypto-Shredding" bezeichnet und kann nicht rückgängig gemacht werden.

ibmcloud kp registrations
        -i, --instance-id INSTANCE_ID
    [-r, --key-ring    KEY_RING_ID]
    [-c, --crn-query   CRN_PATTERN]
    [-k, --key-id      KEY_ID_OR_ALIAS]
    [-o, --output      OUTPUT]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp registrations.

In Registrierungsbeispielen werden viele Cloudressourcennamen (CRNs) angezeigt. CRNs folgen diesem Format:

crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resource

Siehe „Cloud Resource Names“ für eine ausführliche Erläuterung der CRN-Felder.

Beispiel 1

Alle Registrierungen auflisten (dazu können Cloudressourden wie Datenbanken, Speicher, Rechenressourcen, Container oder Messaging gehören)

Dieses Beispiel zeigt die Registrierung zwischen Cloud Object Storage (COS) und Key Protect.

# view all registrations
$ ibmcloud kp registrations --output json

[
  {
    "keyId": "2cbea94c-6070-4a24-b0f8-7a56e4d7cb6f",
    "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/ea998d3389c3473aa0987652b46fb146:4b636e74-f3ca-40bb-80b8-3bd21801ccb8:bucket:my-cos-kms-bucket",
    "createdBy": "crn-crn:v1:bluemix:public:cloud-object-storage:global:a/ea998d3389c3473aa0987652b46fb146:4b636e74-f3ca-40bb-80b8-3bd21801ccb8::",
    "creationDate": "2020-06-15T16:07:37Z",
    "lastUpdated": "2020-06-15T16:07:37Z",
    "keyVersion": { "id": "2cbea94c-6070-4a24-b0f8-7a56e4d7cb6f", "creationDate": "2020-06-15T16:05:53Z"
    }
  }
]

Beispiel 2

Dieses Beispiel zeigt den vollständigen Lebenszyklus von zwei Cloudressourcen (Cloud Object Storage und Key Protect – durch die Erstellung von Key Protect-Instanzen und die Erstellung einer Richtlinie zwischen ihnen zum Löschen der Instanzen.

Übersicht der einzelnen Schritte

Schritt Wo Beschreibung
1 Befehlszeilenschnittstelle Instanzen von Cloud Obobject Storage (COS) und Key Protect (KP) erstellen
2 Befehlszeilenschnittstelle Richtlinie für den Zugriff von COS auf KP-Verschlüsselungsschlüssel erstellen
3 Befehlszeilenschnittstelle KP-Rootschlüssel erstellen, der von COS zum Verschlüsseln von Daten verwendet wird
4 Konsolenbenutzerschnittstelle COS-Bucket erstellen und KP-Verschlüsselung angeben (dieser Schritt erfolgt in der Konsolenbenutzerschnittstelle, da derzeit keine API- oder CLI-Unterstützung verfügbar ist)
5 Befehlszeilenschnittstelle KP-Registrierung anzeigen
6 Befehlszeilenschnittstelle Objekt hoch- oder herunterladen, um die Zusammenarbeit zwischen COS und KP zu überprüfen
7 Befehlszeilenschnittstelle COS-Bucket und KP-Rootschlüssel löschen
8 Befehlszeilenschnittstelle Autorisierungsrichtlinie zwischen COS und KP löschen
9 Befehlszeilenschnittstelle COS- und KP-Instanzen löschen

Diese Befehle zeigen COS und Key Protect Servicepläne an. Im Befehl ibmcloud resource service-instance-create muss der Namen eines Serviceplans (service plan name) und ein Standort (location) angegeben werden, der im Katalog enthalten ist.

# show the catalog offerings for cloud object storage (COS) and Key Protect
$ ibmcloud catalog service cloud-object-storage

$ ibmcloud catalog service kms

Das Beispiel umfasst mehrere Schritte und sollte in Absprache mit der bereitgestellten Zusammenfassung durchgeführt werden.

# create a Cloud Object Storage (COS) instance
# "lite" is the pricing plan and "global" is the region
$ COS_NAME=my-cos-1

$ ibmcloud resource service-instance-create $COS_NAME cloud-object-storage lite global

Creating service instance my-cos-1 in resource group Default of account <account name> as <email address>...
OK
Service instance my-cos-1 was created.
Name:             my-cos-1
ID:               crn:v1:bluemix:public:cloud-object-storage:global:a/ea998d3389c3473aa0987652b46fb146:4b636e74-f3ca-40bb-80b8-3bd21801ccb8::
GUID:             4b636e74-f3ca-40bb-80b8-3bd21801ccb8
Location:         global
State:            active
Type:             service_instance
Sub Type:
Allow Cleanup:    false
Locked:           false
Created at:       2020-06-15T16:03:39Z
Updated at:       2020-06-15T16:03:39Z
Last Operation:             Status    create succeeded             Message   Completed create instance operation

# capture the COS instance id (GUID)
$ COS_INSTANCE_ID=4b636e74-f3ca-40bb-80b8-3bd21801ccb8

# create a Key Management Service (KMS) service instance
# "tiered-pricing" is the pricing plan and "us-south" is the region
$ KMS_NAME=my-kms-1

$ ibmcloud resource service-instance-create $KMS_NAME kms tiered-pricing us-south

Creating service instance my-kms-1 in resource group Default of account <account name> as <email address>...
OK
Service instance my-kms-1 was created.
Name:             my-kms-1
ID:               crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:b3933ab0-d579-46fc-8ed5-351aea657b9a::
GUID:             b3933ab0-d579-46fc-8ed5-351aea657b9a
Location:         us-south
State:            active
Type:             service_instance
Sub Type:         kms
Allow Cleanup:    false
Locked:           false
Created at:       2020-06-15T16:04:40Z
Updated at:       2020-06-15T16:04:40Z
Last Operation:             Status    create succeeded             Message   Completed create instance operation

# capture the Key Protect (KP) instance id (GUID)
$ KP_INSTANCE_ID=b3933ab0-d579-46fc-8ed5-351aea657b9a

# create a policy for COS to read KMS; source is COS, target is KMS
$ ibmcloud iam authorization-policy-create cloud-object-storage kms Reader \
  --source-service-instance-id $COS_INSTANCE_ID \
  --target-service-instance-id $KP_INSTANCE_ID

Creating authorization policy under account ea998d3389c3473aa0987652b46fb146 as <email address>...
OK
Authorization policy 18cfc980-4458-4313-972e-93f312cdcd81 was created.
ID:                        18cfc980-4458-4313-972e-93f312cdcd81
Source service name:       cloud-object-storage
Source service instance:   4b636e74-f3ca-40bb-80b8-3bd21801ccb8
Target service name:       kms
Target service instance:   b3933ab0-d579-46fc-8ed5-351aea657b9a
Roles:                     Reader

# capture the COS-to-KMS authorization policy id
$ COS_KMS_AUTHORIZATION=18cfc980-4458-4313-972e-93f312cdcd81

# create a KP root key that COS uses to encrypt data
$ ibmcloud kp key create my-cos-key --output json

{
  "id": "2cbea94c-6070-4a24-b0f8-7a56e4d7cb6f",
  "name": "my-cos-key",
  "type": "application/vnd.ibm.kms.key+json",
  "extractable": false,
  "state": 1,
  "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:b3933ab0-d579-46fc-8ed5-351aea657b9a:key:2cbea94c-6070-4a24-b0f8-7a56e4d7cb6f"
}

# capture the KP root key id
$ MY_COS_KEY_ID=2cbea94c-6070-4a24-b0f8-7a56e4d7cb6f

# create a COS bucket and set KP encryption
#   must be done in the console user interface (UI) because
#   there is no API or CLI support at this time
# 1 - In the UI, go to... Resource list -> Storage -> my-cos-1
# 2 - Create bucket -> custom bucket
# 3 - Properties of a custom bucket
#   a - bucket name: my-cos-kms-bucket
#   b - location: us-south (same region as KP)
#   c - checkbox: Key Protect
#   d - instance: my-kms-1
#   e - key name: my-cos-key
#   f - button: Create bucket

# capture the name of the COS bucket that was created
$ COS_BUCKET=my-cos-kms-bucket

# view the KP registration; it's a result of creating the COS bucket
$ ibmcloud kp registrations --output json

[
  {
    "keyId": "2cbea94c-6070-4a24-b0f8-7a56e4d7cb6f",
    "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/ea998d3389c3473aa0987652b46fb146:4b636e74-f3ca-40bb-80b8-3bd21801ccb8:bucket:my-cos-kms-bucket",
    "createdBy": "crn-crn:v1:bluemix:public:cloud-object-storage:global:a/ea998d3389c3473aa0987652b46fb146:4b636e74-f3ca-40bb-80b8-3bd21801ccb8::",
    "creationDate": "2020-06-15T16:07:37Z",
    "lastUpdated": "2020-06-15T16:07:37Z",
    "keyVersion": { "id": "2cbea94c-6070-4a24-b0f8-7a56e4d7cb6f", "creationDate": "2020-06-15T16:05:53Z"
    }
  }
]

# list the bucket
$ ibmcloud cos list-buckets --ibm-service-instance-id $COS_INSTANCE_ID

OK
1 bucket found in your account:
Name                Date Created
my-cos-kms-bucket   Jun 15, 2020 at 16:07:38

# upload an object to COS
$ ibmcloud cos put-object --bucket $COS_BUCKET --key '/cos-file.txt' --body cos-file-upload.txt

OK
Successfully uploaded object '/cos-file.txt' to bucket 'my-cos-kms-bucket'.

# get the object from COS
$ ibmcloud cos get-object --bucket $COS_BUCKET --key '/cos-file.txt' cos-file-download.txt

OK
Successfully downloaded '/cos-file.txt' from bucket 'my-cos-kms-bucket'
20 B downloaded.

# verify that the upload and download files are the same
$ cat cos-file-upload.txt

This is a test file

$ cat cos-file-download.txt

This is a test file

# delete the object
$ ibmcloud cos delete-object --bucket $COS_BUCKET --key '/cos-file.txt' --force

OK
Delete '/cos-file.txt' from bucket 'my-cos-kms-bucket' ran successfully.

# delete the bucket
$ ibmcloud cos delete-bucket --bucket $COS_BUCKET --force

OK
Successfully deleted bucket 'my-cos-kms-bucket'. The bucket 'my-cos-kms-bucket' will be available for reuse after 15 minutes.

# list the bucket (it should no longer exist)
$ ibmcloud cos list-buckets --ibm-service-instance-id $COS_INSTANCE_ID

OK
No buckets found in your account.

# view the KP registration (it should no longer exist)
$ ibmcloud kp registrations --output json

# delete the KP root key; COS no longer uses it
$ ibmcloud kp key delete $MY_COS_KEY_ID --output json

{
  "id": "2cbea94c-6070-4a24-b0f8-7a56e4d7cb6f"
}

# delete the authorization policy between COS AND KMS
$ ibmcloud iam authorization-policy-delete $COS_KMS_AUTHORIZATION --force

Deleting authorization policy 18cfc980-4458-4313-972e-93f312cdcd81 under account ea998d3389c3473aa0987652b46fb146...
OK
Authorization policy 18cfc980-4458-4313-972e-93f312cdcd81 is deleted successfully

# view the authorization policy (it should no longer exist)
$ ibmcloud iam authorization-policies

Getting authorization policies under account ea998d3389c3473aa0987652b46fb146 as <email address>...
OK
No policy found

# delete the KMS instance
$ ibmcloud resource service-instance-delete $KMS_NAME --force

Deleting service instance my-kms-1 in resource group Default under account <account name> as <email address>...
OK
Service instance my-kms-1 with ID crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:b3933ab0-d579-46fc-8ed5-351aea657b9a:: is deleted successfully

# delete the COS instance
$ ibmcloud resource service-instance-delete $COS_NAME --force

Deleting service instance my-cos-1 in resource group Default under account <account name> as <email address>...
OK
Service instance my-cos-1 with ID crn:v1:bluemix:public:cloud-object-storage:global:a/ea998d3389c3473aa0987652b46fb146:4b636e74-f3ca-40bb-80b8-3bd21801ccb8:: is deleted successfully

# view resources (COS and KMS should no longer exist)
$ ibmcloud resource service-instances

Retrieving instances with type service_instance in resource group Default in all locations under account <account name> as <email address>...
OK
No service instance found.

Beispiel 3

Dieses Beispiel zeigt, was passiert, wenn eine der folgenden Situationen zwischen COS und Key Protect eintritt (KP) – COS ist nicht in der Lage, auf den Key Protect-Rootschlüssel zuzugreifen.

  • KP-Rootschlüssel löschen
  • CMS/KP-Berechtigungsrichtlinie entfernen

Im vorliegenden Beispiel werden nur relevante Ausgabedaten des Befehls angezeigt.

# create a Cloud Object Storage (COS) service instance
# "lite" is the pricing plan and "global" is the region
$ COS_NAME=my-cos-1

$ ibmcloud resource service-instance-create $COS_NAME cloud-object-storage lite global

# capture the COS instance id (GUID)
$ COS_INSTANCE_ID=c488e11a-c8a0-4688-b002-9327266ea55f

# create a Key Management Service (KMS) service instance
# "tiered-pricing" is the pricing plan and "us-south" is the region
$ KMS_NAME=my-kms-1

$ ibmcloud resource service-instance-create $KMS_NAME kms tiered-pricing us-south

# capture the Key Protect (KP) instance id (GUID)
$ KP_INSTANCE_ID=26f4b198-952a-47ab-9f44-ef69c038b3c5

# create a policy for COS to read KMS; source is COS, target is KMS (Key Protect)
$ ibmcloud iam authorization-policy-create cloud-object-storage kms Reader \
  --source-service-instance-id $COS_INSTANCE_ID \
  --target-service-instance-id $KP_INSTANCE_ID

# capture the COS-to-KMS authorization policy id
$ COS_KMS_AUTHORIZATION=594b946e-0e90-44ea-ac62-6cbb42450cd5

# create a KP root key that COS uses to encrypt data
$ ibmcloud kp key create my-cos-key --output json

# capture the KP root key id
$ MY_COS_KEY_ID=464d78c3-57dc-49a5-b932-8ebf8f8c7771

# create a COS bucket and set KP encryption
#   must be done in the console user interface (UI) because
#   there is no API or CLI support at this time

# capture the name of the COS bucket that was created
$ COS_BUCKET=my-cos-kms-bucket

# upload an object to COS
$ ibmcloud cos put-object --bucket $COS_BUCKET --key '/cos-file.txt' --body cos-file-upload.txt

# delete the authorization policy between COS AND KMS - this breaks everything
$ ibmcloud iam authorization-policy-delete $COS_KMS_AUTHORIZATION --force

# get the object from COS - this fails because COS no longer has access to KMS
$ ibmcloud cos get-object --bucket $COS_BUCKET --key '/cos-file.txt' cos-file-download.txt

FAILED
ServiceNotAuthorized: The specified COS Service Instance does not have sufficient
    permissions to access the resource provided in the ibm-sse-kp-customer-root-key-crn request header
status code: 401,
request id: a51e1da3-9bf7-4cc9-9eb0-0d074c7f9093,
host id:

# delete the object
$ ibmcloud cos delete-object --bucket $COS_BUCKET --key '/cos-file.txt' --force

# delete the bucket
$ ibmcloud cos delete-bucket --bucket $COS_BUCKET --force

# delete the KP root key - this fails because the registration was not deleted
$ ibmcloud kp key delete $MY_COS_KEY_ID --output json

FAILED
kp.Error:
    correlation_id='fffdd8a9-405a-4a91-a5a7-52c30d11424d',
    msg='Conflict: Key could not be deleted. Please see "reasons" for more details.',
    reasons='[PROTECTED_RESOURCE_ERR: Key is protecting one or more cloud resources -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/docs/key-protect?topic=key-protect-troubleshooting#unable-to-delete-keys]'

# delete the KP root key; use --force because the registration between COS and KMS still exists
$ ibmcloud kp key delete $MY_COS_KEY_ID --force --output json

# delete the KMS instance
$ ibmcloud resource service-instance-delete $KMS_NAME --force

# delete the COS instance
$ ibmcloud resource service-instance-delete $COS_NAME --force

# view resources (COS and KMS should no longer exist)
$ ibmcloud resource service-instances

Retrieving instances with type service_instance in resource group Default in all locations under account <account name> as <email address>...
OK
No service instance found.

Erforderliche Parameter

  • KEY_ID_OR_ALIAS

    Die UUID oder der Alias des Schlüssels im Format „ v4 “, den Sie abfragen möchten.

  • -i, --instance-id

    Die IBM Cloud-Instanz-ID, die Ihre Key Protect-Instanz identifiziert.

    Sie können eine Umgebungsvariable festlegen, anstatt -i mit dem folgenden Befehl anzugeben: $ export KP_INSTANCE_ID=<INSTANCE_ID>.

Optionale Parameter

  • -c, --crn-query

    Gibt die CRN-Abfrage an, deren Registrierungen aufgelistet werden sollen.

  • -k, --key-id

    Gibt die Schlüssel-ID an, deren Registrierungen aufgelistet werden sollen.

  • -o, --output

    Legen Sie das CLI-Ausgabeformat fest. Standardmäßig werden alle Befehle im Tabellenformat ausgegeben. Zum Ändern des Ausgabeformats in JSON verwenden Sie --output json.

    Wenn das JSON-Format (--output json) für die Ausgabe festgelegt wird, ist der Cloudressourcenname (CRN) in der Ausgabe enthalten.

  • -r, --key-ring

    Ein eindeutiger, lesbarer Name für den Schlüsselring. Erforderlich, um Registrierungen auf dem angegebenen Schlüsselring anzuzeigen.

Befehl 'ibmcloud kp kmip'

Die KMIP-Befehle ermöglichen API-Zugriff auf KMIP-Adapter und -Objekte.

Unterbefehl Status v0.10 Beschreibung
adapter-Erstellen KMIP-Adapter erstellen
Adapter KMIP-Adapter abrufen
Adapter KMIP-Adapter in einer Instanz auflisten
Adapter-Löschen KMIP-Adapter löschen
cert-create Einem Adapter zugeordnetes KMIP-Clientzertifikat erstellen
cert KMIP-Clientzertifikat abrufen
Zertifikate Einem KMIP-Adapter zugeordnetes KMIP-Clientzertifikat auflisten
cert-delete KMIP-Clientzertifikat löschen
Objekt KMIP-Objekt abrufen
Objekte KMIP-Objekte in einem KMIP-Adapter auflisten
Objekt-Löschen KMIP-Objekt löschen

kp kmip adapter-erstellen

Verwenden Sie kmip adapter-create, um einen KMIP-Adapter unter einer Key Protect-Instanz zu erstellen. Adapter werden zum Gruppieren und Verwalten von KMIP-Objekten verwendet. KMIP-Adapter unter derselben Key Protect-Instanz müssen einen eindeutigen Namen haben, da Adapter über den Namen oder die ID abgerufen werden können. Für alle KMIP-bezogenen CLI-Befehle kann jedes Argument oder Flag, das eine Adapter-ID verwendet, auch einen Adapternamen verwenden.

Je nach Profil müssen möglicherweise unterschiedliche Informationen angegeben werden, um den Adapter zu erstellen. Derzeit wird nur ein Profil des KMIP-Adapters unterstützt: native_1.0.

Das Profil native_1.0 benötigt nur die ID eines Rootschlüssels, der im Flag -k angegeben werden muss.

$ ibmcloud kp kmip adapter-create
    -i, --instance-id      INSTANCE_ID
    -p, --profile PROFILE
    [-k, --crk-id CRK_ID]
    [-n, --name NAME]
    [-d, --description DESC]
    [-o, --output          OUTPUT]

Beispiel

Die folgenden Beispiele veranschaulichen den Befehl kp kmip adapter-create.

Beispiel 1

In diesem Beispiel wird der KMIP-Adapter mit dem Profil native_1.0 erstellt.

$ ibmcloud kp kmip adapter-create -n myadapter -k 47a0ad90-204d-4e45-aa5b-68ed40a05fa2 -p native_1.0 -d "my description"
Targeting endpoint: not shown
Creating KMIP Adapter...
OK
Adapter ID                             Adapter Profile   Adapter Name   Adapter Description   
d6a00af1-277f-40e8-b33e-da3a68752209   native_1.0        myadapter      my description  
$ ibmcloud kp kmip adapters
Targeting endpoint: not shown
Listing KMIP Adapters...
OK
Adapter ID                             Adapter Profile   Adapter Name   Created At                      Updated At   
d6a00af1-277f-40e8-b33e-da3a68752209   native_1.0        myadapter      2024-03-20 22:06:43 +0000 UTC   2024-03-20 22:06:43 +0000 UTC   

kp-kmip-Adapter

Rufen Sie Details zu einem KMIP-Adapter ab, einschließlich Erstellungs-und Aktualisierungsdatum. Sie können die Adapter-ID oder den Adapternamen verwenden.

$ ibmcloud kp kmip adapter ADAPTER_NAME_OR_ID
    -i, --instance-id   INSTANCE_ID
    [-o, --output       OUTPUT]

Beispiel

Die folgenden Beispiele veranschaulichen den Befehl kp kmip adapter.

Beispiel 1

Beachten Sie, dass einige Attribute für den Adapter nur im JSON-Ausgabeformat sichtbar sind.

$ ibmcloud kp key create rootKmip
Targeting endpoint: not shown
Creating key: 'rootKmip', in instance: '8944cc2d-7e00-46b2-baa4-787051e0f7b3'...
OK
Key ID                                 Key Name   
47a0ad90-204d-4e45-aa5b-68ed40a05fa2   rootKmip   
$ ibmcloud kp kmip adapter-create -n myadapter -k 47a0ad90-204d-4e45-aa5b-68ed40a05fa2 -p native_1.0
Targeting endpoint: not shown
Creating KMIP Adapter...
OK
Adapter ID                             Adapter Profile   Adapter Name   Adapter Description   
d6a00af1-277f-40e8-b33e-da3a68752209   native_1.0        myadapter      -   
# retreiving adapter by name
$ ibmcloud kp kmip adapter myadapter
Targeting endpoint: not shown
Getting KMIP Adapter...
OK
Adapter ID                             Adapter Profile   Adapter Name   Created At                      Updated At                      Adapter Description   
d6a00af1-277f-40e8-b33e-da3a68752209   native_1.0        myadapter      2024-03-20 22:06:43 +0000 UTC   2024-03-20 22:06:43 +0000 UTC   -   
# retrieving adapter by ID
$ ibmcloud kp kmip adapter d6a00af1-277f-40e8-b33e-da3a68752209 -o json
{
    "id": "d6a00af1-277f-40e8-b33e-da3a68752209",
    "profile": "native_1.0",
    "profile_data": {
        "crk_id": "47a0ad90-204d-4e45-aa5b-68ed40a05fa2"
    },
    "name": "myadapter",
    "description": "",
    "created_by": "IBMid-664003LB2T",
    "created_at": "2024-03-20T22:06:43Z",
    "updated_by": "IBMid-664003LB2T",
    "updated_at": "2024-03-20T22:06:43Z"
}

kp-kmip-Adapter

Listen Sie die KMIP-Adapter auf, die in Ihrer Key Protect-Instanz verfügbar sind.

$ ibmcloud kp kmip adapters
    -i, --instance-id       INSTANCE_ID
    [-o, --output           OUTPUT]
    [-n, --limit            LIMIT]
    [-s, --starting-offset  OFFSET]
    [-t, --total-count]
    [-k, --crk-id           CRK_ID]

Beispiel

Die folgenden Beispiele veranschaulichen den Befehl kp kmip adapters. Verwenden Sie die -k Flag, um nur Adapter anzuzeigen, die eine bestimmte CRK-ID verwenden.

Beispiel 1

$ ibmcloud kp kmip adapters -n 100 -s 0
Targeting endpoint: not shown
Listing KMIP Adapters...
OK
Adapter ID                             Adapter Profile   Adapter Name   Created At                      Updated At   
d6a00af1-277f-40e8-b33e-da3a68752209   native_1.0        myadapter      2024-03-20 22:06:43 +0000 UTC   2024-03-20 22:06:43 +0000 UTC

kp-kmip-adapter-delete

Löscht einen KMIP-Adapter. Dadurch werden alle Objekte und Zertifikate gelöscht, die dem Adapter zugeordnet sind.

$ ibmcloud kp kmip adapter-delete ADAPTER_NAME_OR_ID
    -i, --instance-id INSTANCE_ID
    [-f, --force]
    [-y, --skip-confirm]

Beispiel

Die folgenden Beispiele veranschaulichen den Befehl kp kmip adapter-delete.

Beispiel 1

$ ibmcloud kp kmip adapter-create -n adap -k 47a0ad90-204d-4e45-aa5b-68ed40a05fa2 -p native_1.0
Targeting endpoint: not shown
Creating KMIP Adapter...
OK
Adapter ID                             Adapter Profile   Adapter Name   Adapter Description   
e97e4297-4a6f-41c9-ae67-0920715964fd   native_1.0        adap           -   
$ ibmcloud kp kmip adapter-delete e97e4297-4a6f-41c9-ae67-0920715964fd
Targeting endpoint: not shown
Deleting KMIP Adapter...
OK

kp kmip cert-create

Verwenden Sie kp kmip cert-create, um ein KMIP-Clientzertifikat zu erstellen, das einem bestimmten KMIP-Adapter zugeordnet werden kann. Das im -c-Flag angegebene Zertifikat sollte das Format x509 PEM haben. Die Zertifikatsdatei kann mit dem Präfix @ hochgeladen werden, um einen Dateipfad anzugeben, oder indem der Inhalt der Zertifikatsdatei direkt für das Flag bereitgestellt wird.

KMIP-Client-Zertifikate werden verwendet, um eine Verbindung mit dem KMIP-Server herzustellen und sich durch gegenseitige TLS ( mTLS ) zu authentifizieren. Ein Zertifikat muss registriert werden, bevor KMIP-Protokolloperationen mit einem KMIP-Adapter ausgeführt werden können. Es kann bis zu 5 Minuten dauern, bis das Zertifikat in KMIP-Operationen verwendbar ist.

Zertifikate müssen innerhalb desselben KMIP-Adapters einen eindeutigen Namen haben und der Inhalt des Zertifikats muss selbst zwischen mehreren Adaptern eindeutig sein.

Siehe auch: KMIP-Protokollspezifikationen

$ ibmcloud kp kmip cert-create
    -a, --adapter       ADAPTER_NAME_OR_ID
    -c, --cert-string   {@path/to/cert | CERTIFICATE_STRING}
    [-n, --name         NAME]
    -i, --instance-id   INSTANCE_ID
    [-o, --output       OUTPUT]

Beispiel

Die folgenden Beispiele veranschaulichen den Befehl kp kmip cert-create.

Beispiel 1

Dieses Beispiel zeigt zwei Möglichkeiten zum Hochladen derselben Zertifikatsdatei.

$ ibmcloud kp key create rootKmip
Targeting endpoint: not shown
Creating key: 'rootKmip', in instance: '8944cc2d-7e00-46b2-baa4-787051e0f7b3'...
OK
Key ID                                 Key Name   
47a0ad90-204d-4e45-aa5b-68ed40a05fa2   rootKmip   
$ ibmcloud kp kmip adapter-create -n myadapter -k 47a0ad90-204d-4e45-aa5b-68ed40a05fa2 -p native_1.0
Targeting endpoint: not shown
Creating KMIP Adapter...
OK
Adapter ID                             Adapter Profile   Adapter Name   Adapter Description   
d6a00af1-277f-40e8-b33e-da3a68752209   native_1.0        myadapter      -   

$ export CERT=$(cat ./cert.pem)

$ ibmcloud kp kmip cert-create -n mycert -c "$CERT" -a myadapter
Targeting endpoint: not shown
Creating KMIP Client Certificate...
OK
Certificate ID                         Certificate Name   Created At   
3f550b96-86bc-44fe-8d1d-113e57067219   mycert             2024-03-20 22:08:03 +0000 UTC   

## Alternatively, you can also provide the filepath of the certificate

$ ibmcloud kp kmip cert-delete mycert -a myadapter
Targeting endpoint: not shown
Deleting KMIP Client Certificate...
OK

$ ibmcloud kp kmip cert-create -n mycert -c @./cert.pem -a myadapter
Targeting endpoint: not shown
Creating KMIP Client Certificate...
OK
Certificate ID                         Certificate Name   Created At   
a279fded-06d1-45a1-8a95-901f194fb937   mycert             2024-03-20 22:11:34 +0000 UTC   

kp-kmip-zertifikat

Ruft ein bestimmtes KMIP-Clientzertifikat ab. Ein Zertifikat kann anhand der ID oder des Namens abgerufen werden.

$ ibmcloud kp kmip cert CERTIFICATE_ID
    -a, --adapter       ADAPTER_NAME_OR_ID
    -i, --instance-id   INSTANCE_ID
    [-o, --output       OUTPUT]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp kmip cert.

Beispiel 1

Zertifikat nach Namen abrufen:

$ ibmcloud kp kmip cert mycert -a myadapter
Targeting endpoint: not shown
Getting KMIP Client Certificate...
OK
Certificate ID                         Certificate Name   Created At   
a279fded-06d1-45a1-8a95-901f194fb937   mycert             2024-03-20 22:11:34 +0000 UTC   

Beispiel 2

Zertifikat nach UUID im JSON-Format abrufen Der Inhalt des Zertifikats im PEM-Format wird im JSON-Body zurückgegeben.

$ ibmcloud kp kmip cert a279fded-06d1-45a1-8a95-901f194fb937  -a myadapter -o json
{
    "id": "a279fded-06d1-45a1-8a95-901f194fb937",
    "name": "mycert",
    "certificate": "-----BEGIN CERTIFICATE-----\nMIIFqzCCA5OgAwIBAgIUNXqfJMkAHOBHz6+ekETDlCqIEqUwDQYJKoZIhvcNAQEL\nBQAw
    ... CERTIFICATE CONTENTS ABBREVIATED ...
    Y6uFtHuQSpud0C\n-----END CERTIFICATE-----\n",
    "created_by": "IBMid-12345678",
    "created_at": "2024-03-20T22:11:34Z"
}

kp-kmip-Zertifikate

Auflisten aller KMIP-Clientzertifikate, die einem bestimmten KMIP-Adapter zugeordnet sind.

$ ibmcloud kp kmip certs
    -a, --adapter           ADAPTER_NAME_OR_ID
    [-n, --limit            LIMIT]
    [-s, --starting-offset  OFFSET]
    [-t, --total-count]
    -i, --instance-id       INSTANCE_ID
    [-o, --output           OUTPUT]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp kmip certs.

Beispiel 1

$ ibmcloud kp kmip certs -a myadapter
Targeting endpoint: not shown
Listing KMIP Client Certificates...
OK
Certificate ID                         Certificate Name   Created At   
a279fded-06d1-45a1-8a95-901f194fb937   mycert             2024-03-20 22:11:34 +0000 UTC   

kp kmip cert-löschen

Löscht ein KMIP-Clientzertifikat.

$ ibmcloud kp kmip cert-delete CERTIFICATE_ID
    -a, --adapter         ADAPTER_NAME_OR_ID
    -i, --instance-id     INSTANCE_ID

Beispiele

Dies sind Beispiele für kp kmip cert-delete

Beispiel 1

$ ibmcloud kp kmip cert-delete -a myadapter mycert
Targeting endpoint: not shown
Deleting KMIP Client Certificate...
OK

kp-kmip-Objekt

KMIP-Objekte werden durch Operationen erstellt, die über einen KMIP-Client mit dem KMIP-Protokoll ausgeführt werden. Sie können nicht über die API erstellt, aber gelesen und gelöscht werden. Objekte gehören zu einem einzelnen Adapter.

Objekte haben keinen Namen und müssen nach ID abgerufen werden.

$ ibmcloud kp kmip object OBJECT_ID
    -a, --adapter         ADAPTER_NAME_OR_ID
    -i, --instance-id     INSTANCE_ID
    [-o, --output         OUTPUT]

Beispiele

Dies sind Beispiele für kp kmip object

Beispiel 1

$ ibmcloud kp kmip object 12365a82-5404-4bd9-a4c7-2b628ee18304 -a testadapter
Targeting endpoint: not shown
Getting KMIP Object...
OK
Object ID                              Object Type     Object State   Created At                      Updated At   
12365a82-5404-4bd9-a4c7-2b628ee18304   Symmetric Key   Active         2024-03-14 21:01:45 +0000 UTC   2024-03-14 21:01:45 +0000 UTC   

Beispiel 2

Beim Abrufen eines KMIP-Objekts als JSON werden einige zusätzliche Attribute angezeigt, die in der normalen Tabellenansicht nicht sichtbar sind.

$ ibmcloud kp kmip object 12365a82-5404-4bd9-a4c7-2b628ee18304 -a testadapter -o json
{
    "id": "12365a82-5404-4bd9-a4c7-2b628ee18304",
    "kmip_object_type": 2,
    "state": 2,
    "created_by_kmip_client_cert_id": "531c18f3-4e37-447e-a7e0-e8676407bb75",
    "created_by": "IBMid-123456",
    "created_at": "2024-03-14T21:01:45Z",
    "updated_by_kmip_client_cert_id": "531c18f3-4e37-447e-a7e0-e8676407bb75",
    "updated_by": "IBMid-123456",
    "updated_at": "2024-03-14T21:01:45Z"
}

kp-kmip-Objekte

Listet KMIP-Objekte auf und zeigt Informationen zu ihrem Objekttyp und Objektstatus unter anderen Metadaten an. Verwenden Sie das Flag -f, um nur nach Objekten mit einem bestimmten Status zu filtern. Standardmäßig ist der Statusfilter auf 1,2,3,4 gesetzt.

Die Zahlen entsprechen den Objektstatus wie folgt:

  • Voraktiv = 1
  • Aktiv = 2
  • Inaktiviert = 3
  • Gefährdet = 4
  • Gelöscht = 5
  • Zerstört kompromittiert = 6

Siehe KMIP State Enumeration.

ibmcloud kp kmip objects
    -a, --adapter           ADAPTER_NAME_OR_ID
    [-n, --limit            LIMIT]
    [-s, --starting-offset  OFFSET]
    [-t, --total-count]
    -i, --instance-id       INSTANCE_ID
    [-o, --output           OUTPUT]

Beispiele

Die folgenden Beispiele veranschaulichen den Befehl kp kmip objects.

Beispiel 1

$ ibmcloud kp kmip objects -a myadapter
Targeting endpoint: not shown
Listing KMIP Objects...
OK
Object ID                              Object Type     Object State   Created At                      Updated At   
00196c59-c5c2-42d8-9729-703cd0389f60   Symmetric Key   Compromised    2024-03-14 20:47:54 +0000 UTC   2024-03-14 20:47:54 +0000 UTC   
02f1043c-0494-4399-82af-5395a14b019f   Symmetric Key   Pre-Active     2024-03-14 20:58:06 +0000 UTC   2024-03-14 20:58:06 +0000 UTC   
08082ff4-821b-4689-83ec-15cac5bd1939   Symmetric Key   Pre-Active     2024-02-22 00:10:46 +0000 UTC   2024-02-22 00:11:23 +0000 UTC   
0c1ea28d-dfaa-404a-b9c4-fcdc3f5d8b02   Symmetric Key   Deactivated    2024-03-14 21:05:48 +0000 UTC   2024-03-14 21:05:48 +0000 UTC   
10b49b05-0101-4234-927b-20a3356da291   Symmetric Key   Pre-Active     2024-03-14 21:26:54 +0000 UTC   2024-03-14 21:26:54 +0000 UTC   
12365a82-5404-4bd9-a4c7-2b628ee18304   Symmetric Key   Active         2024-03-14 21:01:45 +0000 UTC   2024-03-14 21:01:45 +0000 UTC

Beispiel 2

Mit dem Flag -f können Sie nach Objekten mit einem bestimmten Status filtern. Verwenden Sie Kommas, um mehrere Status anzugeben.

$ ibmcloud kp kmip objects -a testadapter -f 5,6
Targeting endpoint: not shown
Listing KMIP Objects...
OK
Object ID                              Object Type     Object State            Created At                      Updated At   
03d38805-2bb2-4aa0-bbf3-dc4a6d5d0475   Symmetric Key   Destroyed               2024-03-14 20:47:58 +0000 UTC   2024-03-14 20:47:58 +0000 UTC   
08c94f34-0100-4331-b759-5937ed5b1228   Symmetric Key   Destroyed               2024-03-14 20:46:38 +0000 UTC   2024-03-14 20:46:38 +0000 UTC   
1a13e112-41f8-4d52-be08-a0946b8c22fa   Symmetric Key   Destroyed Compromised   2024-03-14 20:58:20 +0000 UTC   2024-03-14 20:58:20 +0000 UTC   

kp kmip objekt-löschen

Löschen Sie ein KMIP-Objekt. Nur Objekte mit dem Status "Aktiv" oder "Nicht gelöscht" können erfolgreich gelöscht werden.

$ ibmcloud kp kmip object-delete OBJECT_ID
    -a, --adapter ADAPTER_NAME_OR_ID
    -i, --instance-id INSTANCE_ID
    [-f, --force]
    [-y, --skip-confirm]

Beispiele

Dies sind Beispiele für kp kmip object-delete

Beispiel 1

$ ibmcloud kp kmip object-delete 9b2f5af5-3534-4f02-8836-f89af37c4351 -a testadapter
Targeting endpoint: not shown
Deleting KMIP Object...
OK

kp-Krypto-Einheit

Mit dem Befehl kp crypto-unit können Sie Ihre Kryptoeinheiten verwalten. Beachten Sie, dass dieser Befehl für sich genommen nichts bewirkt. Sie müssen einen der Unterbefehle zusammen mit ihm verwenden.

NAME:
  -ibmcloud key-protect crypto-unit - Manage crypto units

USAGE:
  ibmcloud key-protect crypto-unit command [arguments...] [command options]

COMMANDS:
  claim        Claim crypto unit(s)
  master-key   Commands to manage Master Keys (MKs) of crypto unit(s)
  master-keys  List the MKs uploaded to crypto unit(s)
  sig-key      Generate a signature key file compatible for use as a crypto unit user credential
  user         Manage users in crypto unit(s)
  users        List users in crypto unit(s)
  zeroize      Zeroize a crypto unit
  help, h      Show help

Enter 'ibmcloud key-protect crypto-unit help [command]' for more information about a command.

Wenn Sie Probleme mit dem Befehl kp crypto-unit haben, lesen Sie den Abschnitt Fehlerbehebung.

zeroize

Es wird dringend davon abgeraten, Ihre Kryptoeinheiten auf Null zu setzen, sobald Sie Schlüssel erstellt oder Schlüsseloperationen durchgeführt haben. Wenn nach diesem Zeitpunkt eine Nullsetzung erforderlich ist, müssen alle Schlüssel gelöscht und bereinigt werden. Beachten Sie, dass es eine vierstündige Wartezeit gibt, bevor ein gelöschter Schlüssel bereinigt werden kann.

NAME:
  zeroize - Zeroize a crypto unit

USAGE:
  zeroize --id CRYPTO_UNIT_ID

OPTIONS:
  --id value                     Required. The ID of the crypto unit to zeroize

claim

ibmcloud kp krypto-unit anspruch

NAME:
  claim - Claim crypto unit(s)

USAGE:
  claim --credential ADMIN_KEY_FILE

OPTIONS:
  --credential value  Required. Path to file containing signature key that will be associated with the user. Must be between 1 and 255 characters. Do not include file passphrase
  --ids strings         Optional. List of crypto unit IDs to target, can be provided as a comma-separated list, or repeating the flag. If omitted, all crypto units will be targeted

master-key

NAME:
  ibmcloud key-protect crypto-unit master-key - Commands to manage Master Keys (MKs) of crypto unit(s)

USAGE:
  ibmcloud key-protect crypto-unit master-key command [arguments...] [command options]

COMMANDS:
  generate   Generate Master Key (MK) material. This command does not store the MK material in crypto unit used to generate it. Use `crypto-unit master-key import` to upload an MK to a crypto unit
  import     Import a Master Key (MK) to crypto unit(s)
  help, h    Show help

master-key generate

NAME:
  generate - Generate Master Key (MK) material. This command does not store the MK material in crypto unit used to generate it. Use `crypto-unit master-key import` to upload an MK to a crypto unit

USAGE:
  generate --keyshare-files KEYSHARE_FILES --keyshare-minimum KEYSHARE_MINIMUM --algo ALGO --key-name KEYNAME --cu CRYPTO_UNITS

OPTIONS:
  --algo value              Required. Algorithm that generated MK will be compatible with. Only AES-256 is supported
  --auth value              Credentials to use for authenticating request(s) sent to crypto unit(s). Format: '[{"myUsername": "/path/to/signature.key#filepassphrase"}]' or '@/path/to/auth.json'. Omit # to be prompted to enter file passphrase. --auth and --cu are mutually exclusive
  --cu value                Crypto unit(s) for the request to target and credentials to submit request with. Format: '[{"CryptoUnitId": "fadedbee-0000-0000-0000-1234567890ab", "Auth": [{"ADMIN": "/path/to/signature.key#filepassphrase"}]}]' or '@/path/to/cu.json'. Omit # to be prompted to enter file passphrase. --auth and --cu are mutually exclusive
  --key-name value          Required. MK name. Must be between 1 and 8 characters
  --keyshare-files value    Required. Array specifying file paths to write MK key share files to. Format: '["file1.key#filepwd1", "file2.key#filepwd2"]'. File path must be 1-255 characters. Passphrase must be between 6 and 255 characters. Omit # to be prompted to enter file passphrase.
  --keyshare-minimum value  Required. Number of key shares needed to reconstruct the MK. Must be between 2 and 255 and less than or equal to the number of keyshare files

master-key import

NAME:
  import - Import a Master Key (MK) to crypto unit(s)

USAGE:
  import --keyshare-files KEYSHARE_FILES --auth AUTH

OPTIONS:
  --auth value            Credentials to use for authenticating request(s) sent to crypto unit(s). Format: '[{"myUsername": "/path/to/signature.key#filepassphrase"}]' or '@/path/to/auth.json'. Omit # to be prompted to enter file passphrase. --auth and --cu are mutually exclusive
  --cu value              Crypto unit(s) for the request to target and credentials to submit request with. Format: '[{"CryptoUnitId": "fadedbee-0000-0000-0000-1234567890ab", "Auth": [{"ADMIN": "/path/to/signature.key#filepassphrase"}]}]' or '@/path/to/cu.json'. Omit # to be prompted to enter file passphrase. --auth and --cu are mutually exclusive
  --keyshare-files value  Required. Array specifying file paths to MK key share files. Format: '["file1.key#filepwd1", "file2.key#filepwd2"]'. File path must be 1-255 characters. Passphrase must be between 6 and 255 characters. Omit # to be prompted to enter file passphrase.

master-keys

NAME:
  master-keys - List the MKs uploaded to crypto unit(s)

USAGE:
  master-keys [--cu CRYPTO_UNITS]

OPTIONS:
  --cu value  Optional. Crypto unit(s) for the request to target and credentials to submit request with. Format: '[{"CryptoUnitId": "fadedbee-0000-0000-0000-1234567890ab", "Auth": [{"ADMIN": "/path/to/signature.key#filepassphrase"}]}]' or '@/path/to/cu.json'. Omit # to be prompted to enter file passphrase. --auth and --cu are mutually exclusive. If omitted, lists MKs in all crypto units of the instance.

sig-key

NAME:
  ibmcloud key-protect crypto-unit sig-key - Generate a signature key file compatible for use as a crypto unit user credential

USAGE:
  ibmcloud key-protect crypto-unit sig-key command [arguments...] [command options]

COMMANDS:
  generate   Generate a signature key file compatible for use as a crypto unit user credential
  help, h    Show help

Enter 'ibmcloud key-protect crypto-unit sig-key help [command]' for more information about a command.

sig-key generate

NAME:
  generate - Generate a signature key file compatible for use as a crypto unit user credential

USAGE:
  generate --file FILE --passphrase PASSWORD --algo RSA-2048

OPTIONS:
  --algo value      The algorithm type used to generate the signature key. Only RSA-2048 is supported
  --file value      Required. The file path to write the signature key to. Must be between 1 and 255 characters
  --passphrase value                 --passphrase string   Optional passphrase used to encrypt the signature key file. Provide "-" to prompt for password

user

NAME:
  ibmcloud key-protect crypto-unit user - Manage users in crypto unit(s)

USAGE:
  ibmcloud key-protect crypto-unit user command [arguments...] [command options]

COMMANDS:
  add       Add new user to crypto unit(s)
  remove    Remove user from crypto unit
  help, h   Show help

Enter 'ibmcloud key-protect crypto-unit user help [command]' for more information about a command.

user-add

NAME:
  add - Add new user to crypto unit(s)

USAGE:
  add --type TYPE --name NAME --credential CREDENTIAL --auth AUTH

OPTIONS:
  --auth value          Credentials to use for authenticating request(s) sent to crypto unit(s). Format: '[{"myUsername": "/path/to/signature.key#filepassphrase"}]' or '@/path/to/auth.json'. Omit # to be prompted to enter file passphrase. --auth and --cu are mutually exclusive
  --credential value    Required. Path to file containing signature key that will be associated with the user. Must be between 1 and 255 characters. Do not include file passphrase
  --cu value            Crypto unit(s) for the request to target and credentials to submit request with. Format: '[{"CryptoUnitId": "fadedbee-0000-0000-0000-1234567890ab", "Auth": [{"ADMIN": "/path/to/signature.key#filepassphrase"}]}]' or '@/path/to/cu.json'. Omit # to be prompted to enter file passphrase. --auth and --cu are mutually exclusive
  --name value        Required. Name of the user to add. Must be between 1 and 255 characters
  --type value        Required. Type of user to add. Allowable values are: admin, kmsCryptoUser

user-remove

NAME:
  remove - Remove user from crypto unit

USAGE:
  remove -u USER --cu CRYPTO_UNITS

OPTIONS:
  --cu value              Crypto unit(s) for the request to target and credentials to submit request with. Format: '[{"CryptoUnitId": "fadedbee-0000-0000-0000-1234567890ab", "Auth": [{"ADMIN": "/path/to/signature.key#filepassphrase"}]}]' or '@/path/to/cu.json'. Omit # to be prompted to enter file passphrase. --auth and --cu are mutually exclusive
  -u value, --user value  Required. The username of the user to remove from crypto-unit(s)

users

NAME:
  users - List users in crypto unit(s)

USAGE:
  users [--cu CRYPTO_UNITS]

OPTIONS:
  --cu value  Optional. Crypto unit(s) for the request to target. Format: '[{"CryptoUnitId": "fadedbee-0000-0000-0000-1234567890ab"}]' or '@/path/to/cu.json'. If omitted, lists users in all crypto units of the instance.

kp crypto-units

Mit dem Befehl kp crypto-units können Sie Ihre Kryptoeinheiten auflisten.


NAME:
  ibmcloud kp - List crypto units allocated to instance

USAGE:
  ibmcloud crypto-units

COMMANDS:

Additional help topics:

Use "export KP_INSTANCE_ID=TARGET_INSTANCE_ID" or "ibmcloud kp command [arguments...] [command options] -i TARGET_INSTANCE_ID" to set a target instance ID.

Nächste Schritte

Suchen Sie nach zugehörigen Operationen in der API-Dokumentation.