Freigeben über


Verwalten von Schlüsseln in einem Azure verwalteten HSM mithilfe des Azure CLI

Hinweis

Key Vault unterstützt zwei Arten von Ressourcen: Vaults und verwaltete HSMs. In diesem Artikel werden verwaltete HSMs behandelt. Informationen zum Verwalten eines Tresors finden Sie unter Quickstart: Erstellen eines Schlüsseltresors mithilfe der Azure CLI.

Eine Übersicht über das verwaltete HSM finden Sie unter Was ist verwaltetes HSM?.

Voraussetzungen

Ein Azure-Abonnement ist erforderlich. Falls Sie kein Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Außerdem benötigen Sie:

Azure Cloud Shell

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

So starten Sie Azure Cloud Shell:

Option Beispiel/Link
Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Wenn Sie Try It auswählen, wird der Code oder befehl nicht automatisch in Cloud Shell kopiert. Screenshot mit einem Beispiel für
Wechseln Sie zu https://shell.azure.com, oder wählen Sie die Schaltfläche Launch Cloud Shell aus, um Cloud Shell in Ihrem Browser zu öffnen. Button zum Starten von Azure Cloud Shell.
Wählen Sie die Schaltfläche Cloud Shell auf der Menüleiste oben rechts im Portal Azure Portal aus. Screenshot mit der Schaltfläche Cloud Shell im 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 in die Cloud Shell Sitzung ein, indem Sie Ctrl+Shift+V auf Windows und Linux auswählen, oder indem Sie Cmd+Shift+V unter macOS auswählen.

  4. Wählen Sie Geben Sie ein, um den Code oder Befehl auszuführen.

Anmelden bei Azure

Um sich mit der CLI bei Azure anzumelden, geben Sie Folgendes ein:

az login

Weitere Informationen zu Authentifizierungsoptionen über die CLI finden Sie unter Sign in with Azure CLI.

Hinweis

Alle folgenden Befehle zeigen zwei Verwendungsmethoden an. Eine Methode verwendet die --hsm-name Parameter und --name (für Schlüsselnamen). Die andere Methode verwendet den --id Parameter, in dem Sie die gesamte URL einschließlich des Schlüsselnamens angeben können. 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

Für einige Interaktionen mit Schlüsselmaterial sind bestimmte lokale RBAC-Berechtigungen für verwaltetes HSM erforderlich. Eine vollständige Liste der vordefinierten lokalen RBAC-Rollen und -Berechtigungen für verwaltete HSMs finden Sie unter vordefinierten Rollen für lokale RBAC von verwalteten HSMs. Informationen zum Zuweisen dieser Berechtigungen zu einem Benutzer finden Sie unter "Sicherer Zugriff auf Ihre verwalteten HSMs".

Erstellen eines HSM-Schlüssels

Hinweis

Sie können keinen Schlüssel exportieren, der generiert oder in verwaltetes HSM importiert wird. Die einzige Ausnahme von der Nichtexportregel besteht darin, wenn Sie einen Schlüssel mit einer bestimmten Schlüsselfreigaberichtlinie erstellen. Mit dieser Richtlinie kann der Schlüssel nur in vertrauenswürdige vertrauliche Computerumgebungen (sichere Enklaven) exportiert werden, die Sie explizit definieren. Diese eingeschränkte Exportfunktion wurde für bestimmte sichere Computerszenarien entwickelt und ist nicht mit einem allgemeinen Schlüsselexport identisch. Empfohlene bewährte Methoden für wichtige Portabilität und Haltbarkeit finden Sie im verknüpften Artikel.

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

Erstellen eines RSA-Schlüssels

In diesem Beispiel wird gezeigt, wie Sie einen 3072-Bit-RSA-Schlüssel erstellen, der nur für wrapKey- und UnwrapKey-Vorgänge (--ops) verwendet wird.

az keyvault key create --hsm-name <hsm-name> --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://<hsm-name>.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

Der get Vorgang gibt nur den öffentlichen Schlüssel und die Schlüsselattribute zurück. Er gibt nicht den privaten Schlüssel (wenn ein asymmetrischer Schlüssel) oder das Schlüsselmaterial (wenn ein symmetrischer Schlüssel) zurück.

