Scenari di Crittografia dischi di Azure nelle macchine virtuali Linux

Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili

Crittografia dischi di Azure per macchine virtuali Linux usa la funzionalità DM-Crypt di Linux per offrire la crittografia completa del disco del sistema operativo e dei dischi dati. Offre inoltre la crittografia del disco temporaneo quando si usa la funzionalità EncryptFormatAll.

Crittografia dischi di Azure è integrato con Azure Key Vault per consentire il controllo e la gestione dei segreti e delle chiavi di crittografia dei dischi. Per una panoramica del servizio, vedere Crittografia dischi di Azure per macchine virtuali Linux.

Prerequisiti

È possibile applicare la crittografia del disco solo alle macchine virtuali con dimensioni e sistemi operativi supportati. È anche necessario soddisfare i prerequisiti seguenti:

In tutti i casi, è consigliabile creare uno snapshot e/o un backup prima che i dischi vengano crittografati. I backup garantiscono la disponibilità di un'opzione di ripristino nel caso si verifichi un errore imprevisto durante la crittografia. Le macchine virtuali con dischi gestiti richiedono il backup prima della crittografia. Dopo aver eseguito un backup, è possibile usare il cmdlet Set-AzVMDiskEncryptionExtension per crittografare i dischi gestiti specificando il parametro -skipVmBackup. Per altre informazioni su come eseguire il backup e il ripristino di macchine virtuali crittografate, vedere l'articolo Backup di Azure.

Restrizioni

Se in precedenza è stato usato Crittografia dischi di Azure con Microsoft Entra ID per crittografare una macchina virtuale, è necessario continuare a usare questa opzione per crittografare la macchina virtuale. Per altre informazioni, vedere Crittografia dischi di Azure con Microsoft Entra ID (versione precedente).

Durante la crittografia dei volumi del sistema operativo Linux, la macchina virtuale deve essere considerata non disponibile. È consigliabile evitare accessi SSH mentre la crittografia è in corso per evitare problemi che bloccano eventuali file aperti a cui è necessario accedere durante il processo di crittografia. Per controllare lo stato di avanzamento, usare il cmdlet di PowerShell Get-AzVMDiskEncryptionStatus o il comando dell'interfaccia della riga di comando vm encryption show. Questo processo può richiedere alcune ore per un volume del sistema operativo da 30 GB, oltre a un tempo aggiuntivo per la crittografia dei volumi di dati. Il tempo per la crittografia del volume di dati è proporzionale alla dimensione e quantità dei volumi di dati a meno che non venga usata l'opzione encrypt format all.

La disabilitazione della crittografia nelle macchine virtuali Linux è supportata solo per i volumi di dati. La disabilitazione della crittografia non è supportata nei volumi di dati o del sistema operativo se il volume del sistema operativo è crittografato.

Crittografia dischi di Azure non funziona per gli scenari, le funzionalità e la tecnologia Linux seguenti:

  • Crittografia di una macchina virtuale o di macchine virtuali di livello Basic create tramite il metodo di creazione classico.
  • Disabilitazione della crittografia in un'unità del sistema operativo o un'unità dati di una macchina virtuale Linux quando l'unità del sistema operativo è crittografata.
  • Crittografia dell'unità del sistema operativo per i set di scalabilità di macchine virtuali Linux.
  • Crittografia di immagini personalizzate in macchine virtuali Linux.
  • Integrazione con un sistema di gestione delle chiavi locale.
  • File di Azure (file system condiviso).
  • NFS (Network File System).
  • Volumi dinamici.
  • Dischi del sistema operativo temporanei.
  • Crittografia di file system condivisi/distribuiti quali ad esempio: DFS, GFS, DRDB e CephFS.
  • Trasferimento di una macchina virtuale crittografata a un'altra sottoscrizione o area.
  • Creazione di un'immagine o di uno snapshot di una macchina virtuale crittografata da utilizzare per distribuire macchine virtuali aggiuntive.
  • Dump di arresto anomalo del kernel (kdump).
  • Oracle ACFS (file system cluster ASM).
  • Dischi NVMe, ad esempio quelli in dimensioni di macchine virtuali con prestazioni elevate o in dimensioni di macchine virtuali ottimizzate per l'archiviazione.
  • Una macchina virtuale con "punti di montaggio nidificati", ovvero con più punti di montaggio in un singolo percorso, ad esempio "/1stmountpoint/data/2stmountpoint".
  • Una macchina virtuale con un'unità dati montata sopra una cartella del sistema operativo.
  • Macchina virtuale in cui viene esteso un volume logico radice (disco del sistema operativo) usando un disco dati.
  • Ridimensionamento del disco del sistema operativo.
  • Macchine virtuali serie M con dischi di acceleratore di scrittura.
  • Applicazione di Crittografia dischi di Azure a una macchina virtuale con dischi crittografati con la crittografia a livello di host o la crittografia sul lato server con chiavi gestite dal cliente (SSE + CMK). L'applicazione di S edizione Standard + CMK a un disco dati o l'aggiunta di un disco dati con S edizione Standard + CMK configurato per una macchina virtuale crittografata con AdE è anche uno scenario non supportato.
  • Migrazione di una macchina virtuale crittografata con Crittografia dischi di Azure o che lo è stata in passato alla crittografia a livello di host o alla crittografia sul lato server con chiavi gestite dal cliente (SSE + CMK).
  • Crittografia delle macchine virtuali nei cluster di failover.
  • Crittografia dei dischi Ultra di Azure.
  • Crittografia dei dischi SSD Premium v2.
  • Per la crittografia delle macchine virtuali nelle sottoscrizioni con segreti , il criterio di validità massimo specificato deve essere abilitato con l’effetto DENY.

