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 file Bicep per creare un insieme di credenziali e un segreto.
Bicep è un linguaggio specifico del dominio (DSL) che usa la sintassi dichiarativa per distribuire risorse 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 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 file Bicep
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). Per indicazioni complete sulla sicurezza, vedere Creare un Azure key vault e una chiave usando Bicep per un modello di Bicep che usa enableRbacAuthorization: true oppure vedere Secure your Azure Key Vault.
Il modello usato in questa guida introduttiva è Azure Modelli di avvio rapido.
@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 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.')
param objectId string
@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.')
param keysPermissions array = [
'list'
]
@description('Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge.')
param secretsPermissions array = [
'list'
]
@description('Specifies whether the key vault is a standard vault or a premium vault.')
@allowed([
'standard'
'premium'
])
param skuName string = 'standard'
@description('Specifies the name of the secret that you want to create.')
param secretName string
@description('Specifies the value of the secret that you want to create.')
@secure()
param secretValue string
resource kv 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: keyVaultName
location: location
properties: {
enabledForDeployment: enabledForDeployment
enabledForDiskEncryption: enabledForDiskEncryption
enabledForTemplateDeployment: enabledForTemplateDeployment
tenantId: tenantId
enableSoftDelete: true
softDeleteRetentionInDays: 90
accessPolicies: [
{
objectId: objectId
tenantId: tenantId
permissions: {
keys: keysPermissions
secrets: secretsPermissions
}
}
]
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
resource secret 'Microsoft.KeyVault/vaults/secrets@2023-07-01' = {
parent: kv
name: secretName
properties: {
value: secretValue
}
}
output location string = location
output name string = kv.name
output resourceGroupName string = resourceGroup().name
output resourceId string = kv.id
Nel file Bicep sono definite due risorse Azure:
- Microsoft.KeyVault/vaults: creare un key vault di Azure.
- Microsoft.KeyVault/vaults/secrets: creare un segreto del Key Vault.
Distribuire il file Bicep
Salvare il file di Bicep come main.bicep nel computer locale.
Distribuire il file Bicep usando interfaccia della riga di comando di Azure o Azure PowerShell.
az group create --name myResourceGroup --location eastus az deployment group create --resource-group myResourceGroup --template-file main.bicep --parameters keyVaultName=<vault-name> objectId=<object-id>Annotazioni
Sostituire
<vault-name>con il nome dell'insieme di credenziali delle chiavi. Sostituire<object-id>con l'ID oggetto di un utente, un principal del servizio o un gruppo di sicurezza nel tenant Microsoft Entra per il vault. L'ID oggetto deve essere univoco per l'elenco dei criteri di accesso. Usa i cmdlet Get-AzADUser o Get-AzADServicePrincipal per ottenerlo.Al termine della distribuzione, verrà visualizzato un messaggio che indica che la distribuzione è riuscita.
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 ..."
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
Passaggi successivi
In questa guida introduttiva è stato creato un insieme di chiavi e un segreto usando Bicep e quindi la distribuzione è stata convalidata. Per altre informazioni su Key Vault e Bicep, continuare con gli articoli seguenti.
- Leggere una Panoramica di Azure Key Vault
- Altre informazioni su Bicep
- Esaminare la panoramica della sicurezza Key Vault