Verwalten eines verwalteten HSM über die Azure-Befehlszeilenschnittstelle

Hinweis

Von Key Vault werden zwei Arten von Ressourcen unterstützt: Tresore und verwaltete HSMs. In diesem Artikel werden verwaltete HSMs behandelt. Informationen zum Verwalten eines Tresors finden Sie unter Verwalten von Key Vault mit der Azure CLI.

Eine Übersicht über verwaltete HSMs finden Sie unter Was ist verwaltetes HSM von Azure Key Vault? (Vorschauversion).

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Voraussetzungen

Damit Sie die in diesem Artikel aufgeführten Schritte ausführen können, benötigen Sie Folgendes:

Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.

Starten von Azure Cloud Shell:

Option Beispiel/Link
Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Durch die Auswahl von Ausprobieren wird der Code oder Befehl nicht automatisch in Cloud Shell kopiert. Screenshot that shows an example of Try It for Azure Cloud Shell.
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. Button to launch Azure Cloud Shell.
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. Screenshot that shows the Cloud Shell button in the Azure portal

So verwenden Sie Azure Cloud Shell:

  1. Starten Sie Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.

  3. Fügen Sie den Code oder Befehl mit STRG+UMSCHALT+V unter Windows und Linux oder CMD+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.

  4. Drücken Sie die EINGABETASTE, um den Code oder Befehl auszuführen.

Anmelden bei Azure

Geben Sie Folgendes ein, um sich über die Befehlszeilenschnittstelle bei Azure anzumelden:

az login

Weitere Informationen zu den Anmeldeoptionen für die Befehlszeilenschnittstelle finden Sie unter Anmelden mit der Azure CLI.

Hinweis

In allen nachfolgenden Befehlen werden zwei Verwendungsmethoden gezeigt: Eine verwendet die Parameter --hsm-name und --name (für den Schlüsselnamen), und eine andere verwendet den Parameter --id, um die Angabe der gesamten URL (ggf. einschließlich des Schlüsselnamens) zu ermöglichen. Letztere Methode ist hilfreich, wenn der Aufrufer (ein Benutzer oder eine Anwendung) keinen Lesezugriff auf die Steuerungsebene und nur eingeschränkten Zugriff auf die Datenebene hat.

Hinweis

Einige Interaktionen mit Schlüsseldaten erfordern bestimmte lokale RBAC-Berechtigungen. Eine vollständige Liste der integrierten lokalen RBAC-Rollen und -Berechtigungen finden Sie unter Integrierte Rollen der lokalen RBAC für verwaltete HSMs. Informationen zum Zuweisen dieser Berechtigungen zu einem Benutzer finden Sie unter Schützen des Zugriffs auf Ihre verwalteten HSMs.

Erstellen eines HSM-Schlüssels

Hinweis

Generierte oder in verwaltete HSMs importierte Schlüssel können nicht exportiert werden. In den empfohlenen bewährten Methoden finden Sie Informationen zur Schlüsselportabilität und Dauerhaftigkeit.

Verwenden Sie den Befehl az keyvault key create, um einen Schlüssel zu erstellen.

Erstellen eines RSA-Schlüssels

Das folgende Beispiel zeigt, wie Sie einen RSA-Schlüssel mit 3072 Bit erstellen, der nur für Vorgänge (--ops) vom Typ wrapKey, unwrapKey verwendet wird.

az keyvault key create --hsm-name ContosoMHSM --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

## OR
# Note the key name (myrsakey) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

Beachten Sie, dass der Vorgang get nur den öffentlichen Schlüssel und Schlüsselattribute zurückgibt. Er gibt nicht den privaten Schlüssel (im Falle eines asymmetrischen Schlüssels) oder das Schlüsselmaterial (im Falle eines symmetrischen Schlüssels) zurück.

Erstellen eines EC-Schlüssels

Das folgende Beispiel zeigt, wie Sie einen EC-Schlüssel mit P-256-Kurve erstellen, der nur für Vorgänge (--ops) vom Typ Signieren und Überprüfen verwendet wird und über zwei Tags (usage und appname) verfügt. Mithilfe von Tags können dem Schlüssel zusätzliche Metadaten für die Nachverfolgung und Verwaltung hinzugefügt werden.

az keyvault key create --hsm-name ContosoMHSM --name myec256key --ops sign verify  --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256

## OR
# Note the key name (myec256key) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myec256key --ops sign verify  --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256

Erstellen eines symmetrischen 256-Bit-Schlüssels

Das folgende Beispiel zeigt, wie Sie einen symmetrischen Schlüssel mit 256 Bit erstellen, der nur für Vorgänge (--ops) vom Typ Verschlüsseln und Entschlüsseln verwendet wird.

az keyvault key create --hsm-name ContosoMHSM --name myaeskey --ops encrypt decrypt  --tags --kty oct-HSM --size 256

