Abilitare Crittografia dischi di Azure con Microsoft Entra ID nelle macchine virtuali Windows (versione precedente)

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 o prendere in considerazione le dimensioni delle macchine virtuali riservate con crittografia del disco del sistema operativo per i carichi di lavoro di computing riservato. 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 .

Si applica a: ✔️ macchine virtuali di Windows

La nuova versione di Crittografia dischi di Azure elimina la necessità di specificare un parametro dell'applicazione Microsoft Entra per abilitare la crittografia dei dischi per le macchine virtuali. Con la nuova versione non è più necessario fornire le credenziali Microsoft Entra durante il passaggio di abilitazione della crittografia. Crittografare tutte le nuove macchine virtuali usando la nuova versione senza i parametri dell'applicazione Microsoft Entra. Per istruzioni su come abilitare la crittografia del disco delle macchine virtuali usando la nuova versione, vedere Crittografia dischi di Azure per le macchine virtuali Windows. Le macchine virtuali già crittografate con i parametri dell'applicazione Microsoft Entra sono ancora supportate. Continuare a mantenere queste VM usando la sintassi di Microsoft Entra. È possibile abilitare molti scenari di crittografia dei dischi e la procedura può variare in base allo scenario. Le sezioni seguenti illustrano in modo più dettagliato gli scenari per le macchine virtuali IaaS Windows. Prima di poter usare crittografia dei dischi, è necessario soddisfare i prerequisiti di Crittografia dischi di Azure.

Importante

  • Esegui uno snapshot o crea un backup prima della crittografia dei dischi. 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 Eseguire il backup e ripristinare una macchina virtuale di Azure crittografata.

  • La crittografia o la disabilitazione della crittografia potrebbero causare il riavvio di una macchina virtuale.

Abilitare la crittografia di nuove macchine virtuali IaaS create dal Marketplace

È possibile abilitare la crittografia del disco nella nuova macchina virtuale IaaS Windows dal Marketplace in Azure usando un modello di Resource Manager. Il modello crea una nuova macchina virtuale Windows crittografata utilizzando l'immagine della raccolta di Windows Server 2012.

  1. Nel modello di Resource Manager selezionare Distribuisci in Azure.

  2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione del gruppo di risorse, i parametri, i termini legali e il contratto. Selezionare Acquista per distribuire una nuova macchina virtuale IaaS in cui è abilitata la crittografia.

  3. Dopo aver distribuito il modello, verificare lo stato di crittografia della macchina virtuale usando il metodo preferito:

    • Verificare con l'interfaccia della riga di comando di Azure usando il comando az vm encryption show.

      az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
      
    • Verificare con Azure PowerShell usando il cmdlet Get-AzVmDiskEncryptionStatus.

      Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
      
    • Selezionare la macchina virtuale, quindi selezionare Dischi nell'intestazione Impostazioni per verificare lo stato della crittografia nel portale. Nel grafico sotto Crittografia è indicato se lo stato è abilitato. Portale di Azure - Crittografia dischi abilitata

La tabella seguente elenca i parametri del modello di Resource Manager per le nuove macchine virtuali dello scenario marketplace usando Microsoft Entra ID client:

Parametro Descrizione
adminUserName Nome utente dell'amministratore per la macchina virtuale.
adminPassword Password utente dell'amministratore per la macchina virtuale.
newStorageAccountName Nome dell'account di archiviazione per archiviare i dischi rigidi virtuali di dati e del sistema operativo.
vmSize Dimensioni della macchina virtuale. Attualmente sono supportate solo le serie A, D e G Standard.
virtualNetworkName Nome della rete virtuale a cui deve appartenere la scheda di interfaccia di rete della VM.
subnetName Nome della subnet nella rete virtuale a cui deve appartenere la scheda di interfaccia di rete della VM.
AADclient ID ID client dell'applicazione Microsoft Entra con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.
AADClientSecret Segreto client dell'applicazione Microsoft Entra con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.
keyVaultURL URL dell'insieme di credenziali delle chiavi in cui dovrà essere caricata la chiave BitLocker. È possibile ottenerlo usando il cmdlet (Get-AzKeyVault -VaultName "MyKeyVault" -ResourceGroupName "MyKeyVaultResourceGroupName").VaultURI o l'interfaccia della riga di comando di Azure az keyvault show --name "MySecureVault" --query properties.vaultUri
keyEncryptionKeyURL URL della chiave di crittografia della chiave usata per crittografare la chiave BitLocker generata (facoltativo).

