Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure Key Vault è un servizio cloud che fornisce un archivio sicuro per i segreti, ad esempio chiavi, password e certificati. Questa guida introduttiva è incentrata sul processo di distribuzione di un file Bicep per creare un insieme di credenziali delle chiavi e un certificato autofirmato.
Bicep è un linguaggio specifico di dominio (DSL) che usa la sintassi dichiarativa per distribuire le risorse di Azure. Fornisce sintassi concisa, sicurezza dei tipi affidabile e supporto per il riutilizzo del codice. Bicep offre la migliore esperienza di creazione per le soluzioni di infrastruttura come codice in Azure.
Prerequisiti
- Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Rivedere il file Bicep
Il modello usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure.
@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]
Nel file Bicep sono definite due risorse di Azure:
-
Microsoft.KeyVault/vaults: creare un insieme di credenziali delle chiavi di Azure con l'autorizzazione RBAC di Azure abilitata (
enableRbacAuthorization: true). - Microsoft.Resources/deployments: distribuzione nidificata che esegue il modulo del registro create-kv-certificate per creare un certificato autofirmato nell'archivio. I certificati sono una risorsa del piano dati e non possono essere creati direttamente con un tipo di risorsa ARM.
Implementazione del file Bicep
Salvare il file Bicep come main.bicep nel computer locale.
Distribuisci il file Bicep usando l'interfaccia della riga di comando di Azure (interfaccia della riga di comando di Azure) oppure 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
Sostituisci
<vault-name>con il nome dell'insieme di credenziali delle chiavi, che deve essere univoco a livello globale nello spazio dei nomivault.azure.net.Al termine della distribuzione, verrà visualizzato un messaggio che indica che la distribuzione è riuscita.
Assegnare un ruolo RBAC di Key Vault
L'insieme di credenziali delle chiavi creato da questo file Bicep usa il controllo degli accessi in base al ruolo di Azure (Azure RBAC) per l'autorizzazione. Per accedere ai certificati tramite il piano dati, ad esempio usando il interfaccia della riga di comando di Azure o Azure PowerShell, è necessario assegnare a se stessi un ruolo appropriato.
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
La propagazione delle assegnazioni di ruolo potrebbe richiedere un minuto o due.
Esaminare le risorse distribuite
È possibile usare il portale di Azure per controllare l'insieme di credenziali delle chiavi e il certificato oppure usare lo script interfaccia della riga di comando di Azure o Azure PowerShell seguente per elencare il certificato creato.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault certificate list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Pulire le risorse
Quando non è più necessario, usare il portale di Azure, interfaccia della riga di comando di Azure o Azure PowerShell per eliminare il gruppo di risorse e le relative risorse.
az group delete --name myResourceGroup
Note
L'eliminazione del gruppo di risorse elimina anche l'insieme di credenziali delle chiavi, ma quest'ultimo entra quindi in uno stato di eliminazione temporanea e rimane recuperabile per il periodo di conservazione (90 giorni per impostazione predefinita). Il nome dell'insieme di credenziali rimane riservato a livello globale durante tale periodo e, poiché la protezione dall'eliminazione è abilitata, l'insieme di credenziali non può essere eliminato in anticipo. Per gli insiemi di credenziali delle chiavi standard, gli insiemi di credenziali eliminati temporaneamente non comportano addebiti. Per altre informazioni, vedere Panoramica dell'eliminazione temporanea di Key Vault.
Passaggi successivi
In questa guida introduttiva è stato creato un insieme di credenziali e un certificato tramite Bicep, quindi è stata convalidata la distribuzione. Per altre informazioni su Key Vault e Bicep, continuare con gli articoli seguenti.
- Leggi un' Panoramica di Azure Key Vault
- Altre informazioni su Bicep
- Vedere Panoramica della sicurezza di Key Vault