Freigeben über


Verwalten von Key Vault mithilfe der Azure CLI

In diesem Artikel wird beschrieben, wie Sie mit Azure Key Vault mithilfe der Azure CLI beginnen können zu arbeiten. Informationen finden Sie unter:

  • So erstellen Sie einen gehärteten Container (einen Tresor) in Azure
  • Hinzufügen eines Schlüssels, Geheimnisses oder Zertifikats zum Schlüsseltresor
  • Registrieren einer Anwendung mit der Microsoft Entra-ID
  • Autorisieren einer Anwendung für die Verwendung eines Schlüssels oder geheimen Schlüssels
  • Festlegen von erweiterten Zugriffsrichtlinien für Schlüsseltresore
  • Arbeiten mit Hardwaresicherheitsmodulen (HSMs)
  • Löschen des Schlüsseltresors und der zugeordneten Schlüssel und Geheimnisse
  • Verschiedene plattformübergreifende Azure-Befehlszeilenschnittstellenbefehle

Azure Key Vault ist in den meisten Regionen verfügbar. Weitere Informationen finden Sie auf der Seite Preisübersicht für Schlüsseltresor.

Hinweis

Dieser Artikel enthält keine Anweisungen zum Schreiben der Azure-Anwendung, die einer der Schritte enthält. Hier erfahren Sie, wie Sie eine Anwendung autorisieren, um einen Schlüssel oder geheimen Schlüssel im Schlüsseltresor zu verwenden.

Eine Übersicht über Azure Key Vault finden Sie unter Was ist Azure Key Vault?) Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Voraussetzungen

Für die Verwendung der Azure CLI-Befehle in diesem Artikel 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 CLI, Version 2.0 oder höher. Informationen zum Installieren der neuesten Version finden Sie unter Installieren der Azure CLI.
  • Eine Anwendung, die für die Verwendung des Schlüssels oder Kennworts konfiguriert wird, den Sie in diesem Artikel erstellen. Eine Beispielanwendung ist im Microsoft Download Center verfügbar. Anweisungen finden Sie in der enthaltenen Readme-Datei.

Anfordern von Hilfe zur plattformübergreifenden Azure-Command-Line-Schnittstelle

In diesem Artikel wird davon ausgegangen, dass Sie mit der Befehlszeilenschnittstelle (Bash, Terminal, Eingabeaufforderung) vertraut sind.

Der Parameter --help oder -h kann verwendet werden, um Hilfe für bestimmte Befehle anzuzeigen. Alternativ kann auch das Azure-Hilfeformat [Befehl] [Optionen] verwendet werden. Wenn Sie zweifeln, welche Parameter von einem Befehl benötigt werden, finden Sie Hilfe. Die folgenden Befehle geben beispielsweise alle dieselben Informationen zurück:

az account set --help
az account set -h

Sie können auch die folgenden Artikel lesen, um sich mit Azure Resource Manager in der plattformübergreifenden Command-Line Schnittstelle von Azure vertraut zu machen:

So erstellen Sie einen gehärteten Container (einen Tresor) in Azure

Tresore sind gesicherte Behälter, die durch Hardwaresicherheitsmodule unterstützt werden. Tresore zentralisieren die Speicherung von Anwendungsgeheimnissen und verringern so die Gefahr, dass Sicherheitsinformationen abhandenkommen. Key Vaults steuern und protokollieren den Zugriff auf alle darin gespeicherten Elemente. Azure Key Vault kann das Anfordern und Erneuern von TLS-Zertifikaten (Transport Layer Security) verarbeiten, wodurch die für eine robuste Zertifikatlebenszyklusverwaltungslösung erforderlichen Features bereitgestellt werden. In den nächsten Schritten erstellen Sie einen Tresor.

Verbinden Sie sich mit Ihren Abonnements

Verwenden Sie den folgenden Befehl, um sich interaktiv anzumelden:

az login

Um sich mit einem Organisationskonto anzumelden, können Sie Ihren Benutzernamen und Ihr Kennwort übergeben.

az login -u username@domain.com -p password

Wenn Sie mehr als ein Abonnement haben und angeben müssen, welche Abonnements sie verwenden sollen, geben Sie Folgendes ein, um die Abonnements für Ihr Konto anzuzeigen:

az account list

Geben Sie ein Abonnement mit dem Abonnementparameter an.

az account set --subscription <subscription name or ID>