Installare gli strumenti e connettersi ad Azure

La funzionalità Crittografia dischi di Azure può essere abilitata e gestita tramite l'interfaccia della riga di comando di Azure e Azure PowerShell. A tale scopo, è necessario installare gli strumenti localmente e connettersi alla sottoscrizione di Azure.

L'interfaccia della riga di comando di Azure 2.0 è uno strumento da riga di comando per la gestione delle risorse di Azure. L'interfaccia della riga di comando è progettata per eseguire query sui dati in modo flessibile, supportare operazioni a esecuzione prolungata come processi non bloccanti e semplificare la creazione di script. È possibile installarla in locale seguendo i passaggi descritti in Installare l'interfaccia della riga di comando di Azure..

Per accedere all'account di Azure con l'interfaccia della riga di comando di Azure, usare il comando az login.

az login

Per selezionare un tenant per l'accesso, usare:

az login --tenant <tenant>

In caso di più sottoscrizioni, per specificarne una in particolare è necessario ottenere l'elenco di sottoscrizioni tramite az account list (elenco account di accesso di AZ) e specificarla da az account set (imposta account di accesso di AZ).

az account list
az account set --subscription "<subscription name or ID>"

Per altre informazioni, vedere Azure Service Fabric e interfaccia della riga di comando di Azure 2.0.

Abilitare la crittografia in una macchina virtuale Linux esistente o in esecuzione

In questo scenario è possibile abilitare la crittografia usando il modello di Resource Manager, i cmdlet di PowerShell o i comandi dell'interfaccia della riga di comando. Per informazioni sullo schema dell'estensione della macchina virtuale, leggere l'articolo Crittografia dischi di Azure per Linux.

Importante

È obbligatorio catturare uno snapshot e/o eseguire il backup di un'istanza di macchina virtuale basata su un disco gestito all'esterno di Crittografia dischi di Azure e prima di abilitarla. È possibile creare uno snapshot del disco gestito dal portale o tramite Backup di Azure. I backup garantiscono la disponibilità di un'opzione di ripristino nel caso si verifichi un errore imprevisto durante la crittografia. Dopo aver creato un backup, è possibile usare il cmdlet Set-AzVMDiskEncryptionExtension per crittografare i dischi gestiti specificando il parametro -skipVmBackup. Il comando Set-AzVMDiskEncryptionExtension avrà esito negativo sulle macchine virtuali basate su disco gestito fino a quando non viene eseguito un backup e questo parametro viene specificato.

La crittografia o la disabilitazione della crittografia può causare il riavvio della macchina virtuale.

Per disabilitare la crittografia, vedere Disabilitare la crittografia e rimuovere l'estensione di crittografia.

È possibile abilitare la crittografia dischi nel disco rigido virtuale crittografato installando e usando lo strumento di interfaccia della riga di comando di Azure. È possibile usarlo nel browser con Azure Cloud Shell oppure installarlo nel computer locale e usarlo in una sessione di PowerShell. Per abilitare la crittografia in macchine virtuali Linux esistenti o in esecuzione in Azure, usare i comandi dell'interfaccia della riga di comando seguenti:

Usare il comando az vm encryption enable per abilitare la crittografia in una macchina virtuale in esecuzione in Azure.

  • Crittografare una macchina virtuale in esecuzione:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Crittografare una macchina virtuale in esecuzione usando una chiave di crittografia della chiave:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    Nota

    La sintassi per il valore del parametro disk-encryption-keyvault è la stringa dell'identificatore completo: /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 della chiave KEK come in: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Verificare che i dischi siano crittografati: per controllare lo stato della crittografia di una macchina virtuale, usare il comando az vm encryption show.

    az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    

Per disabilitare la crittografia, vedere Disabilitare la crittografia e rimuovere l'estensione di crittografia.