KeyEncryptionKeyURL è un parametro opzionale. È possibile specificare la chiave di crittografia della chiave (KEK) personalizzata per la protezione aggiuntiva della chiave DEK (segreto passphrase) nell'insieme di credenziali delle chiavi.
keyVaultResourceGroup Gruppo di risorse dell'insieme di credenziali delle chiavi.
vmName Nome della VM in cui deve essere eseguita l'operazione di crittografia.

Abilitare la crittografia nelle macchine virtuali IaaS Windows esistenti o in esecuzione

In questo scenario è possibile abilitare la crittografia usando un modello, i cmdlet di PowerShell o i comandi dell'interfaccia della riga di comando. Le sezioni seguenti illustrano in modo più approfondito come abilitare Crittografia dischi di Azure.

Abilitare la crittografia in macchine virtuali esistenti o in esecuzione usando Azure PowerShell

Usare il cmdlet Set-AzVMDiskEncryptionExtension per abilitare la crittografia in una macchina virtuale IaaS in esecuzione in Azure. Per informazioni sull'abilitazione della crittografia con Crittografia dischi di Azure tramite cmdlet di PowerShell, vedere i post di blog Explore Crittografia dischi di Azure with Azure PowerShell - Part 1 (Esplorare Crittografia dischi di Azure con Azure PowerShell - Parte 1) ed Explore Crittografia dischi di Azure with Azure PowerShell - Part 2 (Esplorare Crittografia dischi di Azure con Azure PowerShell - Parte 2).

  • Crittografare una macchina virtuale in esecuzione usando un segreto client: lo script di seguito inizializza le variabili ed esegue il cmdlet Set-AzVMDiskEncryptionExtension. Il gruppo di risorse, la VM, l'insieme di credenziali delle chiavi, l'app Microsoft Entra e il segreto del client devono già esistere come prerequisiti. Sostituire MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID e My-AAD-client-secret con i valori personalizzati.

     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $aadclient ID = 'My-AAD-client-ID';
     $aadClientSecret = 'My-AAD-client-secret';
     $KeyVaultName = 'MySecureVault';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -Aadclient ID $aadclient ID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId;
    
  • Crittografare una VM in esecuzione usando una KEK per proteggere il segreto del client: Crittografia dischi di Azure consente di specificare una chiave esistente nell'insieme di credenziali delle chiavi per proteggere i segreti di crittografia del disco generati durante l'abilitazione della crittografia. 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.

    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MyExtraSecureVM';
    $aadclient ID = 'My-AAD-client-ID';
    $aadClientSecret = 'My-AAD-client-secret';
    $KeyVaultName = 'MySecureVault';
    $keyEncryptionKeyName = 'MyKeyEncryptionKey';
    $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
    $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
    $KeyVaultResourceId = $KeyVault.ResourceId;
    $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
    
    Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -Aadclient ID $aadclient ID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId;
    
    

    Note

    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 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 IaaS, usare il cmdlet Get-AzVmDiskEncryptionStatus.

    Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    
  • Disabilitare la crittografia del disco: per disabilitare la crittografia, usare il cmdlet Disable-AzureRmVMDiskEncryption.

    Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    

Abilitare la crittografia nelle macchine virtuali esistenti o in esecuzione usando interfaccia della riga di comando di Azure

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

  • Crittografare una macchina virtuale in esecuzione usando un segreto client:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Microsoft Entra client ID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Crittografare una VM in esecuzione usando una KEK per proteggere il segreto client:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Microsoft Entra client ID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    Note

    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 IaaS, usare il comando az vm encryption show.

    az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    
  • Disabilitare la crittografia: per disabilitare la crittografia, usare il comando az vm encryption disable.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type [ALL, DATA, OS]
    

Uso del modello di Resource Manager

È possibile abilitare la crittografia dei dischi nelle macchine virtuali IaaS Windows esistenti o in esecuzione in Azure usando il modello di Resource Manager per crittografare una macchina virtuale Windows in esecuzione.

  1. Nel modello di avvio rapido Azure selezionare Distribuisci in Azure.

  2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione del gruppo di risorse, i parametri, i termini legali e il contratto. Selezionare Acquista per abilitare la crittografia nella macchina virtuale IaaS esistente o in esecuzione.

La tabella seguente elenca i parametri del modello di Resource Manager per macchine virtuali esistenti o in esecuzione che usano un ID client di Microsoft Entra:

