Creare e configurare un insieme di credenziali delle chiavi per Crittografia dischi di Azure

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.

La creazione e la configurazione di un insieme di credenziali delle chiavi per l'uso con Crittografia dischi di Azure prevede tre passaggi:

  1. Creazione di un gruppo di risorse, se necessario.
  2. Creazione di un insieme di credenziali delle chiavi.
  3. Impostazione di criteri di accesso avanzati per l'insieme di credenziali delle chiavi.

Se si preferisce, è anche possibile generare o importare una chiave di crittografia della chiave.

Installare gli strumenti e connettersi ad Azure

Per completare i passaggi descritti in questo articolo, è possibile usare l'interfaccia della riga di comando di Azure, il modulo Az di Azure PowerShell oppure il portale di Azure.

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 le risorse di Azure vengono distribuite e gestite.

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 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. Sostituire <your-unique-keyvault-name> con il nome dell'insieme di credenziali delle chiavi negli esempi seguenti.

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.

  1. Nel modello di avvio rapido di Azure fare clic su Distribuisci in Azure.
  2. 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
    

Portale di Azure

  1. Selezionare l'insieme di credenziali delle chiavi e passare a Criteri di accesso.

  2. In "Abilita accesso a", selezionare la casella Con l'etichetta Crittografia dischi di Azure per la crittografia del volume.

  3. Selezionare Azure Macchine virtuali per la distribuzione e/o azure Resource Manager per la distribuzione di modelli, se necessario.

  4. Fare clic su Save (Salva).

    Criteri di accesso avanzati per l'insieme di credenziali delle chiavi di Azure

Crittografia dischi di Azure e rotazione automatica

Anche se Azure Key Vault ora ha la rotazione automatica delle chiavi, attualmente non è 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 di 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 disporre delle 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 usando il comando dell'interfaccia della riga di comando di Azureaz keyvault key create, il cmdlet Azure PowerShell Add-AzKeyVaultKey o il portale di Azure. È necessario generare un tipo di chiave RSA; Crittografia dischi di Azure non supporta attualmente l'uso di 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:

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 KEK 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 Azure PowerShellaz 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 stia usando 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