Usare la funzionalità EncryptFormatAll per i dischi dati nelle macchine virtuali Linux

Il parametro EncryptFormatAll riduce la durata per la crittografia dei dischi dati Linux. Le partizioni che soddisfano determinati criteri verranno formattate, insieme ai relativi file system correnti, quindi rimontate nella posizione in cui si trovavano prima dell'esecuzione del comando. Se si desidera escludere un disco dati che soddisfa i criteri, è possibile smontarlo prima di eseguire il comando.

Dopo l'esecuzione di questo comando, le unità montate in precedenza verranno formattate e il livello di crittografia verrà avviato al di sopra dell'unità ora vuota. Quando questa opzione è selezionata, verrà crittografato anche il disco temporaneo collegato alla macchina virtuale. Se viene reimpostato, il disco temporaneo verrà riformattato e di nuovo crittografato per la macchina virtuale dalla soluzione Crittografia dischi di Azure alla successiva opportunità. Dopo che il disco risorse è stato crittografato, l'agente Linux di Microsoft Azure non è in grado di gestirlo e di abilitare il file di scambio che, tuttavia, può essere configurato manualmente.

Avviso

EncryptFormatAll non deve essere usato quando i volumi di dati di una macchina virtuale contengono dati necessari. Per escludere i dischi dalla crittografia, è possibile smontarli. È innanzitutto necessario provare EncryptFormatAll in una macchina virtuale di test, poi comprendere il parametro della funzione e la sua implicazione prima di provarlo nella macchina virtuale di produzione. L'opzione EncryptFormatAll formatta il disco dati e tutti i dati che contiene andranno persi. Prima di procedere, verificare che i dischi da escludere siano smontati correttamente.

Se si imposta questo parametro durante l'aggiornamento delle impostazioni di crittografia, si potrebbe verificare un riavvio prima che dell’effettiva esecuzione della crittografia. In questo caso, è anche consigliabile rimuovere il disco che non si vuole formattare dal file fstab. Analogamente, è necessario aggiungere al file fstab la partizione che si desidera formattare con crittografia e poi avviare l'operazione di crittografia.

Criteri EncryptFormatAll

Il parametro esamina tutte le partizioni e le crittografa, a patto che soddisfino tutti i criteri seguenti:

  • Non è una partizione di avvio/del sistema operativo/radice
  • Non è già stata crittografata
  • Non è un volume BEK
  • Non è un volume RAID
  • Non è un volume LVM
  • È montata

Crittografare i dischi che compongono il volume RAID o LVM anziché il volume stesso.

Usare il comando az vm encryption enable per abilitare la crittografia in una macchina virtuale in esecuzione in Azure.

  • Crittografare una macchina virtuale in esecuzione usando EncryptFormatAll:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "data" --encrypt-format-all
    

Usare il parametro EncryptFormatAll con Logical Volume Manager (LVM)

È consigliabile usare una configurazione LVM-on-crypt. Per istruzioni dettagliate sulla LVM nella configurazione della crittografia, vedere Configurare LVM e RAID nei dispositivi crittografati con Crittografia dischi di Azure.

Nuove macchine virtuali create da chiavi di crittografia e dischi rigidi virtuali crittografati dal cliente

In questo scenario è possibile abilitare la crittografia usando i cmdlet di PowerShell o i comandi dell'interfaccia della riga di comando.

Usare le istruzioni disponibili negli stessi script di Crittografia dischi di Azure per la preparazione di immagini pre-crittografate da usare in Azure. Dopo aver creato l'immagine, è possibile usare i passaggi della sezione successiva per creare una VM di Azure crittografata.

Importante

È obbligatorio catturare uno snapshot e/o eseguire il backup di un'istanza di macchina virtuale basata su un disco gestito all'esterno di Crittografia dischi di Azure e prima di abilitarla. È possibile catturare uno snapshot del disco gestito dal portale o tramite Backup di Azure. I backup garantiscono la disponibilità di un'opzione di ripristino nel caso si verifichi un errore imprevisto durante la crittografia. Dopo aver creato un backup, è possibile usare il cmdlet Set-AzVMDiskEncryptionExtension per crittografare i dischi gestiti specificando il parametro -skipVmBackup. Il comando Set-AzVMDiskEncryptionExtension avrà esito negativo sulle macchine virtuali basate su disco gestito fino a quando non viene eseguito un backup e questo parametro viene specificato.

La crittografia o la disabilitazione della crittografia può causare il riavvio della macchina virtuale.

Usare Azure PowerShell per crittografare le macchine virtuali con dischi rigidi virtuali pre-crittografati

È possibile abilitare la crittografia del disco nel disco rigido virtuale crittografato usando il cmdlet Set-AzVMOSDisk di PowerShell. Questo esempio fornisce alcuni parametri comuni.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Linux -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"