Weitere Informationen zum Konfigurieren der plattformübergreifenden Azure-Command-Line-Schnittstelle finden Sie unter Installieren der Azure CLI.

Erstellen einer neuen Ressourcengruppe

Bei Verwendung von Azure Resource Manager werden alle zugehörigen Ressourcen innerhalb einer Ressourcengruppe erstellt. Sie können in einer vorhandenen Ressourcengruppe einen Schlüsseltresor erstellen. Wenn Sie eine neue Ressourcengruppe verwenden möchten, können Sie eine neue erstellen.

az group create -n "ContosoResourceGroup" -l "East Asia"

Der erste Parameter ist der Ressourcengruppenname, und der zweite Parameter ist der Speicherort. Um eine Liste aller möglichen Standorte zu erhalten, geben Sie Folgendes ein:

az account list-locations

Registrieren des Key Vault-Ressourcenanbieters

Möglicherweise wird der Fehler "Das Abonnement ist nicht registriert, um den Namespace 'Microsoft.KeyVault' zu verwenden", angezeigt, wenn Sie versuchen, einen neuen Schlüsseltresor zu erstellen. Wenn diese Meldung angezeigt wird, stellen Sie sicher, dass der Key Vault-Ressourcenanbieter in Ihrem Abonnement registriert ist. Dies ist ein einmaliger Vorgang für jedes Abonnement.

az provider register -n Microsoft.KeyVault

Erstellen eines Schlüsseltresors

Verwenden Sie den Befehl az keyvault create, um einen Schlüsseltresor zu erstellen. Dieses Skript weist drei obligatorische Parameter auf: einen Ressourcengruppennamen, einen Schlüsseltresornamen und den geografischen Standort.

Um einen neuen Tresor mit dem Namen ContosoKeyVault zu erstellen, geben Sie in der Ressourcengruppe ContosoResourceGroup, die sich am Standort Ostasien befindet, Folgendes ein:

az keyvault create --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --location "East Asia"

Die Ausgabe dieses Befehls zeigt die Eigenschaften des Schlüsseltresors, den Sie erstellt haben. Die zwei wichtigsten Eigenschaften sind diese:

  • name: Im Beispiel lautet der Name "ContosoKeyVault". Sie verwenden diesen Namen für andere Key Vault-Befehle.
  • vaultUri: Im Beispiel lautet der URI https://contosokeyvault.vault.azure.net. Anwendungen, die Ihren Tresor über die zugehörige REST-API nutzen, müssen diesen URI verwenden.

Ihr Azure-Konto ist jetzt autorisiert, Vorgänge in diesem Schlüsseltresor durchzuführen. Derzeit ist noch keine andere Person autorisiert.

Hinzufügen eines Schlüssels, Geheimnisses oder Zertifikats zum Schlüsseltresor

Wenn Sie möchten, dass Azure Key Vault einen softwaregeschützten Schlüssel für Sie erstellt, verwenden Sie den az key create Befehl.

az keyvault key create --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --protection software

Wenn Sie über einen vorhandenen Schlüssel in einer PEM-Datei verfügen, können Sie ihn in Azure Key Vault hochladen. Sie können den Schlüssel mit Software oder HSM schützen. In diesem Beispiel wird der Schlüssel aus der PEM-Datei importiert und mit Software geschützt, wobei das Kennwort "hVFkk965BuUv" verwendet wird:

az keyvault key import --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --pem-file "./softkey.pem" --pem-password "hVFkk965BuUv" --protection software

Sie können nun mithilfe des URI auf den Schlüssel verweisen, den Sie erstellt oder in Azure Key Vault hochgeladen haben. Verwenden Sie https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey, um immer die aktuelle Version abzurufen. Verwenden Sie https://<keyvault-name>.vault.azure.net/keys/<keyname>/<key-unique-id>, um diese bestimmte Version zu erhalten. Beispiel: https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87.

Fügen Sie dem Tresor einen Geheimschlüssel hinzu, der ein Kennwort namens SQLPassword ist und den Wert "hVFkk965BuUv" zu Azure Key Vaults aufweist.

az keyvault secret set --vault-name "ContosoKeyVault" --name "SQLPassword" --value "hVFkk965BuUv "

