Creazione e configurazione di un insieme di credenziali delle chiavi per la crittografia dischi di Azure
Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili
Crittografia dischi di Azure usa Azure Key Vault per controllare e gestire segreti e chiavi di crittografia dei dischi. Per altre informazioni sugli insiemi di credenziali delle chiavi, vedere Introduzione all'insieme di credenziali delle chiavi di Azure e Proteggere l'insieme di credenziali delle chiavi.
Avviso
- Se in precedenza è stata usata la funzionalità Crittografia dischi di Azure con Microsoft Entra ID per crittografare una macchina virtuale, sarà necessario continuare a usare questa opzione per crittografarla. Per informazioni dettagliate, vedere Creazione e configurazione di un insieme di credenziali delle chiavi per Crittografia dischi di Azure con Microsoft Entra ID (versione precedente).
La creazione e la configurazione di un insieme di credenziali delle chiavi per l'uso con Crittografia dischi di Azure prevede tre passaggi:
- Creazione di un gruppo di risorse, se necessario.
- Creazione di un insieme di credenziali delle chiavi.
- Impostazione di criteri di accesso avanzati per l'insieme di credenziali delle chiavi.
Questi passaggi sono illustrati negli argomenti di avvio rapido seguenti:
- Creare e crittografare una macchina virtuale Linux con l'interfaccia della riga di comando di Azure
- Creare e crittografare una macchina virtuale Linux con Azure PowerShell
Se si preferisce, è anche possibile generare o importare una chiave di crittografia della chiave.
Nota
I passaggi descritti in questo articolo sono automatizzati nello script dell'interfaccia della riga di comando dei prerequisiti di Crittografia dischi di Azure e nello script PowerShell dei prerequisiti di Crittografia dischi di Azure.
Installare gli strumenti e connettersi ad Azure
I passaggi descritti in questo articolo possono essere completati con l'interfaccia della riga di comando di Azure, il modulo Az PowerShell di Azure o il portale di Azure.
Anche se il portale è accessibile tramite il browser, l'interfaccia della riga di comando di Azure e Azure PowerShell richiedono l'installazione locale; per informazioni dettagliate, vedere Crittografia dischi di Azure per Linux: Installare gli strumenti.
Connettersi all'account di Azure
Prima di usare l'interfaccia della riga di comando di Azure o Azure PowerShell, è necessario connettersi alla sottoscrizione di Azure. A questo scopo, è possibile eseguire l'accesso con l'interfaccia della riga di comando di Azure, eseguire l'accesso con Azure PowerShell oppure specificare le credenziali del portale di Azure quando richiesto.
az login
Connect-AzAccount
Creare un gruppo di risorse
Se si ha già un gruppo di risorse, è possibile passare a Creare un insieme di credenziali delle chiavi.
Un gruppo di risorse è un contenitore logico in cui vengono distribuite e gestite le risorse di Azure.
Creare un gruppo di risorse usando il comando az group create dell'interfaccia della riga di comando di Azure, il comando New-AzResourceGroup di Azure PowerShell oppure il portale di Azure.
Interfaccia della riga di comando di Azure
az group create --name "myResourceGroup" --location eastus
Azure PowerShell
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Creare un insieme di credenziali delle chiavi
Se si ha già un insieme di credenziali delle chiavi, è possibile passare a Impostare i criteri di accesso avanzati per l'insieme di credenziali delle chiavi.
Creare un insieme di credenziali delle chiavi usando il comando az keyvault create dell'interfaccia della riga di comando di Azure, il comando New-AzKeyvault di Azure PowerShell, il portale di Azure o un modello di Resource Manager.
Avviso
Per assicurarsi che i segreti di crittografia non attraversino i limiti a livello di area, è necessario creare e usare un insieme di credenziali delle chiavi che si trova nella stessa area e nello stesso tenant delle macchine virtuali da crittografare.
Ogni insieme di credenziali delle chiavi deve avere un nome univoco. Negli esempi seguenti sostituire <your-unique-keyvault-name> con il nome dell'insieme di credenziali delle chiavi in uso.
Interfaccia della riga di comando di Azure
Quando si crea un insieme di credenziali delle chiavi usando l'interfaccia della riga di comando di Azure, aggiungere il flag "-enabled-for-disk-encryption".
az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption
Azure PowerShell
Se si crea un insieme di credenziali delle chiavi con Azure PowerShell, aggiungere il flag "-EnabledForDiskEncryption".
New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption
Modello di Resource Manager
È possibile creare un insieme di credenziali delle chiavi anche usando il modello di Resource Manager.
- Nel modello di avvio rapido di Azure fare clic su Distribuisci in Azure.
- Selezionare la sottoscrizione, il gruppo di risorse, la località del gruppo di risorse, il nome dell'insieme di credenziali delle chiavi, l'ID oggetto, le condizioni legali e il contratto, quindi fare clic su Acquista.
Impostare i criteri di accesso avanzati per l'insieme di credenziali delle chiavi
Importante
Per impostazione predefinita, gli insiemi di credenziali delle chiavi appena creati hanno l'eliminazione temporanea. Se si usa un insieme di credenziali delle chiavi preesistente, è necessario abilitare l'eliminazione temporanea. Vedere Panoramica dell'eliminazione temporanea di Azure Key Vault.
La piattaforma Azure deve avere accesso alle chiavi di crittografia o i segreti nell'insieme di credenziali delle chiavi per renderli disponibili alla macchina virtuale per l'avvio e la decrittografia dei volumi.
Se non è stato abilitato l'insieme di credenziali delle chiavi per la crittografia del disco, la distribuzione o la distribuzione di modelli al momento della creazione (come illustrato nel passaggio precedente), è necessario aggiornare i criteri di accesso avanzati.
Interfaccia della riga di comando di Azure
Usare az keyvault update per abilitare la crittografia del disco per l'insieme di credenziali delle chiavi.
Abilitare l'insieme di credenziali delle chiavi per la crittografia del disco: Enabled-for-disk-encryption è obbligatorio.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
Abilitare l'insieme di credenziali delle chiavi per la distribuzione, se necessario: in questo modo si consente al provider di risorse Microsoft.Compute di recuperare segreti da questo insieme di credenziali delle chiavi quando vi viene fatto riferimento durante la creazione di risorse, ad esempio quando si crea una macchina virtuale.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
Abilitare l'insieme di credenziali delle chiavi per la distribuzione dei modelli: consente a Resource Manager di recuperare i segreti dall'insieme di credenziali.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
Azure PowerShell
Usare il cmdlet di PowerShell relativo all'insieme di credenziali delle chiavi Set-AzKeyVaultAccessPolicy per abilitare la crittografia del disco per l'insieme di credenziali delle chiavi.
Abilitare l'insieme di credenziali delle chiavi per la crittografia del disco: EnabledForDiskEncryption è obbligatorio per Crittografia dischi di Azure.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
Abilitare l'insieme di credenziali delle chiavi per la distribuzione, se necessario: in questo modo si consente al provider di risorse Microsoft.Compute di recuperare segreti da questo insieme di credenziali delle chiavi quando vi viene fatto riferimento durante la creazione di risorse, ad esempio quando si crea una macchina virtuale.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
Abilitare l'insieme di credenziali delle chiavi per la distribuzione di modelli, se necessario: in questo modo si consente a Azure Resource Manager di recuperare segreti da questo insieme di credenziali delle chiavi quando vi viene fatto riferimento durante la distribuzione di un modello.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
Azure portal
Selezionare l'insieme di credenziali delle chiavi e passare a Criteri di accesso.
In "Abilita accesso a", selezionare la casella con etichetta Crittografia dischi di Azure per la crittografia del volume.
Selezionare Azure Macchine virtuali per la distribuzione e/o Azure Resource Manager per la distribuzione di modelli, se necessario.
Fare clic su Salva.
Crittografia dischi di Azure e rotazione automatica
Anche se Azure Key Vault ha ora la rotazione automatica delle chiavi, non è attualmente compatibile con Crittografia dischi di Azure. In particolare, Crittografia dischi di Azure continuerà a usare la chiave di crittografia originale, anche dopo la rotazione automatica.
La rotazione di una chiave di crittografia non interromperà Crittografia dischi di Azure, ma la disabilitazione della chiave di crittografia "vecchia" (in altre parole, la chiave Crittografia dischi di Azure è ancora in uso).
Configurare una chiave di crittografia della chiave
Importante
L'account in esecuzione per abilitare la crittografia del disco nell'insieme di credenziali delle chiavi deve avere autorizzazioni di lettura.
Se si vuole usare una chiave di crittografia della chiave (KEK) per un livello aggiuntivo di sicurezza per le chiavi di crittografia, aggiungere una KEK all'insieme di credenziali delle chiavi. Quando viene specificata una chiave di crittografia della chiave, Crittografia dischi di Azure la usa per eseguire il wrapping dei segreti di crittografia prima di scrivere nell'insieme di credenziali delle chiavi.
È possibile generare una nuova chiave di crittografia della chiave di crittografia usando il comando dell'interfaccia della riga di comando di Azureaz keyvault key create
, il cmdlet Add-AzKeyVaultKey di Azure PowerShell o il portale di Azure. È necessario generare un tipo di chiave RSA; Crittografia dischi di Azure attualmente non supporta l'uso delle chiavi curve ellittiche.
Si può invece importare una chiave di crittografia della chiave dal modulo di protezione hardware di gestione delle chiavi locale. Per altre informazioni, vedere la documentazione di Key Vault.
È necessario applicare il controllo delle versioni all'URL della chiave di crittografia della chiave dell'insieme di credenziali delle chiavi. Azure applica questa restrizione relativa al controllo delle versioni. Per informazioni sugli URL del segreto e della chiave di crittografia della chiave validi, vedere gli esempi seguenti:
- Esempio di URL del segreto valido: https://contosovault.vault.azure.net/secrets/EncryptionSecretWithKek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Esempio di URL della chiave di crittografia della chiave valido: https://contosovault.vault.azure.net/keys/diskencryptionkek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Interfaccia della riga di comando di Azure
Usare il comando dell'interfaccia della riga di comando di Azure az keyvault key create
per generare una nuova chiave di crittografia della chiave e archiviarla nell'insieme di credenziali delle chiavi.
az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA --size 4096
È invece possibile importare una chiave privata usando il comando az keyvault key import dell'interfaccia della riga di comando di Azure:
In entrambi i casi, si specifica il nome della chiave kek al parametro dell'interfaccia della riga di comando di Azure az vm encryption enable
--key-encryption-key-key.
az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"
Azure PowerShell
Usare il cmdlet di Azure PowerShell Add-AzKeyVaultKey per generare una nuova chiave di crittografia della chiave e archiviarla nell'insieme di credenziali delle chiavi.
Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM" -Size 4096
È invece possibile importare una chiave privata usando il comando di Azure PowerShell az keyvault key import
.
In entrambi i casi occorre fornire l'ID dell'insieme di credenziali delle chiavi e l'URL della chiave di crittografia della chiave ai parametri -KeyEncryptionKeyVaultId e -KeyEncryptionKeyUrl del cmdlet di Azure PowerShell Set-AzVMDiskEncryptionExtension. In questo esempio si presuppone che si usi lo stesso insieme di credenziali delle chiavi sia per la chiave di crittografia del disco che per la chiave KEK.
$KeyVault = Get-AzKeyVault -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup"
$KEK = Get-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -Name "myKEK"
Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyUrl $KEK.Id -SkipVmBackup -VolumeType All
Passaggi successivi
- Script dell'interfaccia della riga di comando dei prerequisiti di Crittografia dischi di Azure
- Script di PowerShell per i prerequisiti di Crittografia dischi di Azure
- Scenari di crittografia dischi di Azure per macchine virtuali Linux
- Informazioni su come risolvere i problemi di Crittografia dischi di Azure
- Script di esempio per la Crittografia dischi di Azure