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:
- Ein Abonnement für Microsoft Azure. Falls Sie über kein Azure-Abonnement verfügen, können Sie sich für eine kostenlose Testversion registrieren.
- Azure-Befehlszeilenschnittstelle ab Version 2.25.0 Führen Sie
az --version
aus, um die Version zu ermitteln. Installations- und Upgradeinformationen finden Sie bei Bedarf unter Installieren von Azure CLI. - Ein verwaltetes HSM in Ihrem Abonnement. Weitere Informationen finden Sie unter Schnellstart: Bereitstellen und Aktivieren eines verwalteten HSM mithilfe der Azure-Befehlszeilenschnittstelle. Dort erfahren Sie, wie Sie ein verwaltetes HSM bereitstellen und aktivieren.
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. | |
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. | |
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. |
So verwenden Sie Azure Cloud Shell:
Starten Sie Cloud Shell.
Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.
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.
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 --pem-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
- Die vollständige Referenz zur Azure CLI für Key Vault-Befehle finden Sie in der Referenz für die Schlüsseltresor-CLI.
- Eine Programmierreferenz finden Sie im Entwicklerhandbuch für Azure Key Vault.
- Weitere Informationen zur Rollenverwaltung für verwaltetes HSM finden Sie hier.
- Weitere Informationen zu bewährten Methoden für verwaltetes HSM finden Sie hier.