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 och certifikat. Den här snabbstarten beskriver hur du distribuerar en Bicep-fil för att skapa ett nyckelvalv och ett självsignerat certifikat.
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 en Azure-prenumeration, skapa ett gratis konto innan du börjar.
Granska filen Bicep
Mallen som används i den här snabbstarten kommer från Azure-snabbstartsmallar.
@description('The name of the key vault to be created.')
param vaultName string
@description('The name of the certificate to be created.')
param certificateName string
@description('The location of the resources.')
param location string = resourceGroup().location
@description('The SKU of the vault to be created.')
@allowed([
'standard'
'premium'
])
param skuName string = 'standard'
@description('The common name (subject) for the self-signed certificate. Defaults to the certificate name.')
param certificateCommonName string = certificateName
@description('The validity of the certificate in months.')
@minValue(1)
@maxValue(1200)
param validityInMonths int = 12
resource vault 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: vaultName
location: location
properties: {
enableRbacAuthorization: true
enableSoftDelete: true
softDeleteRetentionInDays: 90
enablePurgeProtection: true
enabledForDeployment: false
enabledForDiskEncryption: false
enabledForTemplateDeployment: false
tenantId: subscription().tenantId
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
// Key Vault certificates are a data-plane concept and cannot be created
// directly through ARM. Use the public Bicep registry module which wraps
// `az keyvault certificate create` in a deployment script (it provisions a
// user-assigned managed identity with the Key Vault Certificate Officer
// role on the vault for the duration of the deployment).
module certificate 'br/public:deployment-scripts/create-kv-certificate:3.4.2' = {
name: 'create-${certificateName}'
params: {
akvName: vault.name
location: location
certificateNames: [certificateName]
certificateCommonNames: [certificateCommonName]
validity: validityInMonths
}
}
output location string = location
output name string = vault.name
output resourceGroupName string = resourceGroup().name
output resourceId string = vault.id
output certificateSecretId string = certificate.outputs.certificateSecretIds[0][0]
output certificateThumbprint string = certificate.outputs.certificateThumbprintHexs[0][0]
Två Azure-resurser definieras i Bicep-filen:
-
Microsoft. KeyVault/vaults: skapa ett Azure nyckelvalv med Azure RBAC-auktorisering aktiverat (
enableRbacAuthorization: true). - Microsoft. Resurser/distributioner: kapslad distribution som kör create-kv-certificate registermodul för att skapa ett självsignerat certifikat i valvet. Certifikat är en dataplansresurs och kan inte skapas direkt med en ARM-resurstyp.
Distribuera Bicep-filen
Spara Bicep-filen som main.bicep på den lokala datorn.
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 vaultName=<vault-name> certificateName=myCertNote
Ersätt
<vault-name>med namnet på nyckelvalvet, som måste vara globalt unikt ivault.azure.netnamnområdet.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 certifikat 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 Certificates Officer" \
--assignee-object-id $(az ad signed-in-user show --query id -o tsv) \
--scope $(az keyvault show --name $keyVaultName --query id -o tsv)
Note
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 certifikatet, eller använda följande Azure CLI eller Azure PowerShell skript för att lista det certifikat som skapats.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault certificate 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
Note
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 ett certifikat med Bicep och verifierade sedan 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 för Key Vault