Verweisen Sie mithilfe des URI auf dieses Kennwort. Verwenden Sie https://ContosoVault.vault.azure.net/secrets/SQLPassword, um immer die aktuelle Version abzurufen, und https://<keyvault-name>.vault.azure.net/secret/<secret-name>/<secret-unique-id>, um diese bestimmte Version zu erhalten. Beispiel: https://ContosoVault.vault.azure.net/secrets/SQLPassword/90018dbb96a84117a0d2847ef8e7189d.

Importieren Sie ein Zertifikat mithilfe einer PEM- oder PFX-Datei in den Tresor.

az keyvault certificate import --vault-name "ContosoKeyVault" --file "c:\cert\cert.pfx" --name "ContosoCert" --password "hVFkk965BuUv"

Lassen Sie uns den Schlüssel, den geheimen Schlüssel oder das Zertifikat anzeigen, den Sie erstellt haben:

  • Geben Sie Folgendes ein, um Ihre Schlüssel anzuzeigen:
az keyvault key list --vault-name "ContosoKeyVault"
  • Geben Sie Folgendes ein, um Ihre Geheimnisse anzuzeigen:
az keyvault secret list --vault-name "ContosoKeyVault"
  • Um Zertifikate anzuzeigen, geben Sie Folgendes ein:
az keyvault certificate list --vault-name "ContosoKeyVault"

Registrieren einer Anwendung mit der Microsoft Entra-ID

Dieser Schritt wird in der Regel von einem Entwickler auf einem separaten Computer ausgeführt. Es ist nicht spezifisch für Azure Key Vault, sondern ist hier für das Bewusstsein enthalten. Um die App-Registrierung abzuschließen, müssen Sich Ihr Konto, der Tresor und die Anwendung im selben Azure-Verzeichnis befinden.

Anwendungen, die einen Schlüsseltresor verwenden, müssen sich mithilfe eines Tokens aus der Microsoft Entra-ID authentifizieren. Der Besitzer der Anwendung muss sie zuerst in Microsoft Entra registrieren. Am Ende der Registrierung erhält der Anwendungsbesitzer die folgenden Werte:

  • Eine Anwendungs-ID (auch bekannt als Microsoft Entra-Client-ID oder AppID)
  • Ein Authentifizierungsschlüssel (auch als freigegebener geheimer Schlüssel bezeichnet).

Die Anwendung muss beide Werte für die Microsoft Entra-ID darstellen, um ein Token abzurufen. Die Konfiguration einer Anwendung zum Abrufen eines Tokens hängt von der Anwendung ab. Für die Key Vault-Beispielanwendung legt der Anwendungsbesitzer diese Werte in der app.config Datei fest.

Für detaillierte Schritte zur Registrierung einer Anwendung bei Microsoft Entra ID sollten Sie die Artikel "Integrieren von Anwendungen mit Microsoft Entra ID", "Verwenden Sie das Portal, um eine Microsoft Entra-Anwendung und einen Dienstprinzipal zu erstellen, der auf Ressourcen zugreifen kann" und "Erstellen eines Azure-Dienstprinzipals mit der Azure CLI" lesen.

So registrieren Sie eine Anwendung in der Microsoft Entra-ID:

az ad sp create-for-rbac -n "MyApp" --password "hVFkk965BuUv" --role Contributor --scopes /subscriptions/<subscription id>
# If you don't specify a password, one will be created for you.

Autorisieren einer Anwendung für die Verwendung eines Schlüssels oder geheimen Schlüssels

Um die Anwendung für den Zugriff auf den Schlüssel oder geheimen Schlüssel im Tresor zu autorisieren, verwenden Sie den az keyvault set-policy Befehl.

Wenn Ihr Tresorname beispielsweise "ContosoKeyVault" lautet und Sie die Anwendung zum Entschlüsseln und Anmelden mit Schlüsseln in Ihrem Tresor autorisieren möchten, verwenden Sie den folgenden Befehl mit Ihrer Anwendungs-ID:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --key-permissions decrypt sign

Wenn Sie dieselbe Anwendung zum Lesen geheimer Schlüssel in Ihrem Tresor autorisieren möchten, geben Sie den folgenden Befehl ein:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --secret-permissions get

Festlegen von erweiterten Zugriffsrichtlinien für Schlüsseltresore

Verwenden Sie az keyvault update, um erweiterte Richtlinien für den Schlüsseltresor zu aktivieren.