Parametro Descrizione
AADclient ID ID client dell'applicazione Microsoft Entra con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.
AADClientSecret Segreto client dell'applicazione Microsoft Entra con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.
keyVaultName Nome dell'insieme di credenziali delle chiavi in cui dovrà essere caricata la chiave BitLocker. È possibile ottenerlo usando il cmdlet (Get-AzKeyVault -ResourceGroupName <MyKeyVaultResourceGroupName>). Vaultname o il comando dell'interfaccia della riga di comando di Azure az keyvault list --resource-group "MySecureGroup"
keyEncryptionKeyURL URL della chiave di crittografia della chiave usata per crittografare la chiave BitLocker generata. Questo parametro è facoltativo se si seleziona nokek nell'elenco a discesa UseExistingKEK. Se si seleziona kek nell'elenco a discesa UseExistingKEK, è necessario immettere il valore keyEncryptionKeyURL .
volumeType Tipo del volume in cui viene eseguita l'operazione di crittografia. I valori validi sono OS, Data e All.
sequenceVersion Versione della sequenza dell'operazione BitLocker. Incrementare questo numero di versione ogni volta che viene eseguita un'operazione di crittografia dei dischi nella stessa VM.
vmName Nome della VM in cui deve essere eseguita l'operazione di crittografia.

Nuove macchine virtuali IaaS create da chiavi di crittografia e disco rigido virtuale crittografato dal cliente

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. Le sezioni seguenti descrivono in modo più dettagliato il modello di Resource Manager e i comandi dell'interfaccia della riga di comando.

Usare le istruzioni nell'appendice per preparare immagini pre-crittografate che è possibile usare in Azure. Dopo aver creato l'immagine, è possibile usare i passaggi della sezione successiva per creare una VM di Azure crittografata.

Crittografare le macchine virtuali con dischi rigidi virtuali pre-crittografati usando Azure PowerShell

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

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Windows -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myKVresourcegroup/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 a una macchina virtuale Windows usando PowerShell o tramite il portale di Azure.

Abilitare la crittografia in un disco appena aggiunto usando Azure PowerShell

Quando si usa PowerShell per crittografare un nuovo disco per le macchine virtuali Windows, specificare una nuova versione della sequenza. La versione della sequenza deve essere univoca. Lo script seguente genera un GUID per la versione della sequenza. In alcuni casi un disco dati appena aggiunto potrebbe essere crittografato automaticamente dall'estensione di Crittografia dischi di Azure. La crittografia automatica si verifica in genere quando la macchina virtuale viene riavviata dopo che il nuovo disco viene online. Questo comportamento si verifica in genere perché "All" è stato specificato per il tipo di volume quando la crittografia del disco è stata eseguita in precedenza nella macchina virtuale. Se si verifica la crittografia automatica in un disco dati appena aggiunto, è consigliabile eseguire di nuovo il cmdlet Set-AzVmDiskEncryptionExtension con una nuova versione della sequenza. Se il nuovo disco dati viene crittografato automaticamente e non lo si vuole crittografare, decrittografare prima tutte le unità e quindi ripetere la crittografia con una nuova versione della sequenza specificando il sistema operativo per il tipo di volume.

  • Crittografare una macchina virtuale in esecuzione usando un segreto client: lo script di seguito inizializza le variabili ed esegue il cmdlet Set-AzVMDiskEncryptionExtension. Il gruppo di risorse, la VM, l'insieme di credenziali delle chiavi, l'app Microsoft Entra e il segreto del client devono già esistere come prerequisiti. Sostituire MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID e My-AAD-client-secret con i valori personalizzati. L'esempio seguente usa "All" per il parametro -VolumeType, che include sia volumi del sistema operativo che di dati. Se si vuole crittografare solo il volume del sistema operativo, usare "OS" per il parametro -VolumeType.

     $sequenceVersion = [Guid]::NewGuid();
     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $aadclient ID = 'My-AAD-client-ID';
     $aadClientSecret = 'My-AAD-client-secret';
     $KeyVaultName = 'MySecureVault';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -Aadclient ID $aadclient ID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'all' –SequenceVersion $sequenceVersion;
    
  • Crittografare una VM in esecuzione usando una KEK per proteggere il segreto del client: Crittografia dischi di Azure consente di specificare una chiave esistente nell'insieme di credenziali delle chiavi per proteggere i segreti di crittografia del disco generati durante l'abilitazione della crittografia. 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. L'esempio seguente usa "All" per il parametro -VolumeType, che include sia volumi del sistema operativo che di dati. Se si vuole crittografare solo il volume del sistema operativo, usare "OS" per il parametro -VolumeType.

    $sequenceVersion = [Guid]::NewGuid();
    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MyExtraSecureVM';
    $aadclient ID = 'My-AAD-client-ID';
    $aadClientSecret = 'My-AAD-client-secret';
    $KeyVaultName = 'MySecureVault';
    $keyEncryptionKeyName = 'MyKeyEncryptionKey';
    $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
    $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
    $KeyVaultResourceId = $KeyVault.ResourceId;
    $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
    
    Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -Aadclient ID $aadclient ID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'all' –SequenceVersion $sequenceVersion;
    
    

    Note

    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 KEK come in: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