## OR
# Note the key name (myaeskey) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt  --tags ‘usage=signing] appname=myapp’ --kty oct-HSM --size 256

Anzeigen von Schlüsselattributen und Tags

Verwenden Sie den Befehl az keyvault key show, um Attribute, Versionen und Tags für einen Schlüssel anzuzeigen.

az keyvault key show --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key show --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey

Auflisten von Schlüsseln

Verwenden Sie den Befehl az keyvault key list, um alle Schlüssel in einem verwalteten HSM aufzulisten.

az keyvault key list --hsm-name ContosoHSM

## OR
# use full URI

az keyvault key list --id https://ContosoMHSM.managedhsm.azure.net/

Löschen eines Schlüssels

Verwenden Sie den Befehl az keyvault key delete, um einen Schlüssel aus einem verwalteten HSM zu löschen. Beachten Sie, dass vorläufiges Löschen immer aktiviert ist. Ein gelöschter Schlüssel bleibt daher im gelöschten Zustand und kann bis zum Ablauf der Aufbewahrungsdauer wiederhergestellt werden. Danach wird der Schlüssel bereinigt (endgültig gelöscht) und kann nicht mehr wiederhergestellt werden.

az keyvault key delete --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key delete --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey

Auflisten gelöschter Schlüssel

Verwenden Sie den Befehl az keyvault key list-deleted, um alle Schlüssel im gelöschten Zustand in Ihrem verwalteten HSM aufzulisten.

az keyvault key list-deleted --hsm-name ContosoHSM

## OR
# use full URI

az keyvault key list-deleted --id https://ContosoMHSM.managedhsm.azure.net/

Wiederherstellen eines gelöschten Schlüssels (Rückgängigmachen des Löschvorgangs)

Verwenden Sie den Befehl az keyvault key list-deleted, um alle Schlüssel im gelöschten Zustand in Ihrem verwalteten HSM aufzulisten. Wenn Sie bei der Schlüsselwiederherstellung einen gelöschten Schlüssel mithilfe des Parameters „--id“ wiederherstellen (also den Löschvorgang rückgängig machen) möchten, müssen Sie sich den Wert recoveryId des gelöschten Schlüssels notieren, den Sie durch Ausführen des Befehls az keyvault key list-deleted erhalten haben.

az keyvault key recover --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey

Bereinigen (endgültiges Löschen) eines Schlüssels

Verwenden Sie den Befehl az keyvault key purge, um einen Schlüssel zu bereinigen (endgültig zu löschen).

Hinweis

Sollte für das verwaltete HSM der Löschschutz aktiviert sein, ist der Löschvorgang nicht zulässig. Der Schlüssel wird nach Ablauf des Aufbewahrungszeitraums automatisch bereinigt.

az keyvault key purge --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key purge --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey

Erstellen einer Schlüsselsicherung

Verwenden Sie az keyvault key backup, um eine Schlüsselsicherung zu erstellen. Bei der Sicherungsdatei handelt es sich um ein verschlüsseltes Blob, das kryptografisch an die Sicherheitsdomäne des Quell-HSM gebunden ist. Sie kann nur in HSMs mit der gleichen Sicherheitsdomäne wiederhergestellt werden. Weitere Informationen zur Sicherheitsdomäne finden Sie hier.

az keyvault key backup --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup

## OR
# Note the key name (myaeskey) in the URI

az keyvault key backup --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey  --file myrsakey.backup

Wiederherstellen eines einzelnen Schlüssels aus einer Sicherung

Verwenden Sie az keyvault key restore, um einen einzelnen Schlüssel wiederherzustellen. Das Quell-HSM, in dem die Sicherung erstellt wurde, muss über die gleiche Sicherheitsdomäne verfügen wie das Ziel-HSM, in dem der Schlüssel wiederhergestellt wird.

Hinweis

Die Wiederherstellung ist nicht erfolgreich, wenn ein gleichnamiger Schlüssel im aktiven oder gelöschten Zustand vorhanden ist.

az keyvault key restore --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup

## OR
# Note the key name (myaeskey) in the URI

az keyvault key restore --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup

Importieren eines Schlüssels aus einer Datei

Verwenden Sie den Befehl az keyvault key import, um einen Schlüssel (nur RSA und EC) aus einer Datei zu importieren. Die Zertifikatdatei muss über einen privaten Schlüssel verfügen und die PEM-Codierung verwenden (gemäß Definition in den RFCs 1421, 1422, 1423, 1424).

az keyvault key import --hsm-name ContosoHSM --name myrsakey --pem-file mycert.key --password 'mypassword'

## OR
# Note the key name (myaeskey) in the URI

az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --pem-file mycert.key --password 'mypassword'

Informationen zum Importieren eines Schlüssels aus Ihrem lokalen HSM in ein verwaltetes HSM finden Sie unter Importieren von durch HSM geschützten Schlüsseln in verwaltetes HSM (BYOK).

Nächste Schritte