Crittografare una macchina virtuale di AzureEncrypt an Azure Virtual Machine

Centro sicurezza di Azure invia avvisi in caso di macchine virtuali non crittografate.Azure Security Center will alert you if you have virtual machines that are not encrypted. Gli avvisi vengono visualizzati con un livello di gravità elevato e la raccomandazione di crittografare tali macchine virtuali.These alerts will show as High Severity and the recommendation is to encrypt these virtual machines.

Raccomandazione di crittografare il disco

Nota

Le informazioni contenute in questo documento riguardano la crittografia delle macchine virtuali senza usare una chiave di crittografia (che è obbligatoria per il backup delle macchine virtuali mediante Backup di Azure).The information in this document applies to encrypting virtual machines without using a Key Encryption Key (which is required for backing up virtual machines using Azure Backup). Per informazioni su come usare una chiave di crittografia per il supporto di Backup di Azure per macchine virtuali di Azure crittografate, vedere l'articolo Azure Disk Encryption per le macchine virtuali IaaS Windows e Linux .Please see the article Azure Disk Encryption for Windows and Linux Azure Virtual Machines for information on how to use a Key Encryption Key to support Azure Backup for encrypted Azure Virtual Machines.

Per crittografare le macchine virtuali di Azure identificate da Centro sicurezza di Azure, seguire questa procedura:To encrypt Azure Virtual Machines that have been identified by Azure Security Center as needing encryption, we recommend the following steps:

  • Installare e configurare Azure PowerShell.Install and configure Azure PowerShell. In questo modo sarà possibile eseguire i comandi di PowerShell per configurare i prerequisiti necessari per crittografare le macchine virtuali di Azure.This will enable you to run the PowerShell commands required to set up the prerequisites required to encrypt Azure Virtual Machines.
  • Ottenere ed eseguire lo script di Azure PowerShell dei prerequisiti di Crittografia dischi di Azure.Obtain and run the Azure Disk Encryption Prerequisites Azure PowerShell script
  • Crittografare le macchine virtuali.Encrypt your virtual machines

Questo documento fornisce informazioni utili per eseguire la crittografia di macchine virtuali, anche se si conosce poco o nulla di Azure PowerShell.The goal of this document is to enable you to encrypt your virtual machines, even if you have little or no background in Azure PowerShell. Questo documento presuppone l'uso di Windows 10 nel computer client da cui si esegue la configurazione di Crittografia dischi di Azure.This document assumes you are using Windows 10 as the client machine from which you will configure Azure Disk Encryption.

L'installazione dei prerequisiti e la configurazione della crittografia per le macchine virtuali di Azure possono essere eseguite in diversi modi.There are many approaches that can be used to setup the prerequisites and to configure encryption for Azure Virtual Machines. Se si ha buona familiarità con Azure PowerShell o l'interfaccia della riga di comando di Azure, è possibile adottare soluzioni alternative.If you are already well-versed in Azure PowerShell or Azure CLI, then you may prefer to use alternate approaches.

Nota

Per altre informazioni sulle soluzioni alternative per la configurazione della crittografia per macchine virtuali di Azure, vedere l'articolo relativo a Crittografia dischi di Azure per macchine virtuali di Azure che eseguono Windows o Linux.To learn more about alternate approaches to configuring encryption for Azure virtual machines, please see Azure Disk Encryption for Windows and Linux Azure Virtual Machines.

Installare e configurare Azure PowerShellInstall and configure Azure PowerShell

È necessario che Azure PowerShell 1.2.1 o versione successiva sia installato nel computer.You need Azure PowerShell version 1.2.1 or above installed on your computer. L'articolo Come installare e configurare Azure PowerShell contiene tutti i passaggi necessari per effettuare il provisioning del computer per l'uso di Azure PowerShell.The article How to install and configure Azure PowerShell contains all the steps you need to provision your computer to work with Azure PowerShell. L'approccio più semplice consiste nell'eseguire l'installazione da WebPI menzionata nell'articolo.The most straightforward approach is to use the Web PI installation approach mentioned in that article. Anche se Azure PowerShell è già presente nel computer, installarlo nuovamente da WebPI per avere l'ultima versione di Azure PowerShell.Even if you already have Azure PowerShell installed, install again using the Web PI approach so that you have the latest version of Azure PowerShell.

