Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Key Vault ist ein Clouddienst, der einen sicheren Speicher für geheime Schlüssel wie Schlüssel, Kennwörter, Zertifikate und andere geheime Schlüssel bereitstellt. In dieser Schnellstartanleitung geht es um die Bereitstellung einer Bicep-Datei zum Erstellen eines Schlüsseltresors und eines Geheimnisses.
Bicep ist eine domänenspezifische Sprache (DSL), die deklarative Syntax verwendet, um Azure Ressourcen bereitzustellen. Sie bietet eine präzise Syntax, zuverlässige Typsicherheit und Unterstützung für die Wiederverwendung von Code. Bicep bietet die beste Erstellungserfahrung für Ihre Infrastruktur-as-Code-Lösungen in Azure.
Voraussetzungen
- Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein free-Konto, bevor Sie beginnen.
Überprüfen Sie die Bicep-Datei
Die in dieser Schnellstartanleitung verwendete Vorlage stammt aus Azure Schnellstartvorlagen.
@description('Specifies the name of the key vault.')
param keyVaultName string
@description('Specifies the Azure location where the key vault should be created.')
param location string = resourceGroup().location
@description('Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault.')
param enabledForDeployment bool = false
@description('Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys.')
param enabledForDiskEncryption bool = false
@description('Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault.')
param enabledForTemplateDeployment bool = false
@description('Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet.')
param tenantId string = subscription().tenantId
@description('Specifies whether the key vault is a standard vault or a premium vault.')
@allowed([
'standard'
'premium'
])
param skuName string = 'standard'
@description('Specifies all secrets {"secretName":"","secretValue":""} wrapped in a secure object.')
@secure()
param secretsObject object
resource kv 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: keyVaultName
location: location
properties: {
enabledForDeployment: enabledForDeployment
enabledForTemplateDeployment: enabledForTemplateDeployment
enabledForDiskEncryption: enabledForDiskEncryption
enableRbacAuthorization: true
tenantId: tenantId
enableSoftDelete: true
softDeleteRetentionInDays: 90
enablePurgeProtection: true
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
resource secrets 'Microsoft.KeyVault/vaults/secrets@2023-07-01' = [for secret in secretsObject.secrets: {
name: secret.secretName
parent: kv
properties: {
value: secret.secretValue
}
}]
output location string = location
output name string = kv.name
output resourceGroupName string = resourceGroup().name
output resourceId string = kv.id
Zwei Azure Ressourcen werden in der datei Bicep definiert:
-
Microsoft.KeyVault/vaults: einen Azure-Schlüsseltresor mit aktivierter Azure-RBAC-Autorisierung erstellen (
enableRbacAuthorization: true). -
Microsoft.KeyVault/vaults/secrets: Erstellen eines oder mehrerer Key Vault-Geheimnisse durch Iteration über das
secretsObject.secretsArray.
Bereitstellen der Bicep-Datei
Speichern Sie die Bicep Datei als main.bicep auf Ihren lokalen Computer.
Erstellen Sie eine Parameterdatei (z. B. main.parameters.json), die den
secretsObjectWert bereitstellt:{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "keyVaultName": { "value": "<vault-name>" }, "secretsObject": { "value": { "secrets": [ { "secretName": "adminpassword", "secretValue": "<your-secret-value>" } ] } } } }Stellen Sie die Bicep-Datei entweder mit der Azure CLI oder mit Azure PowerShell bereit.
az group create --name myResourceGroup --location eastus az deployment group create --resource-group myResourceGroup --template-file main.bicep --parameters @main.parameters.jsonHinweis
Ersetzen Sie
<vault-name>durch den Namen des Schlüsseltresors, der innerhalb desvault.azure.net-Namespaces global eindeutig sein muss. Ersetzen Sie<your-secret-value>durch den geheimen Wert, der gespeichert werden soll. WeilsecretsObjectalssecureObjectdeklariert ist, wird sein Wert weder protokolliert noch zurückgegeben.Nach Abschluss der Bereitstellung sollte eine Meldung mit dem Hinweis angezeigt werden, dass die Bereitstellung erfolgreich war.
Zuweisen einer RBAC-Rolle für Key Vault
Der von dieser Bicep-Datei erstellte Schlüsseltresor verwendet Azure RBAC für die Autorisierung. Um auf geheime Schlüssel über die Datenebene zuzugreifen (z. B. mithilfe der Azure CLI oder Azure PowerShell), müssen Sie sich selbst eine entsprechende Rolle zuweisen.
echo "Enter your key vault name:" &&
read keyVaultName &&
az role assignment create --role "Key Vault Secrets Officer" \
--assignee-object-id $(az ad signed-in-user show --query id -o tsv) \
--scope $(az keyvault show --name $keyVaultName --query id -o tsv)
Hinweis
Rollenzuweisungen können eine oder zwei Minuten dauern, bis sie verteilt werden.
Überprüfen der bereitgestellten Ressourcen
Sie können entweder das Azure-Portal verwenden, um den Schlüsseltresor und den geheimen Schlüssel zu überprüfen, oder das folgende Azure CLI oder Azure PowerShell Skript verwenden, um den erstellten Schlüssel auflisten zu können.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault secret list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Bereinigen von Ressourcen
Wenn sie nicht mehr benötigt wird, verwenden Sie das Azure Portal, Azure CLI oder Azure PowerShell, um die Ressourcengruppe und die zugehörigen Ressourcen zu löschen.
az group delete --name myResourceGroup
Hinweis
Durch das Löschen der Ressourcengruppe wird auch der Schlüsseltresor gelöscht, der Tresor wechselt dann jedoch in einen vorläufig gelöschten Status und bleibt für den Aufbewahrungszeitraum wiederherstellbar (standardmäßig 90 Tage). Der Tresorname bleibt während dieses Zeitraums global reserviert, und da der Löschschutz aktiviert ist, kann der Tresor nicht frühzeitig gelöscht werden. Für Standard-Schlüsseltresore fallen für vorläufig gelöschte Schlüsseltresore keine Gebühren an. Weitere Informationen finden Sie unter Übersicht über die Schlüsseltresor-Funktion für vorläufiges Löschen.
Nächste Schritte
In dieser Schnellstartanleitung haben Sie mithilfe von Bicep einen Schlüsseltresor und ein Geheimnis erstellt und dann die Bereitstellung überprüft. Weitere Informationen zu Key Vault und Bicep finden Sie in den folgenden Artikeln.
- Lesen Sie eine Overview von Azure Key Vault
- Weitere Informationen zu Bicep
- Lesen Sie die Sicherheitsübersicht Key Vault