Abilitare la crittografia in un disco dati appena aggiunto

È possibile aggiungere un nuovo disco dati usando az vm disk attach o tramite il portale di Azure. Prima che sia possibile eseguire la crittografia, è necessario montare il disco appena collegato. È necessario richiedere la crittografia del disco dati poiché l'unità non sarà utilizzabile mentre la crittografia è in corso.

Se la macchina virtuale è stata precedentemente crittografata con "All", il parametro --volume-type deve rimanere "All". Tale parametro include il disco del sistema operativo e il disco dati. Se la macchina virtuale è stata precedentemente crittografata con il tipo di volume "OS", impostare il parametro --volume-type su "All", in modo da includere il disco del sistema operativo e il nuovo disco dati. Se la macchina virtuale è stata crittografata solo con il tipo di volume "Data", è possibile lasciare invariato il parametro "Data", come illustrato di seguito. L'aggiunta e il collegamento di un nuovo disco dati a una macchina virtuale non sono condizioni sufficienti alla preparazione per la crittografia. Il disco appena collegato deve anche essere formattato e montato in modo corretto nella macchina virtuale prima dell'abilitazione della crittografia. In Linux il disco deve essere montato in /etc/fstab con un nome del dispositivo a blocchi permanente.

A differenza della sintassi di PowerShell, l'interfaccia della riga di comando non richiede all'utente di specificare una versione di sequenza univoca quando si abilita la crittografia. L'interfaccia della riga di comando genera e usa automaticamente uno specifico valore di versione di sequenza univoco.

  • Crittografare i volumi di dati di una macchina virtuale in esecuzione:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Crittografare i volumi di dati di una macchina virtuale in esecuzione tramite una chiave di crittografia della chiave:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "Data"
    

Disabilitare la crittografia e rimuovere l'estensione di crittografia

È possibile disabilitare e rimuovere l'estensione di Crittografia dischi di Azure. Queste sono due operazioni distinte.

Per rimuovere Crittografia dischi di Azure, è consigliabile disabilitare prima la crittografia e quindi rimuovere l'estensione. Se si rimuove l'estensione di crittografia senza disabilitarla, i dischi verranno comunque crittografati. Se si disabilita la crittografia dopo la rimozione dell'estensione, l'estensione verrà reinstallata (per eseguire l'operazione di decrittografia) e dovrà essere rimossa una seconda volta.

Avviso

Non è possibile disabilitare la crittografia se il disco del sistema operativo è crittografato. I dischi del sistema operativo vengono crittografati quando l'operazione di crittografia originale specifica volumeType=ALL o volumeType=OS.

La disabilitazione della crittografia funziona solo quando i dischi dati sono crittografati ma non lo è quello del sistema operativo.

Disabilitare la crittografia

È possibile disabilitare la crittografia usando Azure PowerShell, l'interfaccia della riga di comando di Azure oppure un modello di Resource Manager. La disabilitazione della crittografia non rimuove l'estensione (vedere Rimuovere l'estensione di crittografia).

  • Disabilitare la crittografia del disco con Azure PowerShell: per disabilitare la crittografia, usare il cmdlet Disable-AzVMDiskEncryption.

    Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "data"
    
  • Disabilitare la crittografia con l'interfaccia della riga di comando di Azure: per disabilitare la crittografia, usare il comando az vm encryption disable.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "data"
    
  • Disabilitare la crittografia con un modello di Resource Manager:

    1. Fare clic su Distribuisci in Azure dal modello per disabilitare la crittografia dischi in una macchina virtuale Linux in esecuzione.
    2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione, la macchina virtuale, il tipo di volume, i termini legali e il contratto.
    3. Fare clic su Acquista per disabilitare la crittografia dischi in una macchina virtuale Linux in esecuzione.

Avviso

Dopo l’avvio della decrittografia, è consigliabile non interferire con il processo.

Rimuovere l'estensione di crittografia

Per decrittografare i dischi e rimuovere l'estensione di crittografia, è necessario disabilitare la crittografia prima di rimuovere l'estensione. Vedere Disabilitare la crittografia.

È possibile rimuovere l'estensione di crittografia usando Azure PowerShell o l'interfaccia della riga di comando di Azure.

  • Disabilitare la crittografia del disco con Azure PowerShell: per rimuovere la crittografia, usare il cmdlet Remove-AzVMDiskEncryptionExtension.

    Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"
    
  • Disabilitare la crittografia con l'interfaccia della riga di comando di Azure: per rimuovere la crittografia, usare il comando az vm extension delete.

    az vm extension delete -g "MyVirtualMachineResourceGroup" --vm-name "MySecureVM" -n "AzureDiskEncryptionForLinux"
    

Passaggi successivi