Abilitare la crittografia in un disco appena aggiunto usando interfaccia della riga di comando di Azure

Il comando interfaccia della riga di comando di Azure fornisce automaticamente una nuova versione della sequenza quando si esegue il comando per abilitare la crittografia. I valori accettabili per il parametro di tipo volume sono All, OS e Data. Potrebbe essere necessario modificare il parametro di tipo volume in Sistema operativo o Dati se si sta crittografando un solo tipo di disco per la macchina virtuale. Gli esempi usano "All" per il parametro volume-type.

  • Crittografare una macchina virtuale in esecuzione usando un segreto client:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Microsoft Entra client ID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type "All"
    
  • Crittografare una VM in esecuzione usando una KEK per proteggere il segreto client:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Microsoft Entra client ID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "all"
    

Abilitare la crittografia tramite l'autenticazione basata su certificati client di Microsoft Entra.

È possibile usare l'autenticazione del certificato client con o senza chiave di crittografia della chiave. Prima di utilizzare gli script PowerShell, caricare il certificato nell'insieme di credenziali delle chiavi e distribuirlo nella VM. Se utilizzi anche una KEK (Key Encryption Key), la KEK deve già esistere. Per altre informazioni, vedere la sezione Autenticazione basata su certificati Microsoft Entra ID dell'articolo sui prerequisiti.

Abilitare la crittografia usando l'autenticazione basata su certificato usando Azure PowerShell

## Fill in 'MyVirtualMachineResourceGroup', 'MyKeyVaultResourceGroup', 'My-AAD-client-ID', 'MySecureVault, and 'MySecureVM'.

$VMRGName = 'MyVirtualMachineResourceGroup'
$KVRGname = 'MyKeyVaultResourceGroup';
$AADclient ID ='My-AAD-client-ID';
$KeyVaultName = 'MySecureVault';
$VMName = 'MySecureVM';
$KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;

# Fill in the certificate path and the password so the thumbprint can be set as a variable.

$certPath = '$CertPath = "C:\certificates\mycert.pfx';
$CertPassword ='Password'
$Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath, $CertPassword)
$aadClientCertThumbprint = $cert.Thumbprint;

# Enable disk encryption by using the client certificate thumbprint

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -Aadclient ID $AADclient ID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId

Abilitare la crittografia mediante l'autenticazione basata su certificati e una KEK con Azure PowerShell

# Fill in 'MyVirtualMachineResourceGroup', 'MyKeyVaultResourceGroup', 'My-AAD-client-ID', 'MySecureVault,, 'MySecureVM', and "KEKName.

$VMRGName = 'MyVirtualMachineResourceGroup';
$KVRGname = 'MyKeyVaultResourceGroup';
$AADclient ID ='My-AAD-client-ID';
$KeyVaultName = 'MySecureVault';
$VMName = 'MySecureVM';
$keyEncryptionKeyName ='KEKName';
$KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;
$keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;

## Fill in the certificate path and the password so the thumbprint can be read and set as a variable.

$certPath = '$CertPath = "C:\certificates\mycert.pfx';
$CertPassword ='Password'
$Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath, $CertPassword)
$aadClientCertThumbprint = $cert.Thumbprint;

# Enable disk encryption by using the client certificate thumbprint and a KEK

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -Aadclient ID $AADclient ID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId

Disabilitare la crittografia

È possibile disabilitare la crittografia usando Azure PowerShell, l'interfaccia della riga di comando di Azure o un modello di Resource Manager.

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

    Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    
  • Disabilitare la crittografia usando il 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 [ALL, DATA, OS]
    
  • Disabilitare la crittografia con un modello di Resource Manager:

    1. Seleziona Deploy to Azure dal modello Disabilitare la crittografia del disco in una VM Windows in esecuzione.
    2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione, la macchina virtuale, i termini legali e il contratto.
    3. Selezionare Acquista per disabilitare la crittografia dischi in una macchina virtuale Windows in esecuzione.

Passaggi successivi