Aktivieren von Key Vault für die Bereitstellung: Ermöglicht virtuellen Computern das Abrufen von Zertifikaten, die als geheime Schlüssel aus dem Tresor gespeichert sind.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-deployment "true"

Aktivieren Sie Key Vault für die Datenträgerverschlüsselung: Erforderlich, wenn Sie den Tresor für die Azure Disk-Verschlüsselung verwenden.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-disk-encryption "true"

Aktivieren Sie Key Vault für die Vorlagenbereitstellung: Ermöglicht dem Ressourcen-Manager, geheime Schlüssel aus dem Tresor abzurufen.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-template-deployment "true"

Arbeiten mit Hardwaresicherheitsmodulen (HSMs)

Zur zusätzlichen Sicherheit können Sie Schlüssel aus Hardwaresicherheitsmodulen (HARDWARE Security Modules, HSMs) importieren oder generieren, die die HSM-Grenze nie verlassen. Die HSMs werden FIPS 140 überprüft. Wenn diese Anforderung nicht für Sie gilt, überspringen Sie diesen Abschnitt, und wechseln Sie zum Löschen des Schlüsseltresors und der zugehörigen Schlüssel und geheimen Schlüssel.

Um diese HSM-geschützten Schlüssel zu erstellen, müssen Sie über ein Tresorabonnement verfügen, das HSM-geschützte Schlüssel unterstützt.

Wenn Sie den Keyvault erstellen, fügen Sie den Parameter "sku" hinzu:

az keyvault create --name "ContosoKeyVaultHSM" --resource-group "ContosoResourceGroup" --location "East Asia" --sku "Premium"

Sie können diesem Tresor softwaregeschützte Schlüssel (wie weiter oben gezeigt) und HSM-geschützte Schlüssel hinzufügen. Um einen HSM-geschützten Schlüssel zu erstellen, legen Sie den Zielparameter auf "HSM" fest:

az keyvault key create --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --protection "hsm"

Sie können den folgenden Befehl verwenden, um einen Schlüssel aus einer PEM-Datei auf Ihrem Computer zu importieren. Dieser Befehl importiert den Schlüssel in HSMs im Schlüsseltresordienst:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --pem-file "/.softkey.pem" --protection "hsm" --pem-password "PaSSWORD"

Der nächste Befehl importiert ein "Bring your own key" (BYOK)-Paket. Auf diese Weise können Sie Ihren Schlüssel in Ihrem lokalen HSM generieren und in HSMs im Key Vault-Dienst übertragen, ohne dass der Schlüssel die HSM-Grenze verlässt:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --byok-file "./ITByok.byok" --protection "hsm"

Ausführlichere Anweisungen zum Generieren dieses BYOK-Pakets finden Sie unter Verwenden HSM-Protected Keys mit Azure Key Vault.

Löschen des Schlüsseltresors und der zugeordneten Schlüssel und Geheimnisse

Wenn Sie den Schlüsseltresor und die zugehörigen Schlüssel oder geheimen Schlüssel nicht mehr benötigen, können Sie den Schlüsseltresor mithilfe des az keyvault delete Befehls löschen:

az keyvault delete --name "ContosoKeyVault"

Sie können auch eine gesamte Azure-Ressourcengruppe löschen, die den Schlüsseltresor und alle anderen Ressourcen enthält, die Sie in diese Gruppe aufgenommen haben:

az group delete --name "ContosoResourceGroup"

Verschiedene plattformübergreifende Azure-Befehlszeilenschnittstellenbefehle

Andere Befehle, die nützlich für die Verwaltung des Azure Key Vaults sein könnten.

Dieser Befehl listet eine tabellarische Anzeige aller Tasten und ausgewählten Eigenschaften auf:

az keyvault key list --vault-name "ContosoKeyVault"

Mit diesem Befehl wird eine vollständige Liste der Eigenschaften für den angegebenen Schlüssel angezeigt:

az keyvault key show --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Dieser Befehl listet eine tabellarische Anzeige aller geheimen Namen und ausgewählten Eigenschaften auf:

az keyvault secret list --vault-name "ContosoKeyVault"

Hier ist ein Beispiel zum Entfernen eines bestimmten Schlüssels:

az keyvault key delete --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Hier ist ein Beispiel für das Entfernen eines bestimmten Secrets:

az keyvault secret delete --vault-name "ContosoKeyVault" --name "SQLPassword"

Nächste Schritte