Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Key Vault är en molntjänst som tillhandahåller ett säkert arkiv för hemligheter, till exempel nycklar, lösenord, certifikat och andra hemligheter. Den här snabbstarten fokuserar på processen att distribuera en Bicep fil för att skapa ett nyckelvalv och en hemlighet.
Bicep är ett domänspecifikt språk (DSL) som använder deklarativ syntax för att distribuera Azure resurser. Det ger koncis syntax, tillförlitlig typsäkerhet och stöd för återanvändning av kod. Bicep erbjuder den bästa redigeringsupplevelsen för dina infrastruktur-som-kod-lösningar i Azure.
Förutsättningar
- Om du inte har någon Azure prenumeration skapar du ett free-konto innan du börjar.
Granska filen Bicep
Mallen som används i den här snabbstarten kommer från Azure snabbstartsmallar.
@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
Två Azure resurser definieras i filen Bicep:
-
Microsoft. KeyVault/vaults: skapa ett Azure nyckelvalv med Azure RBAC-auktorisering aktiverat (
enableRbacAuthorization: true). -
Microsoft. KeyVault/vaults/secrets: skapa en eller flera nyckelvalvshemligheter som itererar över matrisen
secretsObject.secrets.
Distribuera Bicep-filen
Spara filen Bicep som main.bicep till den lokala datorn.
Skapa en parameterfil (till exempel main.parameters.json) som tillhandahåller
secretsObjectvärdet:{ "$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>" } ] } } } }Distribuera Bicep-filen med hjälp av antingen Azure CLI eller Azure PowerShell.
az group create --name myResourceGroup --location eastus az deployment group create --resource-group myResourceGroup --template-file main.bicep --parameters @main.parameters.jsonAnmärkning
Ersätt
<vault-name>med namnet på nyckelvalvet, som måste vara globalt unikt ivault.azure.netnamnområdet. Ersätt<your-secret-value>med det hemliga värde som ska lagras. EftersomsecretsObjectdeklareras somsecureObjectär dess värde inte loggat eller ekot tillbaka.När distributionen är klar bör du se ett meddelande som anger att distributionen lyckades.
Tilldela en Key Vault RBAC-roll
Nyckelvalvet som skapas av den här Bicep-filen använder Azure RBAC för auktorisering. För att få åtkomst till hemligheter via dataplanet (till exempel med hjälp av Azure CLI eller Azure PowerShell) måste du tilldela dig själv en lämplig roll.
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)
Anmärkning
Rolltilldelningar kan ta en minut eller två att slå igenom.
Granska distribuerade resurser
Du kan antingen använda Azure-portalen för att kontrollera nyckelvalvet och hemligheten, eller använda följande Azure CLI eller Azure PowerShell skript för att visa den hemlighet som skapats.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault secret list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Rensa resurser
När den inte längre behövs använder du Azure-portalen, Azure CLI eller Azure PowerShell för att ta bort resursgruppen och dess resurser.
az group delete --name myResourceGroup
Anmärkning
Om du tar bort resursgruppen tas även nyckelvalvet bort, men valvet går sedan in i ett mjukt borttaget tillstånd och kan fortfarande återställas under kvarhållningsperioden (90 dagar som standard). Valvnamnet förblir reserverat globalt under den perioden och eftersom rensningsskyddet är aktiverat kan valvet inte rensas tidigt. För nyckelvalv av standardtyp medför mjukt borttagna valv inga avgifter. Mer information finns i Översikt över mjuk borttagning i Key Vault.
Nästa steg
I den här snabbstarten skapade du ett nyckelvalv och en sekretess med hjälp av Bicep, och därefter verifierade du distributionen. Om du vill veta mer om Key Vault och Bicep fortsätter du till artiklarna nedan.
- Läs en Översikt över Azure Key Vault
- Läs mer om Bicep
- Granska säkerhetsöversikten Key Vault