Erstellen eines EC-Schlüssels

Das folgende Beispiel zeigt, wie Sie einen EC-Schlüssel mit der P-256-Kurve erstellen. Der Schlüssel dient nur zum Signieren und Überprüfen von Vorgängen (-ops) und hat zwei Tags, Verwendung und App-Name. Verwenden Sie Tags, um dem Schlüssel zusätzliche Metadaten zum Nachverfolgen und Verwalten hinzuzufügen.

az keyvault key create --hsm-name <hsm-name> --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://<hsm-name>.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

In diesem Beispiel wird gezeigt, wie Sie einen symmetrischen 256-Bit-Schlüssel erstellen, der nur für Verschlüsselungs- und Entschlüsselungsvorgänge (--ops) dient.

az keyvault key create --hsm-name <hsm-name> --name myaeskey --ops encrypt decrypt  --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256

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

az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt  --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256

Anzeigen von Schlüsselattributen und Tags

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

az keyvault key show --hsm-name <hsm-name> --name myrsakey

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

az keyvault key show --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey

Auflisten von Schlüsseln

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

az keyvault key list --hsm-name <hsm-name>

## OR
# use full URI

az keyvault key list --id https://<hsm-name>.managedhsm.azure.net/

Löschen eines Schlüssels

Verwenden Sie den az keyvault key delete Befehl, um einen Schlüssel aus einem verwalteten HSM zu löschen. Das Softlöschen ist immer aktiviert. Daher bleibt ein gelöschter Schlüssel im gelöschten Zustand, und Sie können ihn wiederherstellen, bis die Anzahl der Aufbewahrungstage vergangen ist. Danach wird der Schlüssel ohne Wiederherstellung gelöscht (endgültig gelöscht).

az keyvault key delete --hsm-name <hsm-name> --name myrsakey

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

az keyvault key delete --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey

Auflisten gelöschter Schlüssel

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

az keyvault key list-deleted --hsm-name <hsm-name>

## OR
# use full URI

az keyvault key list-deleted --id https://<hsm-name>.managedhsm.azure.net/

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

Verwenden Sie den az keyvault key list-deleted Befehl, um alle Schlüssel im gelöschten Zustand in Ihrem verwalteten HSM auflisten. Verwenden Sie den --id Parameter, um einen Schlüssel wiederherzustellen (rückgängig zu machen). Sie müssen den recoveryId Wert des aus dem az keyvault key list-deleted Befehl abgerufenen gelöschten Schlüssels notieren.

az keyvault key recover --hsm-name <hsm-name> --name myrsakey

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

az keyvault key recover --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey

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

Verwenden Sie den az keyvault key purge Befehl, um eine Taste zu löschen (endgültig zu löschen).

Hinweis

Wenn der Löschschutz für das verwaltete HSM aktiviert ist, ist der Bereinigungsvorgang nicht erlaubt. Der Schlüssel wird beim Bestehen des Aufbewahrungszeitraums automatisch gelöscht.

az keyvault key purge --hsm-name <hsm-name> --name myrsakey

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

az keyvault key purge --id https://<hsm-name>.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 können sie nur in HSMs wiederherstellen, die dieselbe Sicherheitsdomäne verwenden. Weitere Informationen zur Sicherheitsdomäne finden Sie hier.

az keyvault key backup --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup

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

az keyvault key backup --id https://<hsm-name>.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 Sie die Sicherung erstellt haben, muss dieselbe Sicherheitsdomäne wie das Ziel-HSM aufweisen, in dem Sie den Schlüssel wiederherstellen.

Hinweis

Der Wiederherstellungsvorgang schlägt fehl, wenn ein Schlüssel mit demselben Namen im aktiven oder gelöschten Zustand vorhanden ist.

az keyvault key restore --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup

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

az keyvault key restore --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup

Importieren eines Schlüssels aus einer Datei

Verwenden Sie den az keyvault key import Befehl, 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 (wie in RFCs 1421, 1422, 1423, 1424 definiert).

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

## OR
# Note the key name (<key-name>) in the URI

az keyvault key recover --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/<key-name> --pem-file mycert.key --password 'mypassword'

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

Nächste Schritte