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, certificati e altri segreti. Questa guida introduttiva è incentrata sul processo di distribuzione di un modello di Azure Resource Manager (modello ARM) per creare un Key Vault e un segreto.
Un modello Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto. Il modello usa la sintassi dichiarativa. Si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione necessari per creare la distribuzione.
Se il tuo ambiente soddisfa i prerequisiti e si ha familiarità con l'uso dei modelli ARM, selezionare il pulsante Distribuisci su Azure. Il modello verrà aperto nel portale di Azure.
Prerequisiti
Per completare questo articolo:
Se non si ha una sottoscrizione Azure, creare un account free prima di iniziare.
L'ID oggetto utente Microsoft Entra è necessario dal modello per configurare le autorizzazioni. La procedura seguente ottiene l'ID oggetto (GUID).
Eseguire il comando Azure PowerShell o interfaccia della riga di comando di Azure seguente selezionando Try it e quindi incollare lo script nel riquadro della shell. Per incollare lo script, fare clic con il pulsante destro del mouse nella shell e quindi scegliere Incolla.
echo "Enter your email address that is used to sign in to Azure:" && read upn && az ad user show --id $upn --query "Id" && echo "Press [ENTER] to continue ..."Annotare l'ID oggetto. Nella prossima sezione di questa guida introduttiva, ne avrai bisogno.
Rivedere il modello
Importante
Questa guida introduttiva usa un modello esterno che crea un archivio con politiche di accesso legacy. Per le distribuzioni di produzione, usare invece il controllo di accesso basato sul ruolo di Azure (RBAC). Consulta Creare un insieme di credenziali usando un template ARM per un modello che utilizza enableRbacAuthorization: true oppure consulta Proteggi il tuo Azure Key Vault per indicazioni complete sulla sicurezza.
Il modello usato in questa guida introduttiva è Azure Modelli di avvio rapido.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "8629186205194254058"
}
},
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the key vault."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specifies the Azure location where the key vault should be created."
}
},
"enabledForDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
}
},
"enabledForDiskEncryption": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
}
},
"enabledForTemplateDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
}
},
"tenantId": {
"type": "string",
"defaultValue": "[subscription().tenantId]",
"metadata": {
"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."
}
},
"objectId": {
"type": "string",
"metadata": {
"description": "Specifies the object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies. Get it by using Get-AzADUser or Get-AzADServicePrincipal cmdlets."
}
},
"keysPermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to keys in the vault. Valid values are: all, encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, backup, restore, recover, and purge."
}
},
"secretsPermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge."
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "Specifies whether the key vault is a standard vault or a premium vault."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the secret that you want to create."
}
},
"secretValue": {
"type": "securestring",
"metadata": {
"description": "Specifies the value of the secret that you want to create."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2023-07-01",
"name": "[parameters('keyVaultName')]",
"location": "[parameters('location')]",
"properties": {
"enabledForDeployment": "[parameters('enabledForDeployment')]",
"enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]",
"enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
"tenantId": "[parameters('tenantId')]",
"enableSoftDelete": true,
"softDeleteRetentionInDays": 90,
"accessPolicies": [
{
"objectId": "[parameters('objectId')]",
"tenantId": "[parameters('tenantId')]",
"permissions": {
"keys": "[parameters('keysPermissions')]",
"secrets": "[parameters('secretsPermissions')]"
}
}
],
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/secrets",
"apiVersion": "2023-07-01",
"name": "[format('{0}/{1}', parameters('keyVaultName'), parameters('secretName'))]",
"properties": {
"value": "[parameters('secretValue')]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
]
}
],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[parameters('keyVaultName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
}
}
}
Nel modello sono definite due risorse Azure:
- Microsoft.KeyVault/vaults: creare un key vault di Azure.
- Microsoft.KeyVault/vaults/secrets: creare un segreto del Key Vault.
Altri esempi di modelli Azure Key Vault sono disponibili in Azure Modelli di avvio rapido.
Implementare il modello
Selezionare l'immagine seguente per accedere a Azure e aprire un modello. Il modello crea un insieme di credenziali delle chiavi e un segreto.
Selezionare o immettere i valori seguenti.
Se non diversamente specificato, usare il valore predefinito per creare l'insieme di credenziali delle chiavi e un segreto.
- Subscription: selezionare una sottoscrizione Azure.
- Gruppo di risorse: selezionare Crea nuovo, immettere un nome univoco per il gruppo di risorse e quindi fare clic su OK.
- Località: selezionare una località. Ad esempio Stati Uniti centrali.
- Key Vault Name: immettere un nome per il key vault, che deve essere globalmente univoco all'interno dello spazio dei nomi .vault.azure.net. È necessario il nome nella sezione successiva quando si convalida la distribuzione.
- ID tenant: la funzione modello recupera automaticamente l'ID tenant. Non modificare il valore predefinito.
- ID utente di Entra: immettere l'ID oggetto utente Microsoft Entra recuperato da Prerequisiti.
- Nome segreto: inserire un nome per il segreto che si archivia nel vault delle chiavi. Ad esempio, adminpassword.
- Valore segreto: immettere il valore del segreto. Se si archivia una password, è consigliabile usare la password generata creata in Prerequisiti.
- Accetto le condizioni riportate sopra: selezionare.
Selezionare Acquista. Dopo che il Key Vault è stato distribuito correttamente, viene visualizzata una notifica:
modello

Il portale di Azure viene usato per distribuire il modello. Oltre al portale di Azure, è anche possibile usare il Azure PowerShell, interfaccia della riga di comando di Azure e l'API REST. Per informazioni sugli altri metodi di distribuzione, vedere Distribuire modelli.
Esaminare le risorse distribuite
È possibile usare il portale di Azure per controllare l'insieme di credenziali delle chiavi e il segreto oppure usare lo script di interfaccia della riga di comando di Azure o Azure PowerShell seguente per elencare il segreto creato.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault secret list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
L'output sarà simile al seguente:
Pulire le risorse
Altre guide introduttive e esercitazioni Key Vault si basano su questa guida introduttiva. Se prevedi di continuare a lavorare con le guide introduttive e i tutorial successivi, potresti voler lasciare queste risorse intatte. Quando non è più necessario, eliminare il gruppo di risorse, che elimina il Key Vault e le risorse correlate. Per eliminare il gruppo di risorse usando interfaccia della riga di comando di Azure o Azure PowerShell:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Passaggi successivi
In questa guida di avvio rapido sono stati creati un insieme di credenziali delle chiavi e un segreto usando un modello di Resource Manager ed è stata convalidata la distribuzione. Per altre informazioni su Key Vault e Azure Resource Manager, continuare con gli articoli seguenti.
- Leggere una Panoramica di Azure Key Vault
- Altre informazioni su Azure Resource Manager
- Esaminare la panoramica della sicurezza Key Vault