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.
Importante
Crittografia dischi di Azure è pianificato per il ritiro il 15 settembre 2028. Fino a tale data, è possibile continuare a usare Crittografia dischi di Azure senza interruzioni. Il 15 settembre 2028 i carichi di lavoro abilitati per ADE continueranno a essere eseguiti, ma i dischi crittografati non riusciranno a sbloccarsi dopo il riavvio della macchina virtuale, causando un'interruzione del servizio.
Usare la crittografia nell'host per le nuove macchine virtuali. Tutte le macchine virtuali abilitate per ADE (inclusi i backup) devono eseguire la migrazione alla crittografia nell'host prima della data di ritiro per evitare interruzioni del servizio. Per informazioni dettagliate, vedere Eseguire la migrazione da Crittografia dischi di Azure alla crittografia nell'host .
L'interfaccia della riga di comando di Azure viene usata per creare e gestire le risorse di Azure dalla riga di comando o negli script. Questa guida introduttiva illustra come usare l'interfaccia della riga di comando di Azure per creare e crittografare un set di scalabilità di macchine virtuali. Per altre informazioni sull'applicazione della crittografia dischi di Azure a un set di scalabilità di macchine virtuali, vedere Crittografia dischi di Azure per set di scalabilità di macchine virtuali.
Prerequisiti
È possibile utilizzare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione ad Azure Cloud Shell.
Se preferisci eseguire localmente i comandi di riferimento della CLI, installa l'Azure CLI. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se usi un'installazione locale, accedi all'interfaccia della riga di comando di Azure usando il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Eseguire l'autenticazione ad Azure con l'interfaccia della riga di comando di Azure.
Quando ti viene richiesto, installa l'estensione Azure CLI al primo utilizzo. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con l'interfaccia della riga di comando di Azure.
Esegui az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, avviare az upgrade.
- Questo articolo richiede la versione 2.0.31 o successiva dell'interfaccia della riga di comando di Azure. Se si usa Azure Cloud Shell, la versione più recente è già installata.
Creare un set di scalabilità
Prima di poter creare un set di scalabilità, è necessario creare un gruppo di risorse con az group create. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus:
az group create --name myResourceGroup --location eastus
Creare ora un set di scalabilità di macchine virtuali con az vmss create. L'esempio seguente crea un gruppo di scalabilità denominato myScaleSet impostato per l'aggiornamento automatico quando vengono applicate le modifiche e genera chiavi SSH se non sono presenti in ~/.ssh/id_rsa. Un disco dati da 32 GB è collegato a ogni istanza di macchina virtuale e l'estensione script personalizzata di Azure viene usata per preparare i dischi dati con az vmss extension set:
Importante
Assicurarsi di selezionare il sistema operativo supportato con ADE. Sistema operativo supportato per AdE.
# Create a scale set with attached data disk
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode Flexible \
--image <SKU Linux Image> \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 32
# Prepare the data disk for use with the Custom Script Extension
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.sh"],"commandToExecute":"./prepare_vm_disks.sh"}'
La creazione e la configurazione di tutte le macchine virtuali e risorse del set di scalabilità richiedono alcuni minuti.
Creare un vault delle chiavi di Azure abilitato alla crittografia del disco
Azure Key Vault può archiviare chiavi, segreti o password che consentono di implementarli in modo sicuro nelle applicazioni e nei servizi. Le chiavi crittografiche vengono archiviate in Azure Key Vault usando la protezione software oppure è possibile importare o generare le chiavi nei moduli di protezione hardware (HSM) certificati per gli standard convalidati FIPS 140 . Queste chiavi crittografiche vengono usate per crittografare e decrittografare i dischi virtuali collegati alla macchina virtuale. È possibile mantenere il controllo di queste chiavi crittografiche e controllarne l'uso.
Definisci il tuo keyvault_name unico. Creare quindi un KeyVault con il comando az keyvault create nella stessa sottoscrizione e nella stessa area del set di scalabilità e impostare il criterio di accesso --enabled-for-disk-encryption.
# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname
# Create Key Vault
az keyvault create --resource-group myResourceGroup --name $keyvault_name --enabled-for-disk-encryption
Utilizzare un Key Vault esistente
Questo passaggio è obbligatorio solo se disponi di una Key Vault esistente che vuoi usare con la crittografia del disco. Ignorare questo passaggio se hai creato un Key Vault nella sezione precedente.
Definisci il tuo keyvault_name unico. Aggiorna quindi il KeyVault con az keyvault update e imposta il criterio di accesso --enabled-for-disk-encryption.
# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname
# Create Key Vault
az keyvault update --name $keyvault_name --enabled-for-disk-encryption
Abilitare la crittografia
Annotazioni
Se si usano set di scalabilità di macchine virtuali in modalità di orchestrazione flessibile, verranno crittografate solo le nuove istanze. Le attuali istanze nell'insieme scalabile dovranno essere crittografate singolarmente oppure rimosse e sostituite.
Per crittografare le istanze di macchine virtuali in un set di scalabilità, ottenere prima alcune informazioni sull'ID risorsa dell'insieme di credenziali delle chiavi con az keyvault show. Queste variabili vengono usate per avviare il processo di crittografia con az vmss encryption enable:
# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)
# Enable encryption of the data disks in a scale set
az vmss encryption enable \
--resource-group myResourceGroup \
--name myScaleSet \
--disk-encryption-keyvault $vaultResourceId \
--volume-type DATA
L'avvio del processo di crittografia potrebbe richiedere un minuto o due.
Poiché il criterio di aggiornamento del set di scalabilità creato in un passaggio precedente è impostato su automatico, le istanze della macchina virtuale avviano automaticamente il processo di crittografia. Nei set di scalabilità in cui il criterio di aggiornamento è manuale, avviare il criterio di crittografia nelle istanze di macchine virtuali con az vmss update-instances.
Abilitare la crittografia tramite kek per eseguire il wrapping della chiave
È anche possibile usare una chiave di crittografia principale per una maggiore sicurezza durante la crittografia del set di scalabilità delle macchine virtuali.
# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)
# Enable encryption of the data disks in a scale set
az vmss encryption enable \
--resource-group myResourceGroup \
--name myScaleSet \
--disk-encryption-keyvault $vaultResourceId \
--key-encryption-key myKEK \
--key-encryption-keyvault $vaultResourceId \
--volume-type DATA
Annotazioni
La sintassi per il valore del parametro disk-encryption-keyvault è la stringa completa dell'identificatore:
/subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
La sintassi per il valore del parametro key-encryption-key è l'URI completo al KEK, come in:
https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
Controllare lo stato di avanzamento della crittografia
Per verificare lo stato della crittografia del disco, usare az vmss encryption show:
az vmss encryption show --resource-group myResourceGroup --name myScaleSet
Quando le istanze di macchina virtuale vengono crittografate, il codice di stato segnala EncryptionState/encrypted, come illustrato nell'output di esempio seguente:
[
{
"disks": [
{
"encryptionSettings": null,
"name": "myScaleSet_myScaleSet_0_disk2_3f39c2019b174218b98b3dfae3424e69",
"statuses": [
{
"additionalProperties": {},
"code": "EncryptionState/encrypted",
"displayStatus": "Encryption is enabled on disk",
"level": "Info",
"message": null,
"time": null
}
]
}
],
"id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/virtualMachines/0",
"resourceGroup": "MYRESOURCEGROUP"
}
]
Disabilitare la crittografia
Se non si vogliono più usare dischi delle istanze di vm crittografate, è possibile disabilitare la crittografia con az vmss encryption disable come indicato di seguito:
az vmss encryption disable --resource-group myResourceGroup --name myScaleSet
Passaggi successivi
- In questo articolo, hai usato Azure CLI per crittografare un set di scalabilità di macchine virtuali. È anche possibile usare Azure PowerShell o i modelli di Azure Resource Manager.
- Se si desidera applicare la crittografia del disco di Azure dopo che è stata effettuata la configurazione di un'altra estensione, puoi utilizzare il sequenziamento delle estensioni.
- Un esempio di file batch end-to-end per la crittografia del disco dati del set di scalabilità di Linux è disponibile qui. Questo esempio crea un gruppo di risorse, un set di scalabilità Linux, monta un disco dati da 5 GB e crittografa il set di scalabilità di macchine virtuali.