Ottenere ed eseguire lo script di configurazione dei prerequisiti di Crittografia dischi di Azure.Obtain and run the Azure disk encryption prerequisites configuration script

Lo script di configurazione dei prerequisiti di Crittografia dischi di Azure configura tutti i prerequisiti necessari per la crittografia delle macchine virtuali di Azure.The Azure Disk Encryption Prerequisites Configuration Script will set up all the prerequisites required for encrypting your Azure Virtual Machines.

  1. Lo script di configurazione dei prerequisiti di Crittografia dischi di Azureè disponibile in GitHub.Go to the GitHub page that has the Azure Disk Encryption Prerequisite Setup Script.
  2. Nella pagina di GibHub, fare clic sul pulsante Raw .On the GibHub page, click the Raw button.
  3. Premere CTRL+A per selezionare tutto il testo della pagina e quindi CTRL+C per copiarlo negli Appunti.Use CTRL-A to select all the text on the page and then use CTRL-C to copy all the text on the page to the clipboard.
  4. Aprire il Blocco note e incollare il testo copiato.Open Notepad and paste the copied text into Notepad.
  5. Creare una nuova cartella nell'unità C: denominata AzureADEScript.Create a new folder on your C: drive named AzureADEScript.
  6. Salvare il file del Blocco note facendo clic su File e quindi su Salva con nome.Save the Notepad file – click File, then click Save As. Nella casella di testo Nome file immettere "ADEPrereqScript.ps1" e fare clic su Salva.In the File name textbox, enter “ADEPrereqScript.ps1” and click Save. Assicurarsi di inserire le virgolette che racchiudono il nome, in caso contrario il file verrà salvato con estensione txt.(make sure you put the quotation marks around the name, otherwise it will save the file with a .txt file extension).

Ora che il contenuto dello script è stato salvato, aprire lo script in PowerShell ISE:Now that the script content is saved, open the script in the PowerShell ISE:

  1. Nel menu Start, fare clic su Cortana.In the Start Menu, click Cortana. Digitare PowerShell nella casella di testo di ricerca di Cortana per richiedere Cortana "PowerShell".Ask Cortana “PowerShell” by typing PowerShell in the Cortana search text box.
  2. Fare clic con il pulsante destro del mouse su Windows PowerShell ISE e scegliere Esegui come amministratore.Right click Windows PowerShell ISE and click Run as administrator.
  3. Nella finestra Amministratore: Windows PowerShell ISE fare clic su Visualizza e quindi su Mostra riquadro di script.In the Administrator: Windows PowerShell ISE window, click View and then click Show Script Pane.
  4. Se viene visualizzato il riquadro Comandi sul lato destro della finestra, fare clic sulla "x" nell'angolo superiore destro del riquadro per chiuderlo.If you see the Commands pane on the right side of the window, click the “x” in the top right corner of the pane to close it. Se la visualizzazione del testo è troppo piccola, premere CTRL+Add , dove Add indica il segno "+".If the text is too small for you to see, use CTRL+Add (“Add” is the “+” sign). Se la visualizzazione del testo è troppo grande, premere CTRL+Subtract , dove Subtract indica il segno "-".If the text is too large, use CTRL+Subtract (Subtract is the “-“ sign).
  5. Fare clic su File e quindi su Apri.Click File and then click Open. Passare alla cartella C:\AzureADEScript e fare doppio clic su ADEPrereqScript.Navigate to the C:\AzureADEScript folder and the double-click on the ADEPrereqScript.
  6. Il contenuto di ADEPrereqScript dovrebbe essere visualizzato in PowerShell ISE. Per semplificare la ricerca, i vari componenti, ad esempio variabili, parametri e comandi, sono contraddistinti dal colore.The ADEPrereqScript contents should now appear in the PowerShell ISE and is color-coded to help you see various components, such as commands, parameters and variables more easily.

Verrà visualizzata una schermata simile alla figura seguente.You should now see something like the figure below.

Finestra di PowerShell ISE

Il riquadro superiore è detto "riquadro di script", mentre il riquadro inferiore è detto "console".The top pane is referred to as the “script pane” and the bottom pane is referred to as the “console”. Questi termini verranno usati più avanti nell'articolo.We will use these terms later in this article.

Eseguire il comando di PowerShell relativo ai prerequisiti di Crittografia dischi di Azure.Run the Azure disk encryption prerequisites PowerShell command

Dopo l'avvio, lo script dei prerequisiti di Crittografia dischi di Azure richiede le informazioni seguenti:The Azure Disk Encryption Prerequisites script will ask you for the following information after you start the script:

  • resourceGroupName : nome del gruppo di risorse in cui si vuole inserire l'insieme di credenziali delle chiavi.Resource Group Name - Name of the Resource Group that you want to put the Key Vault into. Viene creato un nuovo gruppo di risorse con il nome immesso, se non esiste già.A new Resource Group with the name you enter will be created if there isn’t already one with that name created. Se nella sottoscrizione è già disponibile un gruppo di risorse da usare, immetterne il nome.If you already have a Resource Group that you want to use in this subscription, then enter the name of that Resource Group.
  • keyVaultName : nome dell'insieme di credenziali delle chiavi in cui inserire le chiavi di crittografia.Key Vault Name - Name of the Key Vault in which encryption keys are to be placed. Viene creato un nuovo insieme di credenziali delle chiavi con il nome immesso, se non esiste già.A new Key Vault with this name will be created if you don’t already have a Key Vault with this name. Se è già disponibile un insieme di credenziali delle chiavi da usare, immetterne il nome.If you already have a Key Vault that you want to use, enter the name of the existing Key Vault.
  • location : percorso dell'insieme di credenziali delle chiavi.Location - Location of the Key Vault. Assicurarsi che l'insieme di credenziali delle chiavi e le macchine virtuali da crittografare siano nello stesso percorso.Make sure the Key Vault and VMs to be encrypted are in the same location. Se non si conosce il percorso, più avanti in questo articolo vengono illustrati alcuni passaggi per determinarlo.If you don’t know the location, there are steps later in this article that will show you how to find out.
  • aadAppName : nome dell'applicazione Azure Active Directory che viene usata per la scrittura di segreti nell'insieme di credenziali delle chiavi.Azure Active Directory Application Name - Name of the Azure Active Directory application that will be used to write secrets to the Key Vault. Viene creata una nuova applicazione con questo nome, se non esiste già.A new application with this name will be created if one doesn't exist. Se è già disponibile un'applicazione Azure Active Directory da usare, immetterne il nome.If you already have an Azure Active Directory application that you want to use, enter the name of that Azure Active Directory application.

Nota

Per informazioni sulla necessità di creare un'applicazione Azure Active Directory, vedere la sezione Registrare un'applicazione con Azure Active Directory nell'articolo Introduzione all'insieme di credenziali delle chiavi di Azure.If you’re curious as to why you need to create an Azure Active Directory application, please see Register an application with Azure Active Directory section in the article Getting Started with Azure Key Vault.

Per crittografare una macchina virtuale di Azure, seguire questa procedura:Perform the following steps to encrypt an Azure Virtual Machine:

  1. Se PowerShell ISE è stato chiuso, aprire un'istanza di PowerShell ISE con privilegi elevati.If you closed the PowerShell ISE, open an elevated instance of the PowerShell ISE. Seguire le istruzioni riportate in precedenza in questo articolo se PowerShell ISE non è già aperto.Follow the instructions earlier in this article if the PowerShell ISE is not already open. Se lo script è stato chiuso, aprire ADEPrereqScript.ps1 facendo clic su File, Apri e quindi selezionare lo script nella cartella C:\AzureADEScript.If you closed the script, then open the ADEPrereqScript.ps1 clicking File, then Open and selecting the script from the c:\AzureADEScript folder. Se le istruzioni contenute in questo articolo sono state seguite dall'inizio, è sufficiente andare al passaggio successivo.If you have followed this article from the start, then just move on to the next step.
  2. Nella console di PowerShell ISE nel riquadro inferiore della finestra di PowerShell ISE spostare lo stato attivo sulla posizione dello script digitando cd c:\AzureADEScript e quindi premere INVIO.In the console of the PowerShell ISE (the bottom pane of the PowerShell ISE), change the focus to the local of the script by typing cd c:\AzureADEScript and press ENTER.
  3. Impostare i criteri di esecuzione del computer in modo che sia possibile eseguire lo script.Set the execution policy on your machine so that you can run the script. Digitare Set-ExecutionPolicy Unrestricted nella console e quindi premere INVIO.Type Set-ExecutionPolicy Unrestricted in the console and then press ENTER. Se viene visualizzata una finestra di dialogo che informa sugli effetti della modifica dei criteri di esecuzione, fare clic su Sì, tutti oppure su . Se l'opzione Sì, tutti viene visualizzata, selezionarla. Se l'opzione Sì, tutti non viene visualizzata, fare clic su .If you see a dialog box telling about the effects of the change to execution policy, click either Yes to all or Yes (if you see Yes to all, select that option – if you do not see Yes to all, then click Yes).
  4. Accedere all'account Azure.Log into your Azure account. Nella console digitare Login-AzureRmAccount e premere INVIO.In the console, type Login-AzureRmAccount and press ENTER. Viene visualizzata una finestra di dialogo in cui inserire le credenziali. Assicurarsi di avere i diritti necessari per modificare le macchine virtuali, in caso contrario non sarà possibile crittografarle.A dialog box will appear in which you enter your credentials (make sure you have rights to change the virtual machines – if you do not have rights, you will not be able to encrypt them. In caso di dubbi, contattare l'amministratore o il proprietario della sottoscrizione).If you are not sure, ask your subscription owner or administrator). Verranno visualizzate le informazioni su ambiente, account, TenantId, SubscriptionId e CurrentStorageAccount.You should see information about your Environment, Account, TenantId, SubscriptionId and CurrentStorageAccount. Copiare SubscriptionId nel Blocco note.Copy the SubscriptionId to Notepad. Sarà necessario nel passaggio 6.You will need to use this in step #6.
  5. Trovare la sottoscrizione a cui appartiene la macchina virtuale e il relativo percorso.Find what subscription your virtual machine belongs to and its location. Passare a https://portal.azure.com ed eseguire l'accesso.Go to https://portal.azure.com and log in. Sul lato sinistro della pagina, fare clic su Macchine virtuali.On the left side of the page, click Virtual Machines. Verrà visualizzato un elenco delle macchine virtuali e delle sottoscrizioni a cui appartengono.You will see a list of your virtual machines and the subscriptions they belong to.

    Macchine virtuali

  6. Tornare alla finestra di PowerShell ISE.Return to the PowerShell ISE. Impostare il contesto della sottoscrizione in cui verrà eseguito lo script.Set the subscription context in which the script will be run. Nella console digitare Select-AzureRmSubscription –SubscriptionId <your_subscription_Id> (sostituire < your_subscription_Id > con l'ID sottoscrizione effettivo) e premere INVIO.In the console, type Select-AzureRmSubscription –SubscriptionId <your_subscription_Id> (replace < your_subscription_Id > with your actual Subscription ID) and press ENTER. Verranno visualizzate le informazioni su ambiente, account, TenantId, SubscriptionId e CurrentStorageAccount.You will see information about the Environment, Account, TenantId, SubscriptionId and CurrentStorageAccount.
  7. A questo punto è possibile eseguire lo script.You are now ready to run the script. Fare clic sul pulsante Esegui script o preme F5 sulla tastiera.Click the Run Script button or press F5 on the keyboard.

    Esecuzione dello script di PowerShell

  8. Lo script richiede il valore resourceGroupName: immettere il nome del gruppo di risorse da usare e quindi premere INVIO.The script asks for resourceGroupName: - enter the name of Resource Group you want to use, then press ENTER. Se non è disponibile, immettere un nome da usare per un nuovo gruppo di risorse.If you don’t have one, enter a name you want to use for a new one. Se è già disponibile un gruppo di risorse da usare, ad esempio quello in cui si trova la macchina virtuale, immetterne il nome.If you already have a Resource Group that you want to use (such as the one that your virtual machine is in), enter the name of the existing Resource Group.
  9. Lo script richiede keyVaultName: immettere il nome dell' insieme di credenziali delle chiavi da usare e quindi premere INVIO.The script asks for keyVaultName: - enter the name of the Key Vault you want to use, then press ENTER. Se non è disponibile, immettere un nome da usare per un nuovo gruppo di risorse.If you don’t have one, enter a name you want to use for a new one. Se è già disponibile un insieme di credenziali delle chiavida usare, immetterne il nome.If you already have a Key Vault that you want to use, enter the name of the existing Key Vault.
  10. Lo script richiede il valore location: immettere il percorso in cui si trova la VM da crittografare, quindi premere INVIO.The script asks for location: - enter the name of the location in which the VM you want to encrypt is located, then press ENTER. Se non si ricorda il percorso, tornare al passaggio 5.If you don’t remember the location, go back to step #5.
  11. Lo script richiede il valore aadAppName: immettere il nome dell'applicazione Azure Active Directory da usare, quindi premere INVIO.The script asks for aadAppName: - enter the name of the Azure Active Directory application you want to use, then press ENTER. Se non è disponibile, immettere un nome da usare per un nuovo gruppo di risorse.If you don’t have one, enter a name you want to use for a new one. Se è già disponibile un'applicazione Azure Active Directory da usare, immetterne il nomeapplicazione Azure Active Directory.If you already have an Azure Active Directory application that you want to use, enter the name of the existing Azure Active Directory application.
  12. Viene visualizzata una finestra di dialogo di accesso.A log in dialog box will appear. Fornire le credenziali. È necessario accedere nuovamente, anche se è già stato eseguito l'accesso.Provide your credentials (yes, you have logged in once, but now you need to do it again).
  13. Lo script viene eseguito e al termine verrà richiesto di copiare i valori di aadClientID, aadClientSecret, diskEncryptionKeyVaultUrl e keyVaultResourceId.The script runs and when complete it will ask you to copy the values of the aadClientID, aadClientSecret, diskEncryptionKeyVaultUrl, and keyVaultResourceId. Copiare i singoli valori negli Appunti e incollarli nel Blocco note.Copy each of these values to the clipboard and paste them into Notepad.
  14. Tornare alla finestra di PowerShell ISE, posizionare il cursore alla fine dell'ultima riga e premere INVIO.Return to the PowerShell ISE and place the cursor at the end of the last line, and press ENTER.

L'output dello script sarà simile alla schermata seguente:The output of the script should look something like the screen below:

Output di PowerShell

Crittografare la macchina virtuale di AzureEncrypt the Azure virtual machine

A questo punto è possibile crittografare la macchina virtuale.You are now ready to encrypt your virtual machine. Se la macchina virtuale si trova nello stesso gruppo di risorse dell'insieme di credenziali delle chiavi, è possibile passare alla sezione Passaggi di crittografia.If your virtual machine is located in the same Resource Group as your Key Vault, you can move on to the encryption steps section. Se la macchina virtuale non si trova nello stesso gruppo di risorse dell'insieme di credenziali delle chiavi, è necessario immettere quanto segue nella console di PowerShell ISE:However, if your virtual machine is not in the same Resource Group as your Key Vault, you will need to enter the following in the console in the PowerShell ISE:

$resourceGroupName = <'Virtual_Machine_RG'>$resourceGroupName = <’Virtual_Machine_RG’>

Sostituire < Virtual_Machine_RG > con il nome del gruppo di risorse in cui sono contenute le macchine virtuali, racchiuso tra virgolette singole,Replace < Virtual_Machine_RG > with the name of the Resource Group in which your virtual machines are contained, surrounded by a single quote. e quindi premere INVIO.Then press ENTER. Per verificare che sia stato immesso il nome del gruppo di risorse corretto, digitare quanto segue nella console di PowerShell ISE:To confirm that the correct Resource Group name was entered, type the following in the PowerShell ISE console:

$resourceGroupName$resourceGroupName

Premere INVIO.Press ENTER. Viene visualizzato il nome del gruppo di risorse in cui si trovano le macchine virtuali.You should see the name of Resource Group that your virtual machines are located in. Ad esempio:For example:

Output di PowerShell

Passaggi di crittografiaEncryption steps

In primo luogo, è necessario specificare in PowerShell il nome della macchina virtuale da crittografare.First, you need to tell PowerShell the name of the virtual machine you want to encrypt. Nella console digitare quanto segue:In the console, type:

$vmName = <'your_vm_name'>$vmName = <’your_vm_name’>

Sostituire <'your_vm_name'> con il nome della VM, racchiuso tra virgolette singole, e quindi premere INVIO.Replace <’your_vm_name’> with the name of your VM (make sure the name is surrounded by a single quote) and then press ENTER.

Per verificare che sia stato immesso il nome della macchina virtuale corretto, digitare:To confirm that the correct VM name was entered, type:

$vmName$vmName

Premere INVIO.Press ENTER. Viene visualizzato il nome della macchina virtuale da crittografare.You should see the name of the virtual machine you want to encrypt. Ad esempio:For example:

Output di PowerShell

Sono disponibili due metodi per eseguire il comando di crittografia per crittografare tutte le unità nella macchina virtuale.There are two methods to run the encryption command to encrypt all drives on the virtual machine. Il primo metodo consiste nel digitare il comando seguente nella console di PowerShell ISE:The first method is to type the following command in the PowerShell ISE console:

Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $resourceGroupName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId -VolumeType All

Dopo aver digitato il comando, premere INVIO.After typing this command press ENTER.

Il secondo metodo consiste nel fare clic nel riquadro di script, vale a dire il riquadro superiore di PowerShell ISE, e scorrere fino alla fine dello script.The second method is to click in the script pane (the top pane of the PowerShell ISE) and scroll down to the bottom of the script. Evidenziare il comando riportato sopra, fare clic su di esso con il pulsante destro del mouse e selezionare Esegui selezione oppure premere F8 sulla tastiera.Highlight the command listed above, and then right click it and then click Run Selection or press F8 on the keyboard.

PowerShell ISE

Indipendentemente dal metodo usato, verrà visualizzata una finestra di dialogo che informa che il completamento dell'operazione richiede 10-15 minuti.Regardless of the method you use, a dialog box will appear informing you that it will take 10-15 minutes for the operation to complete. Fare clic su .Click Yes.

Durante l'esecuzione del processo di crittografia, è possibile tornare al portale di Azure e visualizzare lo stato della macchina virtuale.While the encryption process is taking place, you can return to the Azure Portal and see the status of the virtual machine. Sul lato sinistro della pagina fare clic su Macchine virtuali. Nel pannello Macchine virtuali fare clic sul nome della macchina virtuale di cui è in corso la crittografia.On the left side of the page, click Virtual Machines, then in the Virtual Machines blade, click the name of the virtual machine you’re encrypting. Nel pannello visualizzato lo Stato è indicato come Aggiornamento.In the blade that appears, you’ll notice that the Status says that it’s Updating. Ciò dimostra che la crittografia è in corso.This demonstrates that encryption is in process.

Altri dettagli sulla macchina virtuale

Tornare alla finestra di PowerShell ISE.Return to the PowerShell ISE. Al termine dell'esecuzione dello script, viene visualizzato quanto riportato nella figura seguente.When the script completes, you’ll see what appears in the figure below.

Output di PowerShell

Per verificare che la macchina virtuale ora è crittografata, tornare al portale di Azure e fare clic su Macchine virtuali sul lato sinistro della pagina.To demonstrate that the virtual machine is now encrypted, return to the Azure Portal and click Virtual Machines on the left side of the page. Fare clic sul nome della macchina virtuale appena crittografata.Click the name of the virtual machine you encrypted. Nel pannello Impostazioni fare clic su Dischi.In the Settings blade, click Disks.

Opzioni delle impostazioni

Nel pannello Dischi si noterà che la crittografia è abilitata.On the Disks blade, you will see that Encryption is Enabled.

Proprietà dei dischi

Passaggi successiviNext steps

In questo documento si è appreso come crittografare una macchina virtuale di Azure.In this document, you learned how to encrypt an Azure Virtual Machine. Per ulteriori informazioni sul Centro sicurezza di Azure, vedere gli argomenti seguenti:To learn more about Azure Security Center, see the following: