Azure Disk Encryption per le macchine virtuali IaaS Windows e LinuxAzure Disk Encryption for Windows and Linux IaaS VMs

Microsoft Azure è caratterizzato dal massimo impegno volto ad assicurare la privacy e la sovranità dei dati e a consentire il controllo dei dati ospitati in Azure con una gamma di tecnologie avanzate per crittografare, controllare e gestire le chiavi di crittografia e controllare e verificare l'accesso ai dati.Microsoft Azure is strongly committed to ensuring your data privacy, data sovereignty and enables you to control your Azure hosted data through a range of advanced technologies to encrypt, control and manage encryption keys, control & audit access of data. I clienti di Azure hanno quindi la possibilità di scegliere la soluzione che meglio soddisfa le proprie esigenze aziendali.This provides Azure customers the flexibility to choose the solution that best meets their business needs. In questo documento viene introdotta una nuova soluzione tecnologica, "Azure Disk Encryption per le macchine virtuali IaaS Windows e Linux", che facilita la protezione e la salvaguardia dei dati per rispettare gli impegni in termini di sicurezza e conformità dell'organizzazione.In this paper, we will introduce you to a new technology solution “Azure Disk Encryption for Windows and Linux IaaS VM’s” to help protect and safeguard your data to meet your organizational security and compliance commitments. Il documento include informazioni dettagliate sull'uso delle funzionalità di crittografia del disco di Azure, compresi gli scenari supportati e le esperienze utente.The paper provides detailed guidance on how to use the Azure disk encryption features including the supported scenarios and the user experiences.

Nota

Alcune indicazioni possono comportare un maggior utilizzo delle risorse di calcolo, rete o dati con un conseguente aumento dei costi di licenza o sottoscrizione.Certain recommendations might increase data, network, or compute resource usage, resulting in additional license or subscription costs.

PanoramicaOverview

Crittografia dischi di Azure è una nuova funzionalità che consente di crittografare i dischi delle macchine virtuali IaaS Windows e Linux.Azure Disk Encryption is a new capability that helps you encrypt your Windows and Linux IaaS virtual machine disks. Crittografia dischi di Azure si basa sulla funzionalità BitLocker standard di settore disponibile in Windows e sulla funzionalità DM-Crypt di Linux per offrire la crittografia del volume per i dischi dei dati e del sistema operativo.Azure Disk Encryption leverages the industry standard BitLocker feature of Windows and the DM-Crypt feature of Linux to provide volume encryption for the OS and the data disks. La soluzione è integrata con Azure Key Vault per consentire di controllare e gestire le chiavi di crittografia dei dischi e i segreti nella sottoscrizione di Key Vault.The solution is integrated with Azure Key Vault to help you control and manage the disk-encryption keys and secrets in your key vault subscription. Questa soluzione assicura anche che tutti i dati nei dischi delle macchine virtuali vengano crittografati quando inattivi in Archiviazione di Azure.The solution also ensures that all data on the virtual machine disks are encrypted at rest in your Azure storage.

Crittografia dischi di Azure per macchine virtuali IaaS Windows e Linux ha ora disponibilità generale in tutte le aree pubbliche e AzureGov di Azure per macchine virtuali standard e macchine virtuali con archiviazione Premium.Azure disk encryption for Windows and Linux IaaS VMs is now in General Availability in all Azure public regions and AzureGov regions for Standard VMs and VMs with premium storage.

Scenari di crittografiaEncryption scenarios

La soluzione Crittografia dischi di Azure supporta i tre scenari dei clienti descritti di seguito:The Azure Disk Encryption solution supports the following customer scenarios:

  • Abilitare la crittografia nelle nuove VM IaaS create da chiavi di crittografia e VHD pre-crittografatiEnable encryption on new IaaS VMs created from pre-encrypted VHD and encryption keys
  • Abilitare la crittografia in nuove VM IaaS create da immagini della raccolta di Azure supportateEnable encryption on new IaaS VMs created from the supported Azure Gallery images
  • Abilitare la crittografia in VM IaaS esistenti in esecuzione in AzureEnable encryption on existing IaaS VMs running in Azure
  • Disabilitare la crittografia nelle VM IaaS WindowsDisable encryption on Windows IaaS VMs
  • Disabilitare la crittografia nelle unità dati per le VM IaaS LinuxDisable encryption on data drives for Linux IaaS VMs
  • Abilitare la crittografia delle macchine virtuali con disco gestitoEnable encryption of managed disk VMs
  • Aggiornare le impostazioni di crittografia di una macchina virtuale dotata di archiviazione Premium e non Premium crittografata esistenteUpdate encryption settings of an existing encrypted premium and non-premium storage VM
  • Eseguire il backup e il ripristino di macchine virtuali crittografateBackup and restore of encrypted VMs

La soluzione supporta gli scenari seguenti per le macchine virtuali IaaS, se abilitati in Microsoft Azure:The solution supports the following scenarios for IaaS VMs when they are enabled in Microsoft Azure:

  • Integrazione dell'insieme di credenziali delle chiavi di Azure.Integration with Azure Key Vault
  • Macchine virtuali di livello Standard: serie A, D, DS, G, GS, F e così via per VM IaaSStandard tier VMs: A, D, DS, G, GS, F, and so forth series IaaS VMs
  • Abilitare la crittografia nelle macchine virtuali IaaS Windows e Linux e nelle macchine virtuali con disco gestito dalle immagini della raccolta di Azure supportateEnable encryption on Windows and Linux IaaS VMs and managed disk VMs from the supported Azure Gallery images
  • Disabilitare la crittografia nel sistema operativo e nelle unità dati per le macchine virtuali IaaS Windows e per le macchine virtuali con disco gestitoDisable encryption on OS and data drives for Windows IaaS VMs and managed disk VMs
  • Disabilitare la crittografia nelle unità dati per le macchine virtuali IaaS Linux e per le macchine virtuali con disco gestitoDisable encryption on data drives for Linux IaaS VMs and managed disk VMs
  • Abilitare la crittografia in VM IaaS eseguite nel sistema operativo client WindowsEnable encryption on IaaS VMs running Windows Client OS
  • Abilitare la crittografia su volumi con percorsi di montaggioEnable encryption on volumes with mount paths
  • Abilitare la crittografia nelle macchine virtuali Linux configurate con striping del disco (RAID) tramite mdadmEnable encryption on Linux VMs configured with disk striping (RAID) using mdadm
  • Abilitare la crittografia nelle macchine virtuali Linux usando LVM per i dischi datiEnable encryption on Linux VMs using LVM for data disks
  • Abilitare la crittografia in Linux LVM 7.3 per i dischi del sistema operativo e i dischi datiEnable encryption on Linux LVM 7.3 for OS and data disks
  • Abilitare la crittografia nelle VM Windows configurate con spazi di archiviazioneEnable encryption on Windows VMs configured with Storage Spaces
  • Aggiornare le impostazioni di crittografia di una macchina virtuale dotata di archiviazione Premium e non Premium crittografata esistenteUpdate encryption settings of an existing encrypted premium and non-premium storage VM
  • Eseguire il backup e il ripristino di macchine virtuali crittografate, per scenari con e senza KEK (Key Encryption Key)Backup and restore of encrypted VMs, for both no-KEK and KEK scenarios (KEK - Key Encryption Key)
  • Sono supportate tutte le aree di Azure pubbliche e AzureGovAll Azure Public and AzureGov regions are supported

La soluzione non supporta gli scenari, le funzionalità e la tecnologia seguenti:The solution does not support the following scenarios, features, and technology:

  • VM IaaS del piano BasicBasic tier IaaS VMs
  • Disabilitazione della crittografia in un'unità del sistema operativo per le VM IaaS LinuxDisabling encryption on an OS drive for Linux IaaS VMs
  • Disabilitazione della crittografia in un'unità di dati se l'unità del sistema operativo è crittografata per le macchine virtuali Iaas di LinuxDisabling encryption on a data drive if the OS drive is encrypted for Linux Iaas VMs
  • Macchine virtuali IaaS create usando il metodo di creazione classico per le macchine virtualiIaaS VMs that are created by using the classic VM creation method
  • La crittografia per le immagini personalizzate nelle macchine virtuali Windows e Linux IaaS NON è supportata.Enable encryption on Windows and Linux IaaS VMs customer custom images is NOT supported.
  • Integrazione con il servizio di gestione delle chiavi locale.Integration with your on-premises Key Management Service
  • File di Azure (file system condiviso), file system di rete (NFS, Network File System), volumi dinamici e macchine virtuali Windows configurate con sistemi RAID basati su softwareAzure Files (shared file system), Network File System (NFS), dynamic volumes, and Windows VMs that are configured with software-based RAID systems

Funzionalità di crittografiaEncryption features

Quando si abilita e si distribuisce la Crittografia dischi di Azure per le VM IaaS di Azure, sono abilitate le funzionalità seguenti, a seconda della configurazione fornita:When you enable and deploy Azure Disk Encryption for Azure IaaS VMs, the following capabilities are enabled, depending on the configuration provided:

  • Crittografia del volume del sistema operativo per proteggere il volume di avvio inattivo nella risorsa di archiviazione dell'utenteEncryption of the OS volume to protect the boot volume at rest in your storage
  • Crittografia dei volumi dati per proteggere i volumi dati inattivi nella risorsa di archiviazione dell'utenteEncryption of data volumes to protect the data volumes at rest in your storage
  • Disabilitazione della crittografia nel sistema operativo e nelle unità dati per le VM IaaS WindowsDisabling encryption on the OS and data drives for Windows IaaS VMs
  • Disabilitazione della crittografia nelle unità dati per le macchine virtuali IaaS Linux (solo se l'unità del sistema operativo NON È crittografata)Disabling encryption on the data drives for Linux IaaS VMs (only if OS drive IS NOT encrypted)
  • Protezione delle chiavi di crittografia e dei segreti nella sottoscrizione di Key VaultSafeguarding the encryption keys and secrets in your key vault subscription
  • Segnalazione dello stato di crittografia della macchina virtuale IaaS crittografataReporting the encryption status of the encrypted IaaS VM
  • Rimozione delle impostazioni di configurazione della crittografia del disco dalla macchina virtuale IaaSRemoval of disk-encryption configuration settings from the IaaS virtual machine
  • Backup e ripristino delle macchine virtuali crittografate usando il servizio Backup di AzureBackup and restore of encrypted VMs by using the Azure Backup service

Crittografia dischi di Azure per macchine virtuali IaaS per soluzioni Windows e Linux include:Azure Disk Encryption for IaaS VMS for Windows and Linux solution includes:

  • Estensione di crittografia del disco per Windows.The disk-encryption extension for Windows.
  • Estensione di crittografia del disco per Linux.The disk-encryption extension for Linux.
  • Cmdlet di PowerShell per la crittografia del disco.The disk-encryption PowerShell cmdlets.
  • Cmdlet dell'interfaccia della riga di comando di Azure per la crittografia del disco.The disk-encryption Azure command-line interface (CLI) cmdlets.
  • Modelli di Azure Resource Manager per la crittografia del disco.The disk-encryption Azure Resource Manager templates.

La soluzione Crittografia dischi di Azure è supportata nelle macchine virtuali IaaS in esecuzione in sistemi operativi Windows o Linux.The Azure Disk Encryption solution is supported on IaaS VMs that are running Windows or Linux OS. Per altre informazioni sui sistemi operativi supportati, vedere la sezione "Prerequisiti".For more information about the supported operating systems, see the "Prerequisites" section.

Nota

Non è previsto alcun addebito aggiuntivo per la crittografia dei dischi delle macchine virtuali con Crittografia dischi di Azure.There is no additional charge for encrypting VM disks with Azure Disk Encryption.

Proposta di valoreValue proposition

Quando si applica la soluzione di gestione Crittografia dischi di Azure, è possibile soddisfare le esigenze aziendali seguenti:When you apply the Azure Disk Encryption-management solution, you can satisfy the following business needs:

  • Le VM IaaS inattive sono protette perché è possibile usare la tecnologia di crittografia standard per soddisfare i requisiti di sicurezza e conformità dell'organizzazione.IaaS VMs are secured at rest, because you can use industry-standard encryption technology to address organizational security and compliance requirements.
  • Le macchine virtuali IaaS vengono avviate con chiavi e criteri controllati dai clienti ed è possibile controllarne l'utilizzo nell'insieme di credenziali delle chiavi.IaaS VMs boot under customer-controlled keys and policies, and you can audit their usage in your key vault.

Flusso di lavoro della crittografiaEncryption workflow

Per abilitare la crittografia dei dischi per macchine virtuali Windows e Linux, seguire questa procedura:To enable disk encryption for Windows and Linux VMs, do the following:

  1. Scegliere uno scenario di crittografia tra gli scenari di crittografia precedenti.Choose an encryption scenario from among the preceding encryption scenarios.
  2. Acconsentire esplicitamente per abilitare la crittografia dei dischi tramite il modello di Resource Manager di Crittografia dischi di Azure, i cmdlet di PowerShell o un comando dell'interfaccia della riga di comando e specificare la configurazione della crittografia.Opt in to enabling disk encryption via the Azure Disk Encryption Resource Manager template, PowerShell cmdlets, or CLI command, and specify the encryption configuration.

    • Per lo scenario di disco rigido virtuale con crittografia del cliente, caricare il disco rigido virtuale crittografato nell'account di archiviazione e il materiale della chiave di crittografia nell'insieme di credenziali delle chiavi.For the customer-encrypted VHD scenario, upload the encrypted VHD to your storage account and the encryption key material to your key vault. Specificare quindi la configurazione della crittografia per abilitare la crittografia in una nuova macchina virtuale IaaS.Then, provide the encryption configuration to enable encryption on a new IaaS VM.
    • Per le nuove macchine virtuali create dal Marketplace e per le macchine virtuali esistenti già in esecuzione in Azure, specificare la configurazione della crittografia per abilitare la crittografia nella VM IaaS.For new VMs that are created from the Marketplace and existing VMs that are already running in Azure, provide the encryption configuration to enable encryption on the IaaS VM.
  3. Concedere l'accesso alla piattaforma Azure per la lettura del materiale della chiave di crittografia, ovvero le chiavi di crittografia BitLocker per i sistemi Windows e Passphrase per Linux, dall'insieme di credenziali delle chiavi locale per abilitare la crittografia nella VM IaaS.Grant access to the Azure platform to read the encryption-key material (BitLocker encryption keys for Windows systems and Passphrase for Linux) from your key vault to enable encryption on the IaaS VM.

  4. Specificare l'identità dell'applicazione di Azure Active Directory (Azure AD) per scrivere il materiale della chiave di crittografia nell'insieme di credenziali delle chiavi.Provide the Azure Active Directory (Azure AD) application identity to write the encryption key material to your key vault. Questa operazione abilita la crittografia nella macchina virtuale IaaS per gli scenari indicati nel passaggio 2.Doing so enables encryption on the IaaS VM for the scenarios mentioned in step 2.

  5. Azure aggiorna il modello del servizio della macchina virtuale con la crittografia e la configurazione dell'insieme di credenziali delle chiavi e quindi configura la VM crittografata.Azure updates the VM service model with encryption and the key vault configuration, and sets up your encrypted VM.

    Microsoft Antimalware in Azure

Flusso di lavoro della decrittografiaDecryption workflow

Per disabilitare la crittografia dei dischi per le macchine virtuali IaaS, seguire questa procedura generale:To disable disk encryption for IaaS VMs, complete the following high-level steps:

  1. Scegliere di disabilitare la crittografia (decrittografia) in una macchina virtuale IaaS in esecuzione in Azure tramite il modello di Resource Manager per Crittografia dischi di Azure o i cmdlet di PowerShell, quindi specificare la configurazione della crittografia.Choose to disable encryption (decryption) on a running IaaS VM in Azure via the Azure Disk Encryption Resource Manager template or PowerShell cmdlets, and specify the decryption configuration.

    Questo passaggio agisce sul volume dati o sul volume del sistema operativo o entrambi nella VM IaaS Windows in esecuzione.This step disables encryption of the OS or the data volume or both on the running Windows IaaS VM. Come indicato nella sezione precedente, tuttavia, la disabilitazione della crittografia del disco del sistema operativo per Linux non è supportata.However, as mentioned in the previous section, disabling OS disk encryption for Linux is not supported. Il passaggio di decrittografia è consentito solo per le unità dati nelle macchine virtuali Linux, purché l'unità del sistema operativo non sia crittografata.The decryption step is allowed only for data drives on Linux VMs as long as the OS disk is not encrypted.

  2. Azure aggiorna il modello di servizi della macchina virtuale e la VM IaaS viene contrassegnata come decrittografata.Azure updates the VM service model, and the IaaS VM is marked decrypted. Il contenuto inattivo della VM non viene più crittografato.The contents of the VM are no longer encrypted at rest.

Nota

L'operazione di disabilitazione della crittografia non elimina l'insieme di credenziali delle chiavi e il materiale della chiave di crittografia, ovvero le chiavi di crittografia BitLocker per sistemi Windows o Passphrase per Linux.The disable-encryption operation does not delete your key vault and the encryption key material (BitLocker encryption keys for Windows systems or Passphrase for Linux). La disabilitazione della crittografica del disco del sistema operativo per Linux non è supportata.Disabling OS disk encryption for Linux is not supported. Il passaggio di decrittografia è consentito solo per le unità dati nelle macchine virtuali Linux.The decryption step is allowed only for data drives on Linux VMs. La disabilitazione della crittografia del disco dati per Linux non è supportata se l'unità del sistema operativo è crittografata.Disabling data disk encryption for Linux is not supported if the OS drive is encrypted.

PrerequisitiPrerequisites

Prima di abilitare Crittografia dischi di Azure nelle macchine virtuali IaaS di Azure per gli scenari supportati illustrati nella sezione "Panoramica", vedere i prerequisiti seguenti:Before you enable Azure Disk Encryption on Azure IaaS VMs for the supported scenarios that were discussed in the "Overview" section, see the following prerequisites:

  • Per creare le risorse in Azure nella aree geografiche supportate, è necessario avere una sottoscrizione di Azure attiva e valida.You must have a valid active Azure subscription to create resources in Azure in the supported regions.
  • Crittografia dischi di Azure è supportata nelle versioni di Windows Server seguenti: Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 e Windows Server 2016.Azure Disk Encryption is supported on the following Windows Server versions: Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, and Windows Server 2016.
  • Crittografia dischi di Azure è supportato nelle versioni client di Windows seguenti: client Windows 8 e client Windows 10.Azure Disk Encryption is supported on the following Windows client versions: Windows 8 client and Windows 10 client.

Nota

Per Windows Server 2008 R2 è necessario che .NET Framework 4.5 sia installato prima dell'abilitazione della crittografia in Azure.For Windows Server 2008 R2, you must have .NET Framework 4.5 installed before you enable encryption in Azure. È possibile installarlo da Windows Update tramite l'aggiornamento facoltativo Microsoft .NET Framework 4.5.2 per i sistemi Windows Server 2008 R2 basati su x64 (KB2901983).You can install it from Windows Update by installing the optional update Microsoft .NET Framework 4.5.2 for Windows Server 2008 R2 x64-based systems (KB2901983).

  • Crittografia dischi di Azure è supportato nelle seguenti distribuzioni e versioni della raccolta di Azure basata sul server Linux:Azure Disk Encryption is supported on the following Azure Gallery based Linux server distributions and versions:
Distribuzione LinuxLinux Distribution VersioneVersion Tipo di volume supportato per la crittografiaVolume Type Supported for Encryption
UbuntuUbuntu 16.04-DAILY-LTS16.04-DAILY-LTS Disco del sistema operativo e datiOS and Data disk
UbuntuUbuntu 14.04.5-DAILY-LTS14.04.5-DAILY-LTS Disco del sistema operativo e datiOS and Data disk
UbuntuUbuntu 12.1012.10 Disco datiData disk
UbuntuUbuntu 12.0412.04 Disco datiData disk
RHELRHEL 7.47.4 Disco del sistema operativo e datiOS and Data disk
RHELRHEL 7.37.3 Disco del sistema operativo e datiOS and Data disk
RHELRHEL LVM 7.3LVM 7.3 Disco del sistema operativo e datiOS and Data disk
RHELRHEL 7,27.2 Disco del sistema operativo e datiOS and Data disk
RHELRHEL 6.86.8 Disco del sistema operativo e datiOS and Data disk
RHELRHEL 6.76.7 Disco datiData disk
CentOSCentOS 7.37.3 Disco del sistema operativo e datiOS and Data disk
CentOSCentOS 7.2n7.2n Disco del sistema operativo e datiOS and Data disk
CentOSCentOS 6.86.8 Disco del sistema operativo e datiOS and Data disk
CentOSCentOS 7.17.1 Disco datiData disk
CentOSCentOS 7.07.0 Disco datiData disk
CentOSCentOS 6.76.7 Disco datiData disk
CentOSCentOS 6.66.6 Disco datiData disk
CentOSCentOS 6,56.5 Disco datiData disk
openSUSEopenSUSE 13.213.2 Disco datiData disk
SLESSLES 12 SP112 SP1 Disco datiData disk
SLESSLES 12-SP1 (Premium)12-SP1 (Premium) Disco datiData disk
SLESSLES HPC 12HPC 12 Disco datiData disk
SLESSLES 11-SP4 (Premium)11-SP4 (Premium) Disco datiData disk
SLESSLES 11 SP411 SP4 Disco datiData disk
  • Crittografia dischi di Azure richiede che l'insieme di credenziali delle chiavi e le macchine virtuali si trovino nella stessa area e sottoscrizione di Azure.Azure Disk Encryption requires that your key vault and VMs reside in the same Azure region and subscription.

Nota

La configurazione delle risorse in aree separate causa un errore nell'attivazione della funzionalità Crittografia dischi di Azure.Configuring the resources in separate regions causes a failure in enabling the Azure Disk Encryption feature.

  • Per installare e configurare l'insieme di credenziali delle chiavi per Crittografia dischi di Azure, vedere la sezione Installare e configurare l'insieme di credenziali delle chiavi per Crittografia dischi di Azure nella sezione Prerequisiti di questo articolo.To set up and configure your key vault for Azure Disk Encryption, see section Set up and configure your key vault for Azure Disk Encryption in the Prerequisites section of this article.
  • Per impostare e configurare l'applicazione Azure AD in Azure Active Directory per Crittografia dischi di Azure, vedere la sezione Installare l'applicazione Azure AD in Azure Active Directory nella sezione Prerequisiti di questo articolo.To set up and configure Azure AD application in Azure Active directory for Azure Disk Encryption, see section Set up the Azure AD application in Azure Active Directory in the Prerequisites section of this article.
  • Per impostare e configurare i criteri di accesso dell'insieme di credenziali delle chiavi per l'applicazione Azure AD, vedere la sezione Configurare i criteri di accesso per l'insieme di credenziali delle chiavi per l'applicazione Azure AD nella sezione Prerequisiti di questo articolo.To set up and configure the key vault access policy for the Azure AD application, see section Set up the key vault access policy for the Azure AD application in the Prerequisites section of this article.
  • Per preparare un disco rigido virtuale Windows pre-crittografato, vedere la sezione Preparare un disco rigido virtuale Windows pre-crittografato nell'Appendice.To prepare a pre-encrypted Windows VHD, see section Prepare a pre-encrypted Windows VHD in the Appendix.
  • Per preparare un disco rigido virtuale Linux pre-crittografato, vedere la sezione Preparare un disco rigido virtuale Linux pre-crittografato nell'Appendice.To prepare a pre-encrypted Linux VHD, see section Prepare a pre-encrypted Linux VHD in the Appendix.
  • La piattaforma Azure deve avere accesso alle chiavi di crittografia o ai segreti nell'insieme di credenziali delle chiavi per renderli disponibili alla macchina virtuale in fase di avvio e di decrittografia del volume del sistema operativo della macchina virtuale.The Azure platform needs access to the encryption keys or secrets in your key vault to make them available to the virtual machine when it boots and decrypts the virtual machine OS volume. Per concedere autorizzazioni alla piattaforma Azure, impostare la proprietà EnabledForDiskEncryption nell'insieme di credenziali delle chiavi.To grant permissions to Azure platform, set the EnabledForDiskEncryption property in the key vault. Per altre informazioni, vedere Installare e configurare l'insieme di credenziali delle chiavi per Crittografia dischi di Azure nell'Appendice.For more information, see Set up and configure your key vault for Azure Disk Encryption in the Appendix.
  • È necessario applicare il controllo delle versioni agli URL del segreto dell'insieme di credenziali delle chiavi e della chiave di crittografia della chiave.Your key vault secret and KEK URLs must be versioned. Azure applica questa restrizione relativa al controllo delle versioni.Azure enforces this restriction of versioning. Per informazioni sugli URL del segreto e della chiave di crittografia della chiave validi, vedere gli esempi seguenti:For valid secret and KEK URLs, see the following examples:

  • Crittografia dischi di Azure non supporta la possibilità di specificare i numeri di porta come parte dei segreti dell'insieme di credenziali delle chiavi e degli URL della chiave di crittografia della chiave.Azure Disk Encryption does not support specifying port numbers as part of key vault secrets and KEK URLs. Ecco alcuni esempi di URL di insiemi di credenziali delle chiavi non supportati e supportati:For examples of non-supported and supported key vault URLs, see the following:

  • Per abilitare la funzionalità Crittografia dischi di Azure, le VM IaaS devono soddisfare i requisiti di configurazione degli endpoint di rete seguenti:To enable the Azure Disk Encryption feature, the IaaS VMs must meet the following network endpoint configuration requirements:

    • Per ottenere un token per la connessione all'insieme di credenziali delle chiavi, è necessario che la macchina virtuale IaaS possa connettersi a un endpoint di Azure Active Directory, [login.microsoftonline.com].To get a token to connect to your key vault, the IaaS VM must be able to connect to an Azure Active Directory endpoint, [login.microsoftonline.com].
    • Per scrivere le chiavi di crittografia nell'insieme di credenziali delle chiavi, è necessario che la macchina virtuale IaaS possa connettersi all'endpoint dell'insieme di credenziali delle chiavi.To write the encryption keys to your key vault, the IaaS VM must be able to connect to the key vault endpoint.
    • La VM IaaS deve potersi connettere a un endpoint di archiviazione di Azure che ospita il repository delle estensioni di Azure e a un account di archiviazione di Azure che ospita i file del disco rigido virtuale.The IaaS VM must be able to connect to an Azure storage endpoint that hosts the Azure extension repository and an Azure storage account that hosts the VHD files.

    Nota

    Se i criteri di sicurezza limitano l'accesso dalle macchine virtuali di Azure a Internet, è possibile risolvere l'URI precedente e configurare una regola specifica per consentire la connettività in uscita agli indirizzi IP.If your security policy limits access from Azure VMs to the Internet, you can resolve the preceding URI and configure a specific rule to allow outbound connectivity to the IPs.

    Per configurare e accedere ad Azure Key Vault dietro un firewall (https://docs.microsoft.com/en-us/azure/key-vault/key-vault-access-behind-firewall)To configure and access Azure Key Vault behind a firewall(https://docs.microsoft.com/en-us/azure/key-vault/key-vault-access-behind-firewall)

  • Usare la versione più recente della versione di Azure PowerShell SDK per configurare Crittografia dischi di Azure.Use the latest version of Azure PowerShell SDK version to configure Azure Disk Encryption. Scaricare la versione più recente di Azure PowerShellDownload the latest version of Azure PowerShell release

    Nota

    Crittografia dischi di Azure non è supportata in Azure PowerShell SDK versione 1.1.0.Azure Disk Encryption is not supported on Azure PowerShell SDK version 1.1.0. Se viene visualizzato un errore relativo all'uso di Azure PowerShell 1.1.0, vedere Azure Disk Encryption Error Related to Azure PowerShell 1.1.0 (Errore di Crittografia dischi di Azure correlato ad Azure PowerShell 1.1.0).If you are receiving an error related to using Azure PowerShell 1.1.0, see Azure Disk Encryption Error Related to Azure PowerShell 1.1.0.

  • Per eseguire uno dei comandi dell'interfaccia della riga di comando di Azure e associarla alla sottoscrizione di Azure, è necessario installare prima di tutto l'interfaccia della riga di comando di Azure:To run any Azure CLI command and associate it with your Azure subscription, you must first install Azure CLI:

  • Per la crittografia di un disco gestito, è un prerequisito obbligatorio eseguire uno snapshot del disco gestito o un backup del disco all'esterno di Crittografia dischi di Azure prima di abilitare la crittografia.When encrypting a managed disk, it is mandatory prerequisite to take a snapshot of the managed disk or a backup of the disk outside of Azure Disk Encryption prior to enabling encryption. In mancanza di un backup, qualsiasi errore imprevisto durante la crittografia potrebbe rendere il disco e la macchina virtuale inaccessibili senza possibilità di ripristino.Without a backup in place, any unexpected failure during encryption may render the disk and VM inaccessible without a recovery option. Set-AzureRmVMDiskEncryptionExtension attualmente non esegue il backup dei dischi gestiti e genera un errore se viene usato su un disco gestito, a meno che non sia stato specificato il parametro -skipVmBackup.Set-AzureRmVMDiskEncryptionExtension does not currently back up managed disks and will error if used against a managed disk unless the -skipVmBackup parameter has been specified. Questo parametro non è sicuro da usare, a meno che non sia già stato eseguito un backup all'esterno di Crittografia dischi di Azure.This parameter is unsafe to use unless a backup has already been made outside of Azure Disk Encryption. Quando si specifica il parametro -skipVmBackup, il cmdlet non effettua una copia di backup del disco gestito prima della crittografia.When the -skipVmBackup parameter is specified, the cmdlet will not make a backup of the managed disk prior to encryption. Per questo motivo, viene considerato un prerequisito obbligatorio assicurarsi di aver eseguito un backup della macchina virtuale con il disco gestito prima di abilitare Crittografia dischi di Azure, nel caso sia necessario il ripristino in un secondo momento.For this reason, it is considered a mandatory prerequisite to make sure a backup of the managed disk VM is in place prior to enabling Azure Disk Encryption in case recovery is later needed.

    Nota

    Il parametro -skipVmBackup non deve mai essere usato, a meno che non sia già stato eseguito uno snapshot o un backup all'esterno di Crittografia dischi di Azure.The -skipVmBackup parameter should never be used unless a snapshot or backup has already been made outside of Azure Disk Encryption.

  • La soluzione Crittografia dischi di Azure usa la protezione con chiave esterna BitLocker per macchine virtuali IaaS Windows.The Azure Disk Encryption solution uses the BitLocker external key protector for Windows IaaS VMs. Per le macchine virtuali sono aggiunte a un dominio, NON eseguire il push di criteri di gruppo che applichino protezioni TPM.For domain joined VMs, DO NOT push any group policies that enforce TPM protectors. Per informazioni sui Criteri di gruppo per consentire BitLocker senza un TPM compatibile, vedere BitLocker Group Policy Reference (Informazioni di riferimento sui Criteri di gruppo BitLocker).For information about the group policy for “Allow BitLocker without a compatible TPM,” see BitLocker Group Policy Reference.

  • I criteri di BitLocker nelle macchine virtuali aggiunte a un dominio con criteri di gruppo personalizzati devono includere l'impostazione seguente: Configure user storage of bitlocker recovery information -> Allow 256-bit recovery key Crittografia dischi di Azure avrà esito negativo quando le impostazioni dei criteri di gruppo personalizzati per BitLocker sono incompatibili.Bitlocker policy on domain joined virtual machines with custom group policy must include the following setting: Configure user storage of bitlocker recovery information -> Allow 256-bit recovery key Azure Disk Encryption will fail when custom group policy settings for Bitlocker are incompatible. Nei computer che non dispongono dell'impostazione dei criteri corretta potrebbe essere necessario applicare i nuovi criteri, forzare l'aggiornamento dei nuovi criteri (gpupdate.exe /force) e quindi eseguire il riavvio.On machines that did not have the correct policy setting, applying the new policy, forcing the new policy to update (gpupdate.exe /force), and then restarting may be required.
  • Per creare un'applicazione Azure AD, creare un insieme di credenziali delle chiavi o configurare un insieme di credenziali delle chiavi esistente e abilitare la crittografia, vedere lo script di PowerShell prerequisito per Crittografia dischi di Azure.To create an Azure AD application, create a key vault, or set up an existing key vault and enable encryption, see the Azure Disk Encryption prerequisite PowerShell script.
  • Per configurare i prerequisiti della crittografia dei dischi usando l'interfaccia della riga di comando, vedere questo script Bash.To configure disk-encryption prerequisites using the Azure CLI, see this Bash script.
  • Per usare il servizio Backup di Azure per eseguire il backup e ripristinare le macchine virtuali crittografate, quando la crittografia è abilitata con Crittografia dischi di Azure, crittografare le VM usando la configurazione delle chiavi di Crittografia dischi di Azure.To use the Azure Backup service to back up and restore encrypted VMs, when encryption is enabled with Azure Disk Encryption, encrypt your VMs by using the Azure Disk Encryption key configuration. Il servizio Backup supporta le macchine virtuali crittografate usando configurazioni con o senza KEK.The Backup service supports VMs that are encrypted using no-KEK or KEK configurations. Vedere Come eseguire il backup e il ripristino delle macchine virtuali crittografate con il Backup di Azure.See How to back up and restore encrypted virtual machines with Azure Backup encryption.

  • Per la crittografia di un volume del sistema operativo Linux, è attualmente necessario un riavvio della macchina virtuale al termine del processo.When encrypting a Linux OS volume, note that a VM restart is currently required at the end of the process. Questa operazione può essere eseguita tramite il portale, PowerShell o l'interfaccia della riga di comando.This can be done via the portal, powershell, or CLI. Per monitorare l'avanzamento della crittografia, eseguire periodicamente il polling del messaggio di stato restituito da Get-AzureRmVMDiskEncryptionStatus https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/get-azurermvmdiskencryptionstatus.To track the progress of encryption, periodically poll the status message returned by Get-AzureRmVMDiskEncryptionStatus https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/get-azurermvmdiskencryptionstatus. Al termine della crittografia, il messaggio di stato restituito da questo comando indicherà che l'operazione è stata completata.Once encryption is complete, the the status message returned by this command will indicate this. Ad esempio, "ProgressMessage: OS disk successfully encrypted, please reboot the VM" (ProgressMessage: disco del sistema operativo crittografato, riavviare la macchina virtuale). A questo punto, la macchina virtuale può essere riavviata e usata.For example, "ProgressMessage: OS disk successfully encrypted, please reboot the VM" At this point the VM can be restarted and used.

  • Crittografia dischi di Azure per Linux richiede che i dischi dati abbiano un file system montato in Linux prima della crittografiaAzure Disk Encryption for Linux requires data disks to have a mounted file system in Linux prior to encryption

  • I dischi dati montati in modo ricorsivo non sono supportati da Crittografia dischi di Azure per Linux.Recursively mounted data disks are not supported by the Azure Disk Encryption for Linux. Se ad esempio nel sistema di destinazione è stato eseguito il montaggio di un disco in /foo/bar e quindi di un altro disco in /foo/bar/baz, la crittografia di /foo/bar/baz verrà eseguita, mentre quella di /foo/bar avrà esito negativo.For example, if the target system has mounted a disk on /foo/bar and then another on /foo/bar/baz, the encryption of /foo/bar/baz will succeed, but encryption of /foo/bar will fail.

  • Crittografia dischi di Azure è supportata solo nelle immagini supportate della raccolta di Azure che soddisfano i prerequisiti menzionati in precedenza.Azure Disk Encryption is only supported on Azure gallery supported images that meet the aforementioned prerequisites. Le immagini personalizzate non sono supportate a causa degli schemi di partizione e dei comportamenti dei processi personalizzati che possono essere presenti in queste immagini.Customer custom images are not supported due to custom partition schemes and process behaviors that may exist on these images. Inoltre, potrebbero risultare incompatibili anche le macchine virtuali basate su immagini della raccolta che inizialmente soddisfacevano i prerequisiti ma che sono state modificate dopo la creazione.Further, even gallery image based VM's that initially met prerequisites but have been modified after creation may be incompatible. Per tale motivo, la procedura consigliata per la crittografia di una macchina virtuale Linux prevede di partire da un'immagine della raccolta pulita, crittografare la macchina virtuale e quindi aggiungere alla macchina virtuale il software o i dati personalizzati in base alle esigenze.For that reason, the suggested procedure for encrypting a Linux VM is to start from a clean gallery image, encrypt the VM, and then add custom software or data to the VM as needed.

  • Crittografia dischi di Azure e volume dati locale - Volume BEK per le macchine virtuali IaaS Windows e /mnt/azure_bek_disk per le macchine virtuali IaaS Linux, per archiviare in modo sicuro la chiave di crittografia.Azure Disk Encryption and local data volume - Bek Volume for Windows and /mnt/azure_bek_disk for Linux IaaS VMs to securely hold the encryption key. Non eliminare né modificare il contenuto del disco.Do not delete or edit any contents in this disk. Non smontare il disco, perché la presenza delle chiavi di crittografia è necessaria per qualsiasi operazione di crittografia sulla VM IaaS.Do not unmount the disk since the encryption key presence is needed for any encryption operations on the IaaS VM. Il file leggimi incluso nel volume contiene dettagli aggiuntivi.README file included in the volume contains additional details.

Configurare l'applicazione Azure AD in Azure Active DirectorySet up the Azure AD application in Azure Active Directory

Quando è necessario abilitare la crittografia in una macchina virtuale in esecuzione in Azure, Crittografia dischi di Azure genera e scrive le chiavi di crittografia nell'insieme di credenziali delle chiavi.When you need encryption to be enabled on a running VM in Azure, Azure Disk Encryption generates and writes the encryption keys to your key vault. La gestione delle chiavi di crittografia nell'insieme di credenziali delle chiavi richiede l'autenticazione di Azure AD.Managing encryption keys in your key vault requires Azure AD authentication.

Creare quindi un'applicazione Azure AD per questo scopo.For this purpose, create an Azure AD application. Per informazioni dettagliate sulla procedura di registrazione di un'applicazione, vedere la sezione relativa al recupero di un'identità per l'applicazione del post di blog Azure Key Vault - Step by Step (Procedura dettagliata per Azure Key Vault).You can find detailed steps for registering an application in the “Get an Identity for the Application” section of the blog post Azure Key Vault - Step by Step. Questo post include anche alcuni esempi utili per l'installazione e la configurazione dell'insieme di credenziali delle chiavi.This post also contains a number of helpful examples for setting up and configuring your key vault. Ai fini dell'autenticazione, è possibile usare l'autenticazione basata sul segreto client o l'autenticazione di Azure AD basata sul certificato client.For authentication purposes, you can use either client secret-based authentication or client certificate-based Azure AD authentication.

Autenticazione basata su segreto client per Azure ADClient secret-based authentication for Azure AD

Le sezioni seguenti sono utili per configurare l'autenticazione basata sul segreto client per Azure AD.The sections that follow can help you configure a client secret-based authentication for Azure AD.

Creare un'applicazione Azure AD usando Azure PowerShellCreate an Azure AD application by using Azure PowerShell

Usare il cmdlet di PowerShell seguenti per creare un'applicazione Azure AD:Use the following PowerShell cmdlet to create an Azure AD application:

$aadClientSecret = "yourSecret"
$azureAdApplication = New-AzureRmADApplication -DisplayName "<Your Application Display Name>" -HomePage "<https://YourApplicationHomePage>" -IdentifierUris "<https://YouApplicationUri>" -Password $aadClientSecret
$servicePrincipal = New-AzureRmADServicePrincipal –ApplicationId $azureAdApplication.ApplicationId

Nota

$azureAdApplication.ApplicationId è l'ID client di Azure AD e $aadClientSecret è il segreto client da usare in seguito per abilitare Crittografia dischi di Azure.$azureAdApplication.ApplicationId is the Azure AD ClientID and $aadClientSecret is the client secret that you should use later to enable Azure Disk Encryption. Proteggere correttamente il segreto client di Azure AD.Safeguard the Azure AD client secret appropriately.

Configurazione dell'ID client e del segreto client di Azure AD dal portale di AzureSetting up the Azure AD client ID and secret from the Azure portal

È anche possibile configurare l'ID e il segreto del client di Azure AD usando il portale di Azure.You can also set up your Azure AD client ID and secret by using the Azure Portal. Per eseguire questa operazione, seguire questa procedura:To perform this task, do the following:

  1. Fare clic sulla scheda Active Directory.Click the Active Directory tab.

    Azure Disk Encryption

  2. Fare clic su Aggiungi applicazione, quindi immettere il nome dell'applicazione.Click Add Application, and then type the application name.

    Azure Disk Encryption

  3. Fare clic sul pulsante con la freccia, quindi configurare le proprietà dell'applicazione.Click the arrow button, and then configure the application properties.

    Azure Disk Encryption

  4. Fare clic sul segno di spunta nell'angolo in basso a sinistra per completare l'operazione.Click the check mark in the lower left corner to finish. Viene visualizzata la pagina di configurazione dell'applicazione e l'ID client di Azure AD è disponibile nella parte inferiore della pagina.The application configuration page appears, and the Azure AD client ID is displayed at the bottom of the page.

    Azure Disk Encryption

  5. Per salvare il segreto client di Azure AD usare il pulsante Salva.Save the Azure AD client secret by clicking the Save button. Si noti che il segreto client di Azure AD nella casella di testo delle chiavi.Note the Azure AD client secret in the keys text box. Proteggerlo correttamente.Safeguard it appropriately.

    Azure Disk Encryption

Usare un'applicazione esistenteUse an existing application

Per eseguire i comandi seguenti, ottenere e usare il modulo Azure AD PowerShell.To execute the following commands, obtain and use the Azure AD PowerShell module.

Nota

I comandi seguenti devono essere eseguiti da una nuova finestra di PowerShell.The following commands must be executed from a new PowerShell window. Non usare Azure PowerShell o la finestra di Azure Resource Manager per eseguire questi comandi.Do not use Azure PowerShell or the Azure Resource Manager window to execute the commands. È consigliabile usare questo approccio perché questi cmdlet sono disponibili nel modulo MSOnline o in Azure AD PowerShell.We recommend this approach because these cmdlets are in the MSOnline module or Azure AD PowerShell.

$clientSecret = ‘<yourAadClientSecret>’
$aadClientID = '<Client ID of your Azure AD application>'
connect-msolservice
New-MsolServicePrincipalCredential -AppPrincipalId $aadClientID -Type password -Value $clientSecret

Autenticazione basata su certificato per Azure ADCertificate-based authentication for Azure AD

Nota

L'autenticazione basata su certificato per Azure AD non è attualmente supportata nelle VM Linux.Azure AD certificate-based authentication is currently not supported on Linux VMs.

Le sezioni seguenti illustrano come configurare l'autenticazione basata su certificato per Azure AD.The sections that follow show how to configure a certificate-based authentication for Azure AD.

Creare un'applicazione Azure ADCreate an Azure AD application

Per creare un'applicazione Azure AD, eseguire i cmdlet di PowerShell seguenti:To create an Azure AD application, execute the following PowerShell cmdlets:

Nota

Sostituire la stringa yourpassword seguente con la password sicura e proteggere la password.Replace the following yourpassword string with your secure password, and safeguard the password.

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate("C:\certificates\examplecert.pfx", "yourpassword")
$keyValue = [System.Convert]::ToBase64String($cert.GetRawCertData())
$azureAdApplication = New-AzureRmADApplication -DisplayName "<Your Application Display Name>" -HomePage "<https://YourApplicationHomePage>" -IdentifierUris "<https://YouApplicationUri>" -KeyValue $keyValue -KeyType AsymmetricX509Cert
$servicePrincipal = New-AzureRmADServicePrincipal –ApplicationId $azureAdApplication.ApplicationId

Dopo avere completato questo passaggio, caricare un file PFX nell'insieme di credenziali delle chiavi e abilitare i criteri di accesso necessari per distribuire il certificato a una VM.After you finish this step, upload a PFX file to your key vault and enable the access policy needed to deploy that certificate to a VM.

Usare un'applicazione Azure AD esistenteUse an existing Azure AD application

Se si configura l'autenticazione basata su certificato per un'applicazione esistente, usare i cmdlet di PowerShell seguenti.If you are configuring certificate-based authentication for an existing application, use the PowerShell cmdlets shown here. Assicurarsi di eseguirli in una nuova finestra di PowerShell.Be sure to execute them from a new PowerShell window.

$certLocalPath = 'C:\certs\myaadapp.cer'
$aadClientID = '<Client ID of your Azure AD application>'
connect-msolservice
$cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
$cer.Import($certLocalPath)
$binCert = $cer.GetRawCertData()
$credValue = [System.Convert]::ToBase64String($binCert);
New-MsolServicePrincipalCredential -AppPrincipalId $aadClientID -Type asymmetric -Value $credValue -Usage verify

Dopo avere completato questo passaggio, caricare un file PFX nell'insieme di credenziali delle chiavi e abilitare i criteri di accesso necessari per distribuire il certificato a una VM.After you finish this step, upload a PFX file to your key vault and enable the access policy that's needed to deploy the certificate to a VM.

Caricare un file PFX nell'insieme di credenziali delle chiaviUpload a PFX file to your key vault

Per una spiegazione dettagliata di questo processo, vedere The Official Azure Key Vault Team Blog (Blog ufficiale del team di Azure Key Vault).For a detailed explanation of this process, see The Official Azure Key Vault Team Blog. I cmdlet di PowerShell seguenti sono comunque tutto ciò che serve per questa attività.However, the following PowerShell cmdlets are all you need for the task. Accertarsi di eseguirli dalla console di Azure PowerShell.Be sure to execute them from Azure PowerShell console.

Nota

Sostituire la stringa yourpassword seguente con la password sicura e proteggere la password.Replace the following yourpassword string with your secure password, and safeguard the password.

$certLocalPath = 'C:\certs\myaadapp.pfx'
$certPassword = "yourpassword"
$resourceGroupName = ‘yourResourceGroup’
$keyVaultName = ‘yourKeyVaultName’
$keyVaultSecretName = ‘yourAadCertSecretName’

$fileContentBytes = get-content $certLocalPath -Encoding Byte
$fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)

$jsonObject = @"
{
"data": "$filecontentencoded",
"dataType" :"pfx",
"password": "$certPassword"
}
"@

$jsonObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
$jsonEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)

Switch-AzureMode -Name AzureResourceManager
$secret = ConvertTo-SecureString -String $jsonEncoded -AsPlainText -Force
Set-AzureKeyVaultSecret -VaultName $keyVaultName -Name $keyVaultSecretName -SecretValue $secret
Set-AzureRmKeyVaultAccessPolicy -VaultName $keyVaultName -ResourceGroupName $resourceGroupName –EnabledForDeployment
Distribuire un certificato nell'insieme di credenziali delle chiavi in una VM esistenteDeploy a certificate in your key vault to an existing VM

Al termine del caricamento del file PFX, distribuire un certificato disponibile nell'insieme di credenziali delle chiavi in una VM esistente con il codice seguente:After you finish uploading the PFX, deploy a certificate in the key vault to an existing VM with the following:

   $resourceGroupName = ‘yourResourceGroup’
   $keyVaultName = ‘yourKeyVaultName’
   $keyVaultSecretName = ‘yourAadCertSecretName’
   $vmName = ‘yourVMName’
   $certUrl = (Get-AzureKeyVaultSecret -VaultName $keyVaultName -Name $keyVaultSecretName).Id
   $sourceVaultId = (Get-AzureRmKeyVault -VaultName $keyVaultName -ResourceGroupName $resourceGroupName).ResourceId
   $vm = Get-AzureRmVM -ResourceGroupName $resourceGroupName -Name $vmName
   $vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $sourceVaultId -CertificateStore "My" -CertificateUrl $certUrl
   Update-AzureRmVM -VM $vm  -ResourceGroupName $resourceGroupName

Configurare i criteri di accesso per l'insieme di credenziali delle chiavi per l'applicazione Azure ADSet up the key vault access policy for the Azure AD application

L'applicazione Azure AD deve avere i diritti di accesso alle chiavi o ai segreti nell'insieme di credenziali.Your Azure AD application needs rights to access the keys or secrets in the vault. Usare il cmdlet Set-AzureKeyVaultAccessPolicy per concedere le autorizzazioni all'applicazione con l'ID client, generato al momento della registrazione dell'applicazione, come valore del parametro –ServicePrincipalName.Use the Set-AzureKeyVaultAccessPolicy cmdlet to grant permissions to the application, using the client ID (which was generated when the application was registered) as the –ServicePrincipalName parameter value. Per altre informazioni, vedere il post di blog Azure Key Vault - Step by Step (Procedura dettagliata per Azure Key Vault).To learn more, see the blog post Azure Key Vault - Step by Step. Ecco un esempio dell'esecuzione di questa attività tramite PowerShell:Here is an example of how to perform this task via PowerShell:

$keyVaultName = '<yourKeyVaultName>'
$aadClientID = '<yourAadAppClientID>'
$rgname = '<yourResourceGroup>'
Set-AzureRmKeyVaultAccessPolicy -VaultName $keyVaultName -ServicePrincipalName $aadClientID -PermissionsToKeys 'WrapKey' -PermissionsToSecrets 'Set' -ResourceGroupName $rgname

Nota

Crittografia dischi di Azure richiede la configurazione di criteri di accesso all'applicazione client di Azure AD, ovvero le autorizzazioni WrapKey e Set.Azure Disk Encryption requires you to configure the following access policies to your Azure AD client application: WrapKey and Set permissions.

TerminologiaTerminology

Per informazioni su alcuni dei termini comuni usati da questa tecnologia, vedere la tabella terminologica seguente:To understand some of the common terms used by this technology, use the following terminology table:

TerminologiaTerminology DefinizioneDefinition
Azure ADAzure AD Azure AD è l'abbreviazione di Azure Active Directory.Azure AD is Azure Active Directory. Un account Azure AD è un prerequisito per le operazioni di autenticazione, archiviazione e recupero dei segreti da un insieme di credenziali delle chiavi.An Azure AD account is a prerequisite for authenticating, storing, and retrieving secrets from a key vault.
Azure Key VaultAzure Key Vault Key Vault è un servizio di crittografia e gestione delle chiavi basato su moduli di sicurezza hardware convalidati dagli standard FIPS (Federal Information Processing Standards), che consentono di proteggere le chiavi crittografiche e i segreti sensibili.Key Vault is a cryptographic, key management service that's based on Federal Information Processing Standards (FIPS)-validated hardware security modules, which help safeguard your cryptographic keys and sensitive secrets. Per altre informazioni, vedere la documentazione di Key Vault.For more information, see Key Vault documentation.
ARMARM Gestione risorse di AzureAzure Resource Manager
BitLockerBitLocker BitLocker è una tecnologia di crittografia del volume di Windows riconosciuta nel settore, usata per abilitare la crittografia dei dischi nelle macchine virtuali IaaS di Windows.BitLocker is an industry-recognized Windows volume encryption technology that's used to enable disk encryption on Windows IaaS VMs.
BEKBEK Le chiavi di crittografia BitLocker vengono usate per crittografare il volume di avvio del sistema operativo e i volumi dati.BitLocker encryption keys are used to encrypt the OS boot volume and data volumes. Le chiavi BitLocker sono protette nell'insieme di credenziali delle chiavi come segreti.The BitLocker keys are safeguarded in a key vault as secrets.
CLICLI Vedere Interfaccia della riga di comando di Azure.See Azure command-line interface.
DM-CryptDM-Crypt DM-Crypt è il sottosistema di crittografia del disco trasparente basato su Linux usato per abilitare la crittografia del disco nelle macchine virtuali IaaS Linux.DM-Crypt is the Linux-based, transparent disk-encryption subsystem that's used to enable disk encryption on Linux IaaS VMs.
KEKKEK La chiave di crittografia della chiave (KEK, Key Encryption Key) è la chiave asimmetrica (RSA 2048) che è possibile usare per proteggere o per eseguire il wrapping del segreto.Key encryption key is the asymmetric key (RSA 2048) that you can use to protect or wrap the secret. È possibile fornire una chiave protetta tramite modulo di protezione hardware o una chiave protetta tramite software.You can provide a hardware security modules (HSM)-protected key or software-protected key. Per altre informazioni, vedere la documentazione di Azure Key Vault.For more details, see Azure Key Vault documentation.
Cmdlet PSPS cmdlets Vedere Azure PowerShell cmdlets (Cmdlet di Azure PowerShell).See Azure PowerShell cmdlets.

Installare e configurare l'insieme di credenziali delle chiavi per Crittografia dischi di AzureSet up and configure your key vault for Azure Disk Encryption

Crittografia dischi di Azure consente di proteggere le chiavi di crittografia e i segreti dei dischi nell'insieme di credenziali delle chiavi.Azure Disk Encryption helps safeguard the disk-encryption keys and secrets in your key vault. Per configurare l'insieme di credenziali delle chiavi per Crittografia dischi di Azure, completare i passaggi in ogni sezione seguente.To set up your key vault for Azure Disk Encryption, complete the steps in each of the following sections.

Creare un insieme di credenziali delle chiaviCreate a key vault

Per creare un insieme di credenziali delle chiavi, usare una delle opzioni seguenti:To create a key vault, use one of the following options:

Nota

Se è già stato configurato un insieme di credenziali delle chiavi per la sottoscrizione, passare alla sezione successiva.If you have already set up a key vault for your subscription, skip to the next section.

Azure Key Vault

Configurare una chiave di crittografia della chiave (facoltativo)Set up a key encryption key (optional)

Se si vuole usare una chiave di crittografia della chiave per un livello aggiuntivo di sicurezza per le chiavi di crittografia BitLocker aggiungere una chiave di crittografia della chiave all'insieme di credenziali delle chiavi.If you want to use a KEK for an additional layer of security for the BitLocker encryption keys, add a KEK to your key vault. Usare il cmdlet Add-AzureKeyVaultKey per creare una chiave di crittografia della chiave nell'insieme di credenziali delle chiavi.Use the Add-AzureKeyVaultKey cmdlet to create a key encryption key in the key vault. È anche possibile importare una chiave di crittografia della chiave dal modulo di protezione hardware di gestione delle chiavi locale.You can also import a KEK from your on-premises key management HSM. Per altre informazioni, vedere la Documentazione su Key Vault.For more details, see Key Vault Documentation.

Add-AzureKeyVaultKey [-VaultName] <string> [-Name] <string> -Destination <string> {HSM | Software}

È possibile aggiungere la chiave di crittografia della chiave passando ad Azure Resource Manager o usando l'interfaccia di Key Vault.You can add the KEK by going to Azure Resource Manager or by using your key vault interface.

Azure Key Vault

Configurare le autorizzazioni dell'insieme di credenziali delle chiaviSet key vault permissions

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.The Azure platform needs access to the encryption keys or secrets in your key vault to make them available to the VM for booting and decrypting the volumes. Per concedere autorizzazioni alla piattaforma Azure, configurare la proprietà EnabledForDiskEncryption nell'insieme di credenziali delle chiavi usando il cmdlet di PowerShell relativo all'insieme di credenziali delle chiavi:To grant permissions to the Azure platform, set the EnabledForDiskEncryption property in the key vault by using the key vault PowerShell cmdlet:

Set-AzureRmKeyVaultAccessPolicy -VaultName <yourVaultName> -ResourceGroupName <yourResourceGroup> -EnabledForDiskEncryption

È anche possibile configurare la proprietà EnabledForDiskEncryption in Azure Resource Explorer (Esplora risorse di Azure).You can also set the EnabledForDiskEncryption property by visiting the Azure Resource Explorer.

Come indicato in precedenza, è necessario configurare la proprietà EnabledForDiskEncryption nell'insieme di credenziali delle chiavi.As mentioned earlier, you must set the EnabledForDiskEncryption property on your key vault. In caso contrario, la distribuzione avrà esito negativo.Otherwise, the deployment will fail.

È possibile configurare i criteri di accesso per l'applicazione Azure AD dall'interfaccia di Key Vault:You can set up access policies for your Azure AD application from the key vault interface, as shown here:

Azure Key Vault

Azure Key Vault

Nella scheda Criteri di accesso avanzati assicurarsi che l'insieme di credenziali delle chiavi sia abilitato per Crittografia dischi di Azure:On the Advanced access policies tab, make sure that your key vault is enabled for Azure Disk Encryption:

Azure Key Vault

Scenari di distribuzione della crittografia dei dischi ed esperienze utenteDisk-encryption deployment scenarios and user experiences

È possibile abilitare molti scenari di crittografia dei dischi e la procedura può variare in base allo scenario.You can enable many disk-encryption scenarios, and the steps may vary according to the scenario. Le sezioni seguenti illustrano in modo più dettagliato gli scenari.The following sections cover the scenarios in greater detail.

Abilitare la crittografia nelle nuove macchine virtuali IaaS create dal MarketplaceEnable encryption on new IaaS VMs that are created from the Marketplace

È possibile abilitare la crittografia dei dischi nella nuova macchina virtuale IaaS Windows dal Marketplace in Azure usando il modello di Resource Manager.You can enable disk encryption on new IaaS Windows VM from the Marketplace in Azure by using the Resource Manager template.

  1. Nel modello di avvio rapido di Azure fare clic su Distribuisci in Azure, immettere la configurazione della crittografia nel pannello Parametri, quindi fare clic su OK.On the Azure quick-start template, click Deploy to Azure, enter the encryption configuration on the Parameters blade, and then click OK.

  2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione del gruppo di risorse, le note legali e il contratto, quindi fare clic su Crea per abilitare la crittografia in una nuova macchina virtuale IaaS.Select the subscription, resource group, resource group location, legal terms, and agreement, and then click Create to enable encryption on a new IaaS VM.

Nota

Questo modello crea una nuova VM Windows crittografata che usa l'immagine della raccolta di Windows Server 2012.This template creates a new encrypted Windows VM that uses the Windows Server 2012 gallery image.

È possibile abilitare la crittografia dei dischi in una nuova macchina virtuale IaaS RedHat Linux 7.2 con una matrice RAID-0 da 200 GB usando questo modello di Resource Manager.You can enable disk encryption on a new IaaS RedHat Linux 7.2 VM with a 200-GB RAID-0 array by using this Resource Manager template. Dopo la distribuzione del modello, verificare lo stato della crittografia della macchina virtuale usando il cmdlet Get-AzureRmVmDiskEncryptionStatus, come descritto in Crittografia dell'unità del sistema operativo in una VM Linux in esecuzione.After you deploy the template, verify the VM encryption status by using the Get-AzureRmVmDiskEncryptionStatus cmdlet, as described in Encrypting OS drive on a running Linux VM. Quando la macchina virtuale restituisce uno stato VMRestartPending, riavviarla.When the machine returns a status of VMRestartPending, restart the VM.

La tabella seguente elenca i parametri del modello di Resource Manager per lo scenario con nuove macchine virtuali dal Marketplace con ID client di Azure AD:The following table lists the Resource Manager template parameters for new VMs from the Marketplace scenario using Azure AD client ID:

ParametroParameter DescrizioneDescription
adminUserNameadminUserName Nome utente dell'amministratore per la macchina virtuale.Admin user name for the virtual machine.
adminPasswordadminPassword Password utente dell'amministratore per la macchina virtuale.Admin user password for the virtual machine.
newStorageAccountNamenewStorageAccountName Nome dell'account di archiviazione per archiviare i dischi rigidi virtuali di dati e del sistema operativo.Name of the storage account to store OS and data VHDs.
vmSizevmSize Dimensioni della macchina virtuale.Size of the VM. Attualmente sono supportate solo le serie A, D e G Standard.Currently, only Standard A, D, and G series are supported.
virtualNetworkNamevirtualNetworkName Nome della rete virtuale a cui deve appartenere la scheda di interfaccia di rete della VM.Name of the VNet that the VM NIC should belong to.
subnetNamesubnetName Nome della subnet nella rete virtuale a cui deve appartenere la scheda di interfaccia di rete della VM.Name of the subnet in the VNet that the VM NIC should belong to.
AADClientIDAADClientID ID client dell'applicazione Azure AD con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.Client ID of the Azure AD application that has permissions to write secrets to your key vault.
AADClientSecretAADClientSecret Segreto client dell'applicazione Azure AD con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.Client secret of the Azure AD application that has permissions to write secrets to your key vault.
keyVaultURLkeyVaultURL URL dell'insieme di credenziali delle chiavi in cui dovrà essere caricata la chiave BitLocker.URL of the key vault that the BitLocker key should be uploaded to. È possibile ottenerlo usando il cmdlet (Get-AzureRmKeyVault -VaultName,-ResourceGroupName ).VaultURI.You can get it by using the cmdlet (Get-AzureRmKeyVault -VaultName,-ResourceGroupName ).VaultURI.
keyEncryptionKeyURLkeyEncryptionKeyURL URL della chiave di crittografia della chiave usata per crittografare la chiave BitLocker generata (facoltativo).URL of the key encryption key that's used to encrypt the generated BitLocker key (optional).
keyVaultResourceGroupkeyVaultResourceGroup Gruppo di risorse dell'insieme di credenziali delle chiavi.Resource group of the key vault.
vmNamevmName Nome della VM in cui deve essere eseguita l'operazione di crittografia.Name of the VM that the encryption operation is to be performed on.

Nota

KeyEncryptionKeyURL è un parametro facoltativo.KeyEncryptionKeyURL is an optional parameter. È 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.You can bring your own KEK to further safeguard the data encryption key (Passphrase secret) in your key vault.

Abilitare la crittografia delle nuove VM IaaS create da chiavi di crittografia e dischi rigidi virtuali crittografati dei clientiEnable encryption on new IaaS VMs that are created from customer-encrypted VHD and encryption keys

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.In this scenario, you can enable encrypting by using the Resource Manager template, PowerShell cmdlets, or CLI commands. Le sezioni seguenti descrivono in modo più dettagliato il modello di Resource Manager e i comandi dell'interfaccia della riga di comando.The following sections explain in greater detail the Resource Manager template and CLI commands.

Seguire le istruzioni di una di queste sezioni per la preparazione di immagini pre-crittografate che possono essere usate in Azure.Follow the instructions from one of these sections for preparing pre-encrypted images that can be used in Azure. Dopo aver creato l'immagine, è possibile usare i passaggi della sezione successiva per creare una VM di Azure crittografata.After the image is created, you can use the steps in the next section to create an encrypted Azure VM.

Uso del modello di Resource ManagerUsing the Resource Manager template

È possibile abilitare la crittografia dei dischi nel disco rigido virtuale crittografato usando il modello di Resource Manager.You can enable disk encryption on your encrypted VHD by using the Resource Manager template.

  1. Nel modello di avvio rapido di Azure fare clic su Distribuisci in Azure, immettere la configurazione della crittografia nel pannello Parametri, quindi fare clic su OK.On the Azure quick-start template, click Deploy to Azure, enter the encryption configuration on the Parameters blade, and then click OK.

  2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione del gruppo di risorse, le note legali e il contratto, quindi fare clic su Crea per abilitare la crittografia nella nuova macchina virtuale IaaS.Select the subscription, resource group, resource group location, legal terms, and agreement, and then click Create to enable encryption on the new IaaS VM.

La tabella seguente elenca i parametri del modello di Resource Manager per il disco rigido virtuale crittografato:The following table lists the Resource Manager template parameters for your encrypted VHD:

ParametroParameter DescrizioneDescription
newStorageAccountNamenewStorageAccountName Nome dell'account di archiviazione per archiviare il disco rigido virtuale del sistema operativo.Name of the storage account to store the encrypted OS VHD. È necessario che questo account di archiviazione sia già stato creato nello stesso gruppo di risorse e nello stesso percorso della VM.This storage account should already have been created in the same resource group and same location as the VM.
osVhdUriosVhdUri URI del disco rigido virtuale del sistema operativo dall'account di archiviazione.URI of the OS VHD from the storage account.
osTypeosType Tipo di prodotto del sistema operativo (Windows/Linux).OS product type (Windows/Linux).
virtualNetworkNamevirtualNetworkName Nome della rete virtuale a cui deve appartenere la scheda di interfaccia di rete della VM.Name of the VNet that the VM NIC should belong to. È necessario che il nome sia già stato creato nello stesso gruppo di risorse e nello stesso percorso della VM.The name should already have been created in the same resource group and same location as the VM.
subnetNamesubnetName Nome della subnet nella rete virtuale a cui deve appartenere la scheda di interfaccia di rete della VM.Name of the subnet on the VNet that the VM NIC should belong to.
vmSizevmSize Dimensioni della macchina virtuale.Size of the VM. Attualmente sono supportate solo le serie A, D e G Standard.Currently, only Standard A, D, and G series are supported.
keyVaultResourceIDkeyVaultResourceID ResourceID che identifica la risorsa dell'insieme di credenziali delle chiavi in Azure Resource Manager.The ResourceID that identifies the key vault resource in Azure Resource Manager. È possibile ottenerlo usando il cmdlet (Get-AzureRmKeyVault -VaultName &lt;yourKeyVaultName&gt; -ResourceGroupName &lt;yourResourceGroupName&gt;).ResourceId di PowerShell.You can get it by using the PowerShell cmdlet (Get-AzureRmKeyVault -VaultName &lt;yourKeyVaultName&gt; -ResourceGroupName &lt;yourResourceGroupName&gt;).ResourceId.
keyVaultSecretUrlkeyVaultSecretUrl URL della chiave di crittografia dei dischi configurato nell'insieme di credenziali delle chiavi.URL of the disk-encryption key that's set up in the key vault.
keyVaultKekUrlkeyVaultKekUrl URL della chiave di crittografia della chiave per crittografare la chiave di crittografia dei dischi generata.URL of the key encryption key for encrypting the generated disk-encryption key.
vmNamevmName Nome della VM IaaS.Name of the IaaS VM.

Usare i cmdlet PowerShellUsing PowerShell cmdlets

È possibile abilitare la crittografia dei dischi nel disco rigido virtuale crittografato usando il cmdlet Set-AzureRmVMOSDisk di PowerShell.You can enable disk encryption on your encrypted VHD by using the PowerShell cmdlet Set-AzureRmVMOSDisk.

Uso dei comandi dell'interfaccia della riga di comandoUsing CLI commands

Eseguire queste operazioni per abilitare la crittografia dei dischi per questo scenario con i comandi dell'interfaccia della riga di comando:To enable disk encryption for this scenario by using CLI commands, do the following:

  1. Impostare criteri di accesso per l'insieme di credenziali delle chiavi:Set access policies in your key vault:

    • Impostare il flag EnabledForDiskEncryption:Set the EnabledForDiskEncryption flag:

      azure keyvault set-policy --vault-name <keyVaultName> --enabled-for-disk-encryption true

    • Configurare le autorizzazioni per l'applicazione Azure AD per scrivere segreti nell'insieme di credenziali delle chiavi:Set permissions to Azure AD application to write secrets to your key vault:

      azure keyvault set-policy --vault-name <keyVaultName> --spn <aadClientID> --perms-to-keys '["wrapKey"]' --perms-to-secrets '["set"]'

  2. Per abilitare la crittografia in una VM esistente o in esecuzione, digitare:To enable encryption on an existing or running VM, type:

    azure vm enable-disk-encryption --resource-group <resourceGroupName> --name <vmName> --aad-client-id <aadClientId> --aad-client-secret <aadClientSecret> --disk-encryption-key-vault-url <keyVaultURL> --disk-encryption-key-vault-id <keyVaultResourceId> --volume-type [All|OS|Data]

  3. Ottenere lo stato della crittografia:Get encryption status:

    azure vm show-disk-encryption-status --resource-group <resourceGroupName> --name <vmName> --json

  4. Per abilitare la crittografia in una nuova macchina virtuale dal disco rigido virtuale crittografato, usare i parametri seguenti con il comando azure vm create:To enable encryption on a new VM from your encrypted VHD, use the following parameters with the azure vm create command:

    * disk-encryption-key-vault-id <disk-encryption-key-vault-id>
    * disk-encryption-key-url <disk-encryption-key-url>
    * key-encryption-key-vault-id <key-encryption-key-vault-id>
    * key-encryption-key-url <key-encryption-key-url>
    

Abilitare la crittografia in una VM IaaS Windows esistente o in esecuzione in AzureEnable encryption on existing or running IaaS Windows VM in Azure

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.In this scenario, you can enable encrypting by using the Resource Manager template, PowerShell cmdlets, or CLI commands. Le sezioni seguenti descrivono in modo più dettagliato come abilitarla usando il modello di Resource Manager e i comandi dell'interfaccia della riga di comando.The following sections explain in greater detail how to enable it by using the Resource Manager template and CLI commands.

Uso del modello di Resource ManagerUsing the Resource Manager template

È possibile abilitare la crittografia dei dischi nelle macchine virtuali IaaS Windows esistenti o in esecuzione usando il modello di Resource Manager.You can enable disk encryption on existing or running IaaS Windows VMs in Azure by using the Resource Manager template.

  1. Nel modello di avvio rapido di Azure fare clic su Distribuisci in Azure, immettere la configurazione della crittografia nel pannello Parametri, quindi fare clic su OK.On the Azure quick-start template, click Deploy to Azure, enter the encryption configuration on the Parameters blade, and then click OK.

  2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione del gruppo di risorse, le note legali e il contratto, quindi fare clic su Crea per abilitare la crittografia nella macchina virtuale IaaS esistente o in esecuzione.Select the subscription, resource group, resource group location, legal terms, and agreement, and then click Create to enable encryption on the existing or running IaaS VM.

La tabella seguente elenca i parametri del modello di Resource Manager per macchine virtuali esistenti o in esecuzione che usano un ID client di Azure AD:The following table lists the Resource Manager template parameters for existing or running VMs that use an Azure AD client ID:

ParametroParameter DescrizioneDescription
AADClientIDAADClientID ID client dell'applicazione Azure AD con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.Client ID of the Azure AD application that has permissions to write secrets to the key vault.
AADClientSecretAADClientSecret Segreto client dell'applicazione Azure AD con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.Client secret of the Azure AD application that has permissions to write secrets to the key vault.
keyVaultNamekeyVaultName Nome dell'insieme di credenziali delle chiavi in cui dovrà essere caricata la chiave BitLocker.Name of the key vault that the BitLocker key should be uploaded to. È possibile ottenerlo usando il cmdlet (Get-AzureRmKeyVault -ResourceGroupName <yourResourceGroupName>). Vaultname.You can get it by using the cmdlet (Get-AzureRmKeyVault -ResourceGroupName <yourResourceGroupName>). Vaultname.
keyEncryptionKeyURLkeyEncryptionKeyURL URL della chiave di crittografia della chiave usata per crittografare la chiave BitLocker generata.URL of the key encryption key that's used to encrypt the generated BitLocker key. Questo parametro è facoltativo se si seleziona nokek dall'elenco a discesa UseExistingKek.This parameter is optional if you select nokek in the UseExistingKek drop-down list. Se si seleziona kek dall'elenco a discesa UseExistingKek, è necessario immettere il valore keyEncryptionKeyURL.If you select kek in the UseExistingKek drop-down list, you must enter the keyEncryptionKeyURL value.
volumeTypevolumeType Tipo del volume in cui viene eseguita l'operazione di crittografia.Type of volume that the encryption operation is performed on. I valori validi sono OS, Data e All.Valid values are OS, Data, and All.
sequenceVersionsequenceVersion Versione della sequenza dell'operazione BitLocker.Sequence version of the BitLocker operation. Incrementare questo numero di versione ogni volta che viene eseguita un'operazione di crittografia dei dischi nella stessa VM.Increment this version number every time a disk-encryption operation is performed on the same VM.
vmNamevmName Nome della VM in cui deve essere eseguita l'operazione di crittografia.Name of the VM that the encryption operation is to be performed on.

Nota

KeyEncryptionKeyURL è un parametro facoltativo.KeyEncryptionKeyURL is an optional parameter. È possibile specificare la chiave di crittografia della chiave (KEK) personalizzata per l'ulteriore protezione della chiave DEK (segreto di crittografia di BitLocker) nell'insieme di credenziali delle chiavi.You can bring your own KEK to further safeguard the data encryption key (BitLocker encryption secret) in the key vault.

Usare i cmdlet PowerShellUsing PowerShell cmdlets

Per informazioni sull'abilitazione della crittografia con Crittografia dischi di Azure tramite cmdlet di PowerShell, vedere i post di blog Explore Azure Disk Encryption with Azure PowerShell - Part 1 (Esplorare Crittografia dischi di Azure con Azure PowerShell - Parte 1) ed Explore Azure Disk Encryption with Azure PowerShell - Part 2 (Esplorare Crittografia dischi di Azure con Azure PowerShell - Parte 2).For information about enabling encryption with Azure Disk Encryption by using PowerShell cmdlets, see the blog posts Explore Azure Disk Encryption with Azure PowerShell - Part 1 and Explore Azure Disk Encryption with Azure PowerShell - Part 2.

Uso dei comandi dell'interfaccia della riga di comandoUsing CLI commands

Per abilitare la crittografia in macchine virtuali IaaS Windows esistenti o in esecuzione in Azure usando i comandi dell'interfaccia della riga di comando, seguire questa procedura:To enable encryption on existing or running IaaS Windows VM in Azure using CLI commands, do the following:

  1. Per configurare i criteri di accesso nell'insieme di credenziali delle chiavi:To set access policies in the key vault:

    • Impostare il flag EnabledForDiskEncryption:Set the EnabledForDiskEncryption flag:

      azure keyvault set-policy --vault-name <keyVaultName> --enabled-for-disk-encryption true

    • Configurare le autorizzazioni per l'applicazione Azure AD per scrivere segreti nell'insieme di credenziali delle chiavi:Set permissions to Azure AD application to write secrets to your key vault:

      azure keyvault set-policy --vault-name <keyVaultName> --spn <aadClientID> --perms-to-keys '["wrapKey"]' --perms-to-secrets '["set"]'

  2. Per abilitare la crittografia in una VM esistente o in esecuzione:To enable encryption on an existing or running VM:

    azure vm enable-disk-encryption --resource-group <resourceGroupName> --name <vmName> --aad-client-id <aadClientId> --aad-client-secret <aadClientSecret> --disk-encryption-key-vault-url <keyVaultURL> --disk-encryption-key-vault-id <keyVaultResourceId> --volume-type [All|OS|Data]

  3. Per ottenere lo stato della crittografia:To get encryption status:

    azure vm show-disk-encryption-status --resource-group <resourceGroupName> --name <vmName> --json

  4. Per abilitare la crittografia in una nuova macchina virtuale dal disco rigido virtuale crittografato, usare i parametri seguenti con il comando azure vm create:To enable encryption on a new VM from your encrypted VHD, use the following parameters with the azure vm create command:

    * disk-encryption-key-vault-id <disk-encryption-key-vault-id>
    * disk-encryption-key-url <disk-encryption-key-url>
    * key-encryption-key-vault-id <key-encryption-key-vault-id>
    * key-encryption-key-url <key-encryption-key-url>
    

Abilitare la crittografia in una VM IaaS Linux esistente o in esecuzione in AzureEnable encryption on an existing or running IaaS Linux VM in Azure

È possibile abilitare la crittografia dei dischi nelle macchine virtuali IaaS Linux esistenti o in esecuzione usando il modello di Resource Manager.You can enable disk encryption on an existing or running IaaS Linux VM in Azure by using the Resource Manager template.

  1. Nel modello di avvio rapido di Azure fare clic su Distribuisci in Azure, immettere la configurazione della crittografia nel pannello Parametri, quindi fare clic su OK.Click Deploy to Azure on the Azure quick-start template, enter the encryption configuration on the Parameters blade, and then click OK.

  2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione del gruppo di risorse, le note legali e il contratto, quindi fare clic su Crea per abilitare la crittografia nella macchina virtuale IaaS esistente o in esecuzione.Select the subscription, resource group, resource group location, legal terms, and agreement, and then click Create to enable encryption on the existing or running IaaS VM.

La tabella seguente elenca i parametri del modello di Resource Manager per macchine virtuali esistenti o in esecuzione che usano un ID client di Azure AD:The following table lists Resource Manager template parameters for existing or running VMs that use an Azure AD client ID:

ParametroParameter DescrizioneDescription
AADClientIDAADClientID ID client dell'applicazione Azure AD con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.Client ID of the Azure AD application that has permissions to write secrets to the key vault.
AADClientSecretAADClientSecret Segreto client dell'applicazione Azure AD con le autorizzazioni per la scrittura di segreti nell'insieme di credenziali delle chiavi.Client secret of the Azure AD application that has permissions to write secrets to your key vault.
keyVaultNamekeyVaultName Nome dell'insieme di credenziali delle chiavi in cui dovrà essere caricata la chiave BitLocker.Name of the key vault that the BitLocker key should be uploaded to. È possibile ottenerlo usando il cmdlet (Get-AzureRmKeyVault -ResourceGroupName <yourResourceGroupName>). Vaultname.You can get it by using the cmdlet (Get-AzureRmKeyVault -ResourceGroupName <yourResourceGroupName>). Vaultname.
keyEncryptionKeyURLkeyEncryptionKeyURL URL della chiave di crittografia della chiave usata per crittografare la chiave BitLocker generata.URL of the key encryption key that's used to encrypt the generated BitLocker key. Questo parametro è facoltativo se si seleziona nokek dall'elenco a discesa UseExistingKek.This parameter is optional if you select nokek in the UseExistingKek drop-down list. Se si seleziona kek dall'elenco a discesa UseExistingKek, è necessario immettere il valore keyEncryptionKeyURL.If you select kek in the UseExistingKek drop-down list, you must enter the keyEncryptionKeyURL value.
volumeTypevolumeType Tipo del volume in cui viene eseguita l'operazione di crittografia.Type of volume that the encryption operation is performed on. I valori validi supportati sono OS o All (vedere le distribuzioni di Linux supportate e le versioni per i dischi del sistema operativo e i dischi dati nella sezione dei prerequisiti più indietro).Valid supported values are OS or All (see supported Linux distros and their versions for OS and data disks in prerequisiteis section earlier).
sequenceVersionsequenceVersion Versione della sequenza dell'operazione BitLocker.Sequence version of the BitLocker operation. Incrementare questo numero di versione ogni volta che viene eseguita un'operazione di crittografia dei dischi nella stessa VM.Increment this version number every time a disk-encryption operation is performed on the same VM.
vmNamevmName Nome della VM in cui deve essere eseguita l'operazione di crittografia.Name of the VM that the encryption operation is to be performed on.
passPhrasepassPhrase Immettere una passphrase complessa come chiave di crittografia dei dati.Type a strong passphrase as the data encryption key.

Nota

KeyEncryptionKeyURL è un parametro facoltativo.KeyEncryptionKeyURL is an optional parameter. È 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.You can bring your own KEK to further safeguard the data encryption key (passphrase secret) in your key vault.

Comandi dell'interfaccia della riga di comandoCLI commands

È possibile abilitare la crittografia dei dischi nel disco rigido virtuale crittografato installando e usando il comando dell'interfaccia della riga di comando.You can enable disk encryption on your encrypted VHD by installing and using the CLI command. Per abilitare la crittografia in macchine virtuali IaaS Linux esistenti o in esecuzione in Azure usando i comandi dell'interfaccia della riga di comando, seguire questa procedura:To enable encryption on existing or running IaaS Linux VMs in Azure by using CLI commands, do the following:

  1. Configurare i criteri di accesso nell'insieme di credenziali delle chiavi:Set access policies in the key vault:

    • Impostare il flag EnabledForDiskEncryption:Set the EnabledForDiskEncryption flag:

      azure keyvault set-policy --vault-name <keyVaultName> --enabled-for-disk-encryption true

    • Configurare le autorizzazioni per l'applicazione Azure AD per scrivere segreti nell'insieme di credenziali delle chiavi:Set permissions to Azure AD application to write secrets to your key vault:

      azure keyvault set-policy --vault-name <keyVaultName> --spn <aadClientID> --perms-to-keys '["wrapKey"]' --perms-to-secrets '["set"]'

  2. Per abilitare la crittografia in una VM esistente o in esecuzione:To enable encryption on an existing or running VM:

    azure vm enable-disk-encryption --resource-group <resourceGroupName> --name <vmName> --aad-client-id <aadClientId> --aad-client-secret <aadClientSecret> --disk-encryption-key-vault-url <keyVaultURL> --disk-encryption-key-vault-id <keyVaultResourceId> --volume-type [All|OS|Data]

  3. Ottenere lo stato della crittografia:Get encryption status:

    azure vm show-disk-encryption-status --resource-group <resourceGroupName> --name <vmName> --json

  4. Per abilitare la crittografia in una nuova macchina virtuale dal disco rigido virtuale crittografato, usare i parametri seguenti con il comando azure vm create:To enable encryption on a new VM from your encrypted VHD, use the following parameters with the azure vm create command:

    * disk-encryption-key-vault-id <disk-encryption-key-vault-id>
    * disk-encryption-key-url <disk-encryption-key-url>
    * key-encryption-key-vault-id <key-encryption-key-vault-id>
    * key-encryption-key-url <key-encryption-key-url>
    

Ottenere lo stato della crittografia di una VM IaaS crittografataGet the encryption status of an encrypted IaaS VM

È possibile ottenere lo stato della crittografia usando Azure Resource Manager, i cmdlet di PowerShell o i comandi dell'interfaccia della riga di comando.You can get the encryption status by using Azure Resource Manager, PowerShell cmdlets, or CLI commands. Le sezioni seguenti illustrano come usare il portale di Azure e i comandi dell'interfaccia della riga di comando per ottenere lo stato della crittografia.The following sections explain how to use the Azure Portal and CLI commands to get the encryption status.

Ottenere lo stato della crittografia di una VM Windows crittografata usando Azure Resource ManagerGet the encryption status of an encrypted Windows VM by using Azure Resource Manager

È possibile ottenere lo stato di crittografia della macchina virtuale IaaS da Azure Resource Manager seguendo questa procedura:You can get the encryption status of the IaaS VM from Azure Resource Manager by doing the following:

  1. Accedere al portale di Azure, quindi fare clic su Macchine virtuali nel riquadro a sinistra per visualizzare un riepilogo delle macchine virtuali nella sottoscrizione.Sign in to the Azure Portal, and then click Virtual machines in the left pane to see a summary view of the virtual machines in your subscription. È possibile filtrare la visualizzazione Macchine virtuali selezionando il nome della sottoscrizione dall'elenco a discesa Sottoscrizione.You can filter the virtual machines view by selecting the subscription name in the Subscription drop-down list.

  2. Nella pagina superiore della pagina Macchine virtuali fare clic su Colonne.At the top of the Virtual machines page, click Columns.

  3. Nel pannello Scegli colonna selezionare Crittografia del disco, quindi fare clic su Aggiorna.On the Choose column blade, select Disk Encryption, and then click Update. Verrà visualizzata la colonna relativa alla crittografia dei dischi, che mostra lo stato della crittografia, ovvero Abilitato o Non abilitato, per ogni macchina virtuale, come illustrato nella figura seguente:You should see the disk-encryption column showing the encryption state Enabled or Not Enabled for each VM, as shown in the following figure:

    Microsoft Antimalware in Azure

Ottenere lo stato della crittografia di una VM Iaas crittografata (Windows/Linux) usando il cmdlet di PowerShell per la crittografia dei dischiGet the encryption status of an encrypted (Windows/Linux) IaaS VM by using the disk-encryption PowerShell cmdlet

È possibile ottenere lo stato della crittografia della macchina virtuale IaaS cmdlet Get-AzureRmVMDiskEncryptionStatus di PowerShell per la crittografia dei dischi.You can get the encryption status of the IaaS VM from the disk-encryption PowerShell cmdlet Get-AzureRmVMDiskEncryptionStatus. Per ottenere le impostazioni di crittografia per la macchina virtuale, immettere quanto segue:To get the encryption settings for your VM, enter the following:

C:\> Get-AzureRmVmDiskEncryptionStatus  -ResourceGroupName $ResourceGroupName -VMName $VMName
-ExtensionName $ExtensionName

OsVolumeEncrypted          : NotEncrypted
DataVolumesEncrypted       : Encrypted
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : https://rheltest1keyvault.vault.azure.net/secrets/bdb6bfb1-5431-4c28-af46-b18d0025ef2a/abebacb83d864a5fa729508315020f8a

È possibile esaminare l'output di Get-AzureRmVMDiskEncryptionStatus per ottenere gli URL della chiave di crittografia.You can inspect the output of Get-AzureRmVMDiskEncryptionStatus for encryption key URLs.

C:\> $status = Get-AzureRmVmDiskEncryptionStatus  -ResourceGroupName $ResourceGroupName -VMName
e $VMName -ExtensionName $ExtensionName
C:\> $status.OsVolumeEncryptionSettings

DiskEncryptionKey                                                 KeyEncryptionKey                                               Enabled
-----------------                                                 ----------------                                               -------
Microsoft.Azure.Management.Compute.Models.KeyVaultSecretReference Microsoft.Azure.Management.Compute.Models.KeyVaultKeyReference    True


C:\> $status.OsVolumeEncryptionSettings.DiskEncryptionKey.SecretUrl
https://rheltest1keyvault.vault.azure.net/secrets/bdb6bfb1-5431-4c28-af46-b18d0025ef2a/abebacb83d864a5fa729508315020f8a
C:\> $status.OsVolumeEncryptionSettings.DiskEncryptionKey

SecretUrl                                                                                                               SourceVault
---------                                                                                                               -----------
https://rheltest1keyvault.vault.azure.net/secrets/bdb6bfb1-5431-4c28-af46-b18d0025ef2a/abebacb83d864a5fa729508315020f8a Microsoft.Azure.Management....

I valori delle impostazioni OSVolumeEncrypted e DataVolumesEncrypted sono impostati su Encrypted, che mostra che entrambi i volumi sono crittografati tramite Crittografia dischi di Azure.The OSVolumeEncrypted and DataVolumesEncrypted settings values are set to Encrypted, which shows that both volumes are encrypted using Azure Disk Encryption. Per informazioni sull'abilitazione della crittografia con Crittografia dischi di Azure tramite cmdlet di PowerShell, vedere i post di blog Explore Azure Disk Encryption with Azure PowerShell - Part 1 (Esplorare Crittografia dischi di Azure con Azure PowerShell - Parte 1) ed Explore Azure Disk Encryption with Azure PowerShell - Part 2 (Esplorare Crittografia dischi di Azure con Azure PowerShell - Parte 2).For information about enabling encryption with Azure Disk Encryption by using PowerShell cmdlets, see the blog posts Explore Azure Disk Encryption with Azure PowerShell - Part 1 and Explore Azure Disk Encryption with Azure PowerShell - Part 2.

Nota

Nelle macchine virtuali Linux sono necessari tre o quattro minuti per la visualizzazione dello stato della crittografia da parte del cmdlet Get-AzureRmVMDiskEncryptionStatus.On Linux VMs, it takes three to four minutes for the Get-AzureRmVMDiskEncryptionStatus cmdlet to report the encryption status.

Ottenere lo stato della crittografia della VM IaaS usando il comando dell'interfaccia della riga di comando per la crittografia dei dischiGet the encryption status of the IaaS VM from the disk-encryption CLI command

È possibile ottenere lo stato della crittografia della macchina virtuale IaaS usando il comando azure vm show-disk-encryption-status dell'interfaccia della riga di comando per la crittografia dei dischi.You can get the encryption status of the IaaS VM by using the disk-encryption CLI command azure vm show-disk-encryption-status. Per ottenere le impostazioni delle crittografia per la VM, nella sessione dell'interfaccia della riga di comando digitare:To get the encryption settings for your VM, enter your Azure CLI session:

azure vm show-disk-encryption-status --resource-group <yourResourceGroupName> --name <yourVMName> --json  

Disabilitare la crittografia nelle VM IaaS Windows in esecuzioneDisable encryption on running Windows IaaS VM

È possibile disabilitare la crittografia in una VM IaaS Windows o Linux in esecuzione tramite il modello di Resource Manager per Crittografia dischi di Azure o i cmdlet di PowerShell e specificare la configurazione della decrittografia.You can disable encryption on a running Windows or Linux IaaS VM via the Azure Disk Encryption Resource Manager template or PowerShell cmdlets and specify the decryption configuration.

Macchina virtuale WindowsWindows VM

Il passaggio per disabilitare la crittografia agisce sul volume dati o sul volume del sistema operativo o entrambi nella VM IaaS Windows in esecuzione.The disable-encryption step disables encryption of the OS, the data volume, or both on the running Windows IaaS VM. Non è possibile disabilitare il volume del sistema operativo e lasciare il volume dati crittografato.You cannot disable the OS volume and leave the data volume encrypted. Dopo aver completato il passaggio per disabilitare la crittografia, il modello di distribuzione classica di Azure aggiorna il modello di servizi della VM e la VM IaaS Windows viene contrassegnata come decrittografata.When the disable-encryption step is performed, the Azure classic deployment model updates the VM service model, and the Windows IaaS VM is marked decrypted. Il contenuto inattivo della VM non viene più crittografato.The contents of the VM are no longer encrypted at rest. La decrittografia non elimina l'insieme di credenziali delle chiavi e il materiale della chiave di crittografia, ovvero le chiavi di crittografia BitLocker per Windows o Passphrase per Linux.The decryption does not delete your key vault and the encryption key material (BitLocker encryption keys for Windows and Passphrase for Linux).

VM LinuxLinux VM

Il passaggio per disabilitare la crittografia agisce sul volume dati nella VM IaaS Linux in esecuzione.The disable-encryption step disables encryption of the data volume on the running Linux IaaS VM. Questo passaggio funziona soltanto se il disco del sistema operativo non è crittografato.This step only works if the OS disk is not encrypted.

Nota

La disabilitazione della crittografia del disco del sistema operativo non è consentita nelle macchine virtuali Linux.Disabling encryption on the OS disk is not allowed on Linux VMs.

Disabilitare la crittografia in una macchina virtuale IaaS esistente o in esecuzioneDisable encryption on an existing or running IaaS VM

È possibile disabilitare la crittografia dei dischi in macchine virtuali IaaS Windows usando il modello di Resource Manager.You can disable disk encryption on running Windows IaaS VMs by using the Resource Manager template.

  1. Nel modello di avvio rapido di Azure fare clic su Distribuisci in Azure, immettere la configurazione della decrittografia nel pannello Parametri, quindi fare clic su OK.On the Azure quick-start template, click Deploy to Azure, enter the decryption configuration on the Parameters blade, and then click OK.

  2. Selezionare la sottoscrizione, il gruppo di risorse, la posizione del gruppo di risorse, le note legali e il contratto, quindi fare clic su Crea per abilitare la crittografia in una nuova macchina virtuale IaaS.Select the subscription, resource group, resource group location, legal terms, and agreement, and then click Create to enable encryption on a new IaaS VM.

Per le macchine virtuali Linux è possibile disabilitare la crittografia usando il modello Disable encryption on a running Linux VM (Disabilitare la crittografia in una VM Linux in esecuzione).For Linux VMs, you can disable encryption by using the Disable encryption on a running Linux VM template.

La tabella seguente elenca i parametri del modello di Resource Manager per la disabilitazione della crittografia in una VM IaaS in esecuzione:The following table lists Resource Manager template parameters for disabling encryption on a running IaaS VM:

ParametroParameter DescrizioneDescription
vmNamevmName Nome della VM in cui deve essere eseguita l'operazione di crittografia.Name of the VM that the encryption operation is to be performed on.
volumeTypevolumeType Tipo del volume in cui viene eseguita l'operazione di decrittografia.Type of volume that a decryption operation is performed on. I valori validi sono OS, Data e All.Valid values are OS, Data, and All. Non è possibile disabilitare la crittografia sul volume del sistema operativo o di avvio di una macchina virtuale IaaS Windows in esecuzione senza disabilitare la crittografia sul volume Data.You cannot disable encryption on running Windows IaaS VM OS/boot volume without disabling encryption on the Data volume. Si noti anche che la disabilitazione della crittografia del disco del sistema operativo non è consentita nelle macchine virtuali Linux.Also note that disabling encryption on the OS disk is not allowed on Linux VMs.
sequenceVersionsequenceVersion Versione della sequenza dell'operazione BitLocker.Sequence version of the BitLocker operation. Incrementare questo numero di versione ogni volta che viene eseguita un'operazione di decrittografia dei dischi nella stessa VM.Increment this version number every time a disk decryption operation is performed on the same VM.
Disabilitare la crittografia in una macchina virtuale IaaS esistente o in esecuzioneDisable encryption on an existing or running IaaS VM

Per disabilitare la crittografia in una VM IaaS esistente o in esecuzione usando il cmdlet di PowerShell, vedere Disable-AzureRmVMDiskEncryption.To disable encryption on an existing or running IaaS VM by using the PowerShell cmdlet, see Disable-AzureRmVMDiskEncryption. Questo cmdlet supporta sia le VM Windows che le VM Linux.This cmdlet supports both Windows and Linux VMs. Per disabilitare la crittografia, installa un'estensione nella macchina virtuale.To disable encryption, it installs an extension on the virtual machine. Se il parametro Name non viene specificato, viene creata un'estensione con nome predefinito AzureDiskEncryption for Windows VMs.If the Name parameter is not specified, an extension with the default name AzureDiskEncryption for Windows VMs is created.

Nelle VM Linux viene usata l'estensione AzureDiskEncryptionForLinux.On Linux VMs, the AzureDiskEncryptionForLinux extension is used.

Nota

Questo cmdlet riavvia la macchina virtuale.This cmdlet reboots the virtual machine.

Abilitare la crittografia su macchina virtuale IaaS pre-crittografata con disco gestito AzureEnable encryption on pre-encrypted IaaS VM with Azure Managed Disk

Per creare una macchina virtuale crittografata da un disco rigido virtuale pre-crittografato usare il modello ARM di disco gestito Azure, disponibile inUse the Azure Managed Disk ARM template to create a encrypted VM from a pre-encrypted VHD using the ARM template located at
Create a new encrypted managed disk from a pre-encrypted VHD/storage blobCreate a new encrypted managed disk from a pre-encrypted VHD/storage blob

Abilitare la crittografia su una nuova macchina virtuale IaaS Linux con disco gestito AzureEnable encryption on a new Linux IaaS VM with Azure Managed Disk

Per creare una nuova macchina virtuale IaaS Linux crittografata usare il modello ARM di disco gestito Azure, disponibile inUse the Azure Managed Disk ARM template to create a new encrypted Linux IaaS VM using the ARM template located at
Deployment of RHEL 7.2 with full disk encryptionDeployment of RHEL 7.2 with full disk encryption

Abilitare la crittografia su una nuova macchina virtuale IaaS Windows con disco gestito AzureEnable encryption on a new Windows IaaS VM with Azure Managed Disk

Per creare una nuova macchina virtuale IaaS Linux crittografata usare il modello ARM di disco gestito Azure, disponibile inUse the Azure Managed Disk ARM template to create a new encrypted Linux IaaS VM using the ARM template located at
Create a new encrypted Windows IaaS Managed Disk VM from gallery imageCreate a new encrypted Windows IaaS Managed Disk VM from gallery image

Nota

È obbligatorio eseguire uno snapshot e/o un backup di un'istanza di macchina virtuale basata su un disco gestito all'esterno di Crittografia dischi di Azure e prima di abilitarla.It is mandatory to snapshot and/or backup a managed disk based VM instance outside of and prior to enabling Azure Disk Encryption. È possibile eseguire uno snapshot del disco gestito dal portale o tramite Backup di Azure.A snapshot of the managed disk can be taken from the portal, or Azure Backup can be used. I backup garantiscono la disponibilità di un'opzione di ripristino nel caso si verifichi un errore imprevisto durante la crittografia.Backups ensure that a recovery option is possible in the case of any unexpected failure during encryption. Dopo aver eseguito un backup, è possibile usare il cmdlet Set-AzureRmVMDiskEncryptionExtension per crittografare i dischi gestiti specificando il parametro -skipVmBackup.Once a backup is made, the Set-AzureRmVMDiskEncryptionExtension cmdlet can be used to encrypt managed disks by specifying the -skipVmBackup parameter. Questo comando ha esito negativo su una macchina virtuale basata su un disco gestito finché non viene eseguito un backup e non viene specificato il parametro.This command will fail against managed disk based VM's until a backup has been made and this parameter has been specified.

Aggiornare le impostazioni di crittografia di una macchina virtuale non Premium crittografata esistenteUpdate encryption settings of an existing encrypted non-premium VM

Usare le interfacce supportate di Crittografia dischi di Azure esistenti per le macchine virtuali in esecuzione [cmdlet PS, CLI o modelli ARM] per aggiornare impostazioni di crittografia quali ID/segreto del client AAD, chiave di crittografia della chiave [KEK], chiave di crittografia BitLocker per macchina virtuale Windows o Passphrase per macchina virtuale Linux e così via. L'impostazione della crittografia di aggiornamento è supportata per le macchine virtuali sia con archiviazione Premium che non Premium.Use the existing Azure disk encryption supported interfaces for running VM [PS cmdlets, CLI or ARM templates] to update the encryption settings like AAD client ID/secret, Key encryption key [KEK], BitLocker encryption key for Windows VM or Passphrase for Linux VM etc. The update encryption setting is supported for both premium and non-premium storage VMs.

AppendiceAppendix

Eseguire la connessione alla sottoscrizioneConnect to your subscription

Prima di continuare, vedere la sezione Prerequisiti di questo articolo.Before you proceed, review the Prerequisites section in this article. Dopo essersi assicurati che siano stati rispettati tutti i prerequisiti, connettersi alla sottoscrizione seguendo questa procedura:After you ensure that all prerequisites have been met, connect to your subscription by doing the following:

  1. Avviare una sessione di Azure PowerShell e accedere all'account Azure con il comando seguente:Start an Azure PowerShell session, and sign in to your Azure account with the following command:

    Login-AzureRmAccount

  2. Se sono disponibili più sottoscrizioni e se ne vuole specificare una da usare, digitare quanto segue per visualizzare le sottoscrizioni per il proprio account:If you have multiple subscriptions and want to specify one to use, type the following to see the subscriptions for your account:

    Get-AzureRmSubscription

  3. Per specificare la sottoscrizione che si vuole usare, digitare:To specify the subscription you want to use, type:

    Select-AzureRmSubscription -SubscriptionName <Yoursubscriptionname>

  4. Per verificare che la sottoscrizione configurata sia corretta, digitare:To verify that the subscription configured is correct, type:

    Get-AzureRmSubscription

  5. Per verificare che i cmdlet di Crittografia dischi di Azure siano installati, digitare:To confirm the Azure Disk Encryption cmdlets are installed, type:

    Get-command *diskencryption*

  6. L'output seguente conferma l'installazione di PowerShell per Crittografia dischi di Azure:The following output confirms the Azure Disk Encryption PowerShell installation:

    PS C:\Windows\System32\WindowsPowerShell\v1.0> get-command *diskencryption*
    CommandType  Name                                         Source                                                             
    Cmdlet       Get-AzureRmVMDiskEncryptionStatus            AzureRM.Compute                                                    
    Cmdlet       Disable-AzureRmVMDiskEncryption              AzureRM.Compute                                                    
    Cmdlet       Set-AzureRmVMDiskEncryptionExtension         AzureRM.Compute                                                     

Preparare un disco rigido virtuale Windows pre-crittografatoPrepare a pre-encrypted Windows VHD

Le sezioni seguenti sono necessarie per preparare un disco rigido virtuale Windows pre-crittografato per la distribuzione come disco rigido virtuale crittografato in Azure IaaS.The sections that follow are necessary to prepare a pre-encrypted Windows VHD for deployment as an encrypted VHD in Azure IaaS. Usare le informazioni per preparare e avviare una nuova macchina virtuale Windows VM (disco rigido virtuale) in Azure Site Recovery o Azure.Use the information to prepare and boot a fresh Windows VM (VHD) on Azure Site Recovery or Azure.

Aggiornare i criteri di gruppo per consentire la protezione non TPM del sistema operativoUpdate group policy to allow non-TPM for OS protection

Configurare l'impostazione Crittografia unità BitLocker di Criteri di gruppo per BitLocker, disponibile in Criteri del computer locale > Configurazione computer > Modelli amministrativi > Componenti di Windows.Configure the BitLocker Group Policy setting BitLocker Drive Encryption, which you'll find under Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components. Cambiare questa impostazione in Unità del sistema operativo > Richiedi autenticazione aggiuntiva all'avvio > Consenti BitLocker senza un TPM compatibile, come illustrato nella figura seguente:Change this setting to Operating System Drives > Require additional authentication at startup > Allow BitLocker without a compatible TPM, as shown in the following figure:

Microsoft Antimalware in Azure

Installare i componenti della funzionalità BitLockerInstall BitLocker feature components

Per Windows Server 2012 e versioni successive, usare il comando seguente:For Windows Server 2012 and later, use the following command:

dism /online /Enable-Feature /all /FeatureName:BitLocker /quiet /norestart

Per Windows Server 2008 R2, usare il comando seguente:For Windows Server 2008 R2, use the following command:

ServerManagerCmd -install BitLockers

Preparare il volume del sistema operativo per BitLocker tramite bdehdcfgPrepare the OS volume for BitLocker by using bdehdcfg

Per comprimere la partizione del sistema operativo e preparare il computer per BitLocker, eseguire il comando seguente:To compress the OS partition and prepare the machine for BitLocker, execute the following command:

bdehdcfg -target c: shrink -quiet

Proteggere il volume del sistema operativo usando BitLockerProtect the OS volume by using BitLocker

Usare il comando manage-bde per abilitare la crittografia sul volume di avvio usando una protezione con chiave esterna.Use the manage-bde command to enable encryption on the boot volume using an external key protector. Salvare anche la chiave esterna (file con estensione bek) nell'unità o nel volume esterno.Also place the external key (.bek file) on the external drive or volume. La crittografia viene abilitata nel volume di sistema/di avvio al riavvio successivo.Encryption is enabled on the system/boot volume after the next reboot.

manage-bde -on %systemdrive% -sk [ExternalDriveOrVolume]
reboot

Nota

Preparare la macchina virtuale con un disco rigido virtuale dati/di risorse separato per recuperare la chiave esterna usando BitLocker.Prepare the VM with a separate data/resource VHD for getting the external key by using BitLocker.

Crittografia di un'unità del sistema operativo in una VM Linux in esecuzioneEncrypting an OS drive on a running Linux VM

La crittografia di un'unità del sistema operativo in una VM Linux in esecuzione è supportata nelle distribuzioni seguenti:Encryption of an OS drive on a running Linux VM is supported on the following distributions:

  • RHEL 7.2RHEL 7.2
  • CentOS 7.2CentOS 7.2
  • Ubuntu 16.04Ubuntu 16.04
Prerequisiti per la crittografia del disco del sistema operativoPrerequisites for OS disk encryption
  • La macchina virtuale deve essere creata dall'immagine del Marketplace in Azure Resource Manager.The VM must be created from the Marketplace image in Azure Resource Manager.
  • VM di Azure con almeno 4 GB di RAM (7 GB consigliati).Azure VM with at least 4 GB of RAM (recommended size is 7 GB).
  • (Per RHEL e CentOS) Disabilitare SELinux.(For RHEL and CentOS) Disable SELinux. Per disabilitare SELinux, vedere "4.4.2.To disable SELinux, see "4.4.2. Disabling SELinux" (4.4.2. Disabilitazione di SELinux) in SELinux User's and Administrator's Guide (Manuale dell'utente e dell'amministratore di SELinux) nella VM.Disabling SELinux" in the SELinux User's and Administrator's Guide on the VM.
  • Dopo la disabilitazione di SELinux, riavviare la VM almeno una volta.After you disable SELinux, reboot the VM at least once.
PassiSteps
  1. Creare una macchina virtuale usando una delle distribuzioni specificate in precedenza.Create a VM by using one of the distributions specified previously.

    Per CentOS 7.2, la crittografia del disco del sistema operativo è supportata tramite un'immagine speciale.For CentOS 7.2, OS disk encryption is supported via a special image. Per usare questa immagine, specificare "7.2n" come SKU durante la creazione della VM:To use this image, specify "7.2n" as the SKU when you create the VM:

     Set-AzureRmVMSourceImage -VM $VirtualMachine -PublisherName "OpenLogic" -Offer "CentOS" -Skus "7.2n" -Version "latest"
    
  2. Configurare la VM in base alle esigenze.Configure the VM according to your needs. Se si intende crittografare tutte le unità (sistema operativo e dati), le unità dati dovranno essere specificate e montabili da /etc/fstab.If you are going to encrypt all the (OS + data) drives, the data drives need to be specified and mountable from /etc/fstab.

    Nota

    Usare UUID=... per specificare le unità di dati in /etc/fstab anziché specificare il nome del dispositivo a blocchi, ad esempio /dev/sdb1.Use UUID=... to specify data drives in /etc/fstab instead of specifying the block device name (for example, /dev/sdb1). L'ordine delle unità viene modificato nella macchina virtuale durante la crittografia.During encryption, the order of drives changes on the VM. Se la VM si basa su un ordine specifico di dispositivi a blocchi, questi dispositivi non potranno essere montati dopo la crittografia.If your VM relies on a specific order of block devices, it will fail to mount them after encryption.

  3. Disconnettersi dalle sessioni SSH.Sign out of the SSH sessions.

  4. Per crittografare il sistema operativo, specificare volumeType come All oppure OS quando si abilita la crittografia.To encrypt the OS, specify volumeType as All or OS when you enable encryption.

    Nota

    Tutti i processi dello spazio dell'utente non in esecuzione come servizi systemd devono essere terminati con SIGKILL.All user-space processes that are not running as systemd services should be killed with a SIGKILL. Riavviare la macchina virtuale.Reboot the VM. Quando si abilita la crittografia del disco del sistema operativo in una macchina virtuale in esecuzione, pianificare i tempi di inattività della VM.When you enable OS disk encryption on a running VM, plan on VM downtime.

  5. Monitorare periodicamente lo stato della crittografia tramite le istruzioni indicate nella sezione successiva.Periodically monitor the progress of encryption by using the instructions in the next section.

  6. Quando Get-AzureRmVmDiskEncryptionStatus indica "VMRestartPending," riavviare la macchina virtuale accedendo alla VM o usando il portale, PowerShell oppure l'interfaccia della riga di comando.After Get-AzureRmVmDiskEncryptionStatus shows "VMRestartPending," restart your VM either by signing in to it or by using the portal, PowerShell, or CLI.

    C:\> Get-AzureRmVmDiskEncryptionStatus  -ResourceGroupName $ResourceGroupName -VMName $VMName
    -ExtensionName $ExtensionName
    
    OsVolumeEncrypted          : VMRestartPending
    DataVolumesEncrypted       : NotMounted
    OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
    ProgressMessage            : OS disk successfully encrypted, reboot the VM
    

    Prima di riavviare, è consigliabile salvare i dati di diagnostica di avvio della macchina virtuale.Before you reboot, we recommend that you save boot diagnostics of the VM.

Monitoraggio dello stato della crittografia del sistema operativoMonitoring OS encryption progress

Esistono tre modi per monitorare lo stato della crittografia del sistema operativo:You can monitor OS encryption progress in three ways:

  • Usare il cmdlet Get-AzureRmVmDiskEncryptionStatus ed esaminare il campo ProgressMessage:Use the Get-AzureRmVmDiskEncryptionStatus cmdlet and inspect the ProgressMessage field:

    OsVolumeEncrypted          : EncryptionInProgress
    DataVolumesEncrypted       : NotMounted
    OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
    ProgressMessage            : OS disk encryption started
    

    Quando la VM raggiunge lo stato "OS disk encryption started", sono necessari circa 40 o 50 minuti in una VM con archiviazione Premium.After the VM reaches "OS disk encryption started," it takes about 40 to 50 minutes on a Premium-storage backed VM.

    A causa dell'errore #388 in WALinuxAgent, OsVolumeEncrypted e DataVolumesEncryptedvengono visualizzati come Unknown in alcune distribuzioni.Because of issue #388 in WALinuxAgent, OsVolumeEncrypted and DataVolumesEncrypted show up as Unknown in some distributions. Con WALinuxAgent 2.1.5 e versioni successive questo errore viene risolto automaticamente.With WALinuxAgent version 2.1.5 and later, this issue is fixed automatically. Se viene visualizzato Unknown nell'output, è possibile verificare lo stato della crittografia del disco usando Esplora risorse di Azure.If you see Unknown in the output, you can verify disk-encryption status by using the Azure Resource Explorer.

    Passare a Esplora risorse di Azure, quindi espandere questa gerarchia nel pannello di selezione a sinistra:Go to Azure Resource Explorer, and then expand this hierarchy in the selection panel on left:

    |-- subscriptions
       |-- [Your subscription]
            |-- resourceGroups
                 |-- [Your resource group]
                      |-- providers
                           |-- Microsoft.Compute
                                |-- virtualMachines
                                     |-- [Your virtual machine]
                                          |-- InstanceView
    

    In InstanceView scorrere verso il basso per visualizzare lo stato della crittografia delle unità.In the InstanceView, scroll down to see the encryption status of your drives.

    Visualizzazione dell'istanza della VM

  • Esaminare la diagnostica di avvio.Look at boot diagnostics. I messaggi provenienti dall'estensione ADE hanno il prefisso [AzureDiskEncryption].Messages from the ADE extension should be prefixed with [AzureDiskEncryption].

  • Accedere alla VM tramite SSH e ottenere il log di estensione da:Sign in to the VM via SSH, and get the extension log from:

    /var/log/azure/Microsoft.Azure.Security.AzureDiskEncryptionForLinux/var/log/azure/Microsoft.Azure.Security.AzureDiskEncryptionForLinux

    È consigliabile non accedere alla VM mentre è in corso la crittografia del sistema operativo.We recommend that you do not sign in to the VM while OS encryption is in progress. Copiare i log solo in caso di errore degli altri due metodi.Copy the logs only when the other two methods have failed.

Preparare un disco rigido virtuale Linux pre-crittografatoPrepare a pre-encrypted Linux VHD

Ubuntu 16Ubuntu 16

Configurare la crittografia durante l'installazione della distribuzione seguendo questa procedura:Configure encryption during the distribution installation by doing the following:

  1. Selezionare Configure encrypted volumes (Configura volumi crittografati) durante il partizionamento dei dischi.Select Configure encrypted volumes when you partition the disks.

    Configurazione di Ubuntu 16.04

  2. Creare un'unità di avvio separata che non deve essere crittografata.Create a separate boot drive, which must not be encrypted. Crittografare l'unità radice.Encrypt your root drive.

    Configurazione di Ubuntu 16.04

  3. Specificare una passphrase.Provide a passphrase. Si tratta della passphrase che viene caricata nell'insieme di credenziali delle chiavi.This is the passphrase that you upload to the key vault.

    Configurazione di Ubuntu 16.04

  4. Terminare il partizionamento.Finish partitioning.

    Configurazione di Ubuntu 16.04

  5. Quando si avvia la macchina virtuale e viene richiesta una passphrase, usare la passphrase specificata nel passaggio 3.When you boot the VM and are asked for a passphrase, use the passphrase you provided in step 3.

    Configurazione di Ubuntu 16.04

  6. Preparare la macchina virtuale per il caricamento in Azure seguendo queste istruzioni.Prepare the VM for uploading into Azure using these instructions. Non eseguire ancora l'ultimo passaggio, ovvero il deprovisioning della VM.Do not run the last step (deprovisioning the VM) yet.

Configurare la crittografia per l'uso in Azure seguendo queste istruzioni:Configure encryption to work with Azure by doing the following:

  1. Creare un file in /usr/local/sbin/azure_crypt_key.sh, con il contenuto dello script seguente.Create a file under /usr/local/sbin/azure_crypt_key.sh, with the content in the following script. Prestare attenzione a KeyFileName, perché è il nome file della passphrase usato da Azure.Pay attention to the KeyFileName, because it is the passphrase file name used by Azure.

    #!/bin/sh
    MountPoint=/tmp-keydisk-mount
    KeyFileName=LinuxPassPhraseFileName
    echo "Trying to get the key from disks ..." >&2
    mkdir -p $MountPoint
    modprobe vfat >/dev/null 2>&1
    modprobe ntfs >/dev/null 2>&1
    sleep 2
    OPENED=0
    cd /sys/block
    for DEV in sd*; do
    
        echo "> Trying device: $DEV ..." >&2
        mount -t vfat -r /dev/${DEV}1 $MountPoint >/dev/null||
        mount -t ntfs -r /dev/${DEV}1 $MountPoint >/dev/null
        if [ -f $MountPoint/$KeyFileName ]; then
                cat $MountPoint/$KeyFileName
                umount $MountPoint 2>/dev/null
                OPENED=1
                break
        fi
        umount $MountPoint 2>/dev/null
    done
    
      if [ $OPENED -eq 0 ]; then
        echo "FAILED to find suitable passphrase file ..." >&2
        echo -n "Try to enter your password: " >&2
        read -s -r A </dev/console
        echo -n "$A"
     else
        echo "Success loading keyfile!" >&2
    fi
    
  2. Modificare la configurazione di crittografia in /etc/crypttab.Change the crypt config in /etc/crypttab. L'aspetto dovrebbe risultare simile al seguente:It should look like this:

     xxx_crypt uuid=xxxxxxxxxxxxxxxxxxxxx none luks,discard,keyscript=/usr/local/sbin/azure_crypt_key.sh
    
  3. Se si modifica azure_crypt_key.sh in Windows e questo valore è stato copiato in Linux, eseguire dos2unix /usr/local/sbin/azure_crypt_key.sh.If you are editing azure_crypt_key.sh in Windows and you copied it to Linux, run dos2unix /usr/local/sbin/azure_crypt_key.sh.

  4. Aggiungere autorizzazioni di esecuzione allo script:Add executable permissions to the script:

     chmod +x /usr/local/sbin/azure_crypt_key.sh
    
  5. Modificare /etc/initramfs-tools/modules accodando le righe:Edit /etc/initramfs-tools/modules by appending lines: vfat ntfs nls_cp437 nls_utf8 nls_iso8859-1
  6. Eseguire update-initramfs -u -k all per aggiornare initramfs e rendere operativo il keyscript.Run update-initramfs -u -k all to update the initramfs to make the keyscript take effect.

  7. È ora possibile effettuare il deprovisioning della VM.Now you can deprovision the VM.

    Configurazione di Ubuntu 16.04

  8. Continuare con il passaggio successivo e caricare il disco rigido virtuale in Azure.Continue to the next step and upload your VHD into Azure.

openSUSE 13.2openSUSE 13.2

Per configurare la crittografia durante l'installazione della distribuzione, seguire questa procedura:To configure encryption during the distribution installation, do the following:

  1. Durante il partizionamento dei dischi, selezionare Encrypt Volume Group (Crittografa gruppo di volumi), quindi immettere una password.When you partition the disks, select Encrypt Volume Group, and then enter a password. Questa è la password che verrà caricata nell'insieme di credenziali delle chiavi.This is the password that you will upload to your key vault.

    Configurazione di openSUSE 13.2

  2. Avviare la VM usando la password.Boot the VM using your password.

    Configurazione di openSUSE 13.2

  3. Preparare la macchina virtuale per il caricamento in Azure seguendo le istruzioni disponibili in Preparare una macchina virtuale SLES oppure openSUSE per Azure.Prepare the VM for uploading to Azure by following the instructions in Prepare a SLES or openSUSE virtual machine for Azure. Non eseguire ancora l'ultimo passaggio, ovvero il deprovisioning della VM.Do not run the last step (deprovisioning the VM) yet.

Per configurare la crittografia per l'uso in Azure, seguire questa procedura:To configure encryption to work with Azure, do the following:

  1. Modificare il file /etc/dracut.conf e aggiungere la riga seguente:Edit the /etc/dracut.conf, and add the following line: add_drivers+=" vfat ntfs nls_cp437 nls_iso8859-1"
  2. Impostare come commento queste righe verso la fine del file /usr/lib/dracut/modules.d/90crypt/module-setup.sh:Comment out these lines by the end of the file /usr/lib/dracut/modules.d/90crypt/module-setup.sh:

     #        inst_multiple -o \
     #        $systemdutildir/system-generators/systemd-cryptsetup-generator \
     #        $systemdutildir/systemd-cryptsetup \
     #        $systemdsystemunitdir/systemd-ask-password-console.path \
     #        $systemdsystemunitdir/systemd-ask-password-console.service \
     #        $systemdsystemunitdir/cryptsetup.target \
     #        $systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \
     #        systemd-ask-password systemd-tty-ask-password-agent
     #        inst_script "$moddir"/crypt-run-generator.sh /sbin/crypt-run-generator
    
  3. Aggiungere la riga seguente all'inizio del file /usr/lib/dracut/modules.d/90crypt/parse-crypt.sh:Append the following line at the beginning of the file /usr/lib/dracut/modules.d/90crypt/parse-crypt.sh:

     DRACUT_SYSTEMD=0
    

    Modificare quindi tutte le occorrenze di:And change all occurrences of:

     if [ -z "$DRACUT_SYSTEMD" ]; then
    

    in:to:

     if [ 1 ]; then
    
  4. Modificare /usr/lib/dracut/modules.d/90crypt/cryptroot-ask.sh e aggiungere questo codice dopo "# Open LUKS device":Edit /usr/lib/dracut/modules.d/90crypt/cryptroot-ask.sh and append it to “# Open LUKS device”:

    MountPoint=/tmp-keydisk-mount
    KeyFileName=LinuxPassPhraseFileName
    echo "Trying to get the key from disks ..." >&2
    mkdir -p $MountPoint >&2
    modprobe vfat >/dev/null >&2
    modprobe ntfs >/dev/null >&2
    for SFS in /dev/sd*; do
    echo "> Trying device:$SFS..." >&2
    mount ${SFS}1 $MountPoint -t vfat -r >&2 ||
    mount ${SFS}1 $MountPoint -t ntfs -r >&2
    if [ -f $MountPoint/$KeyFileName ]; then
        echo "> keyfile got..." >&2
        cp $MountPoint/$KeyFileName /tmp-keyfile >&2
        luksfile=/tmp-keyfile
        umount $MountPoint >&2
        break
    fi
    done
    
  5. Eseguire /usr/sbin/dracut -f -v per aggiornare initrd.Run /usr/sbin/dracut -f -v to update the initrd.

  6. È ora possibile effettuare il deprovisioning della macchina virtuale e caricare il disco rigido virtuale in Azure.Now you can deprovision the VM and upload your VHD into Azure.

CentOS 7CentOS 7

Per configurare la crittografia durante l'installazione della distribuzione, seguire questa procedura:To configure encryption during the distribution installation, do the following:

  1. Selezionare Encrypt my data (Crittografa dati personali) durante il partizionamento dei dischi.Select Encrypt my data when you partition disks.

    Configurazione di CentOS 7

  2. Assicurarsi Encrypt (Crittografa) sia selezionato per la partizione radice.Make sure Encrypt is selected for root partition.

    Configurazione di CentOS 7

  3. Specificare una passphrase.Provide a passphrase. Questa è la passphrase che verrà caricata nell'insieme di credenziali delle chiavi.This is the passphrase that you will upload to your key vault.

    Configurazione di CentOS 7

  4. Quando si avvia la macchina virtuale e viene richiesta una passphrase, usare la passphrase specificata nel passaggio 3.When you boot the VM and are asked for a passphrase, use the passphrase you provided in step 3.

    Configurazione di CentOS 7

  5. Preparare la macchina virtuale per il caricamento in Azure usando le istruzioni relative a "CentOS 7.0+" disponibili in Preparare una macchina virtuale basata su CentOS per Azure.Prepare the VM for uploading into Azure by using the "CentOS 7.0+" instructions in Prepare a CentOS-based virtual machine for Azure. Non eseguire ancora l'ultimo passaggio, ovvero il deprovisioning della VM.Do not run the last step (deprovisioning the VM) yet.

  6. È ora possibile effettuare il deprovisioning della macchina virtuale e caricare il disco rigido virtuale in Azure.Now you can deprovision the VM and upload your VHD into Azure.

Per configurare la crittografia per l'uso in Azure, seguire questa procedura:To configure encryption to work with Azure, do the following:

  1. Modificare il file /etc/dracut.conf e aggiungere la riga seguente:Edit the /etc/dracut.conf, and add the following line:

    add_drivers+=" vfat ntfs nls_cp437 nls_iso8859-1"
    
  2. Impostare come commento queste righe verso la fine del file /usr/lib/dracut/modules.d/90crypt/module-setup.sh:Comment out these lines by the end of the file /usr/lib/dracut/modules.d/90crypt/module-setup.sh:

     #        inst_multiple -o \
     #        $systemdutildir/system-generators/systemd-cryptsetup-generator \
     #        $systemdutildir/systemd-cryptsetup \
     #        $systemdsystemunitdir/systemd-ask-password-console.path \
     #        $systemdsystemunitdir/systemd-ask-password-console.service \
     #        $systemdsystemunitdir/cryptsetup.target \
     #        $systemdsystemunitdir/sysinit.target.wants/cryptsetup.target \
     #        systemd-ask-password systemd-tty-ask-password-agent
     #        inst_script "$moddir"/crypt-run-generator.sh /sbin/crypt-run-generator
    
  3. Aggiungere la riga seguente all'inizio del file /usr/lib/dracut/modules.d/90crypt/parse-crypt.sh:Append the following line at the beginning of the file /usr/lib/dracut/modules.d/90crypt/parse-crypt.sh:

     DRACUT_SYSTEMD=0
    

    Modificare quindi tutte le occorrenze di:And change all occurrences of:

     if [ -z "$DRACUT_SYSTEMD" ]; then
    

    toto

     if [ 1 ]; then
    
  4. Modificare /usr/lib/dracut/modules.d/90crypt/cryptroot-ask.sh e aggiungere questo codice dopo "# Open LUKS device":Edit /usr/lib/dracut/modules.d/90crypt/cryptroot-ask.sh and append this after the “# Open LUKS device”: MountPoint=/tmp-keydisk-mount KeyFileName=LinuxPassPhraseFileName echo "Trying to get the key from disks ..." >&2 mkdir -p $MountPoint >&2 modprobe vfat >/dev/null >&2 modprobe ntfs >/dev/null >&2 for SFS in /dev/sd*; do echo "> Trying device:$SFS..." >&2 mount ${SFS}1 $MountPoint -t vfat -r >&2 || mount ${SFS}1 $MountPoint -t ntfs -r >&2 if [ -f $MountPoint/$KeyFileName ]; then echo "> keyfile got..." >&2 cp $MountPoint/$KeyFileName /tmp-keyfile >&2 luksfile=/tmp-keyfile umount $MountPoint >&2 break fi done
  5. Eseguire "/usr/sbin/dracut -f -v" per aggiornare initrd.Run the “/usr/sbin/dracut -f -v” to update the initrd.

Configurazione di CentOS 7

Caricare il VHD crittografato in un account di archiviazione di AzureUpload encrypted VHD to an Azure storage account

Dopo aver abilitato la crittografia BitLocker o la crittografia DM-Crypt, il disco rigido virtuale crittografato locale dovrà essere caricato nell'account di archiviazione.After BitLocker encryption or DM-Crypt encryption is enabled, the local encrypted VHD needs to be uploaded to your storage account.

Add-AzureRmVhd [-Destination] <Uri> [-LocalFilePath] <FileInfo> [[-NumberOfUploaderThreads] <Int32> ] [[-BaseImageUriToPatch] <Uri> ] [[-OverWrite]] [ <CommonParameters>]

Caricare il segreto di crittografia del disco per la VM pre-crittografata nell'insieme di credenziali delle chiaviUpload the disk-encryption secret for the pre-encrypted VM to your key vault

Il segreto di crittografia del disco ottenuto in precedenza deve essere caricato come segreto nell'insieme di credenziali delle chiavi.The disk-encryption secret that you obtained previously must be uploaded as a secret in your key vault. L'insieme di credenziali delle chiavi deve avere la crittografia dei dischi e le autorizzazioni abilitate per il client di Azure AD.The key vault needs to have disk encryption and permissions enabled for your Azure AD client.

$AadClientId = "YourAADClientId"
$AadClientSecret = "YourAADClientSecret"

$key vault = New-AzureRmKeyVault -VaultName $KeyVaultName -ResourceGroupName $ResourceGroupName -Location $Location

Set-AzureRmKeyVaultAccessPolicy -VaultName $KeyVaultName -ResourceGroupName $ResourceGroupName -ServicePrincipalName $AadClientId -PermissionsToKeys all -PermissionsToSecrets all
Set-AzureRmKeyVaultAccessPolicy -VaultName $KeyVaultName -ResourceGroupName $ResourceGroupName -EnabledForDiskEncryption

Segreto di crittografia del disco non crittografato con una chiave di crittografia della chiaveDisk encryption secret not encrypted with a KEK

Per configurare il segreto nell'insieme di credenziali delle chiavi, usare Set-AzureKeyVaultSecret.To set up the secret in your key vault, use Set-AzureKeyVaultSecret. Se si ha una macchina virtuale Windows, il file con estensione bek viene codificato come stringa base64, quindi viene caricato nell'insieme di credenziali delle chiavi usando il cmdlet Set-AzureKeyVaultSecret.If you have a Windows virtual machine, the bek file is encoded as a base64 string and then uploaded to your key vault using the Set-AzureKeyVaultSecret cmdlet. Per Linux la passphrase viene codificata come stringa Base 64 e quindi caricata nell'insieme di credenziali delle chiavi.For Linux, the passphrase is encoded as a base64 string and then uploaded to the key vault. Assicurarsi anche che i tag seguenti siano impostati quando si crea il segreto nell'insieme di credenziali delle chiavi.In addition, make sure that the following tags are set when you create the secret in the key vault.

# This is the passphrase that was provided for encryption during the distribution installation
$passphrase = "contoso-password"

$tags = @{"DiskEncryptionKeyEncryptionAlgorithm" = "RSA-OAEP"; "DiskEncryptionKeyFileName" = "LinuxPassPhraseFileName"}
$secretName = [guid]::NewGuid().ToString()
$secretValue = [Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($passphrase))
$secureSecretValue = ConvertTo-SecureString $secretValue -AsPlainText -Force

$secret = Set-AzureKeyVaultSecret -VaultName $KeyVaultName -Name $secretName -SecretValue $secureSecretValue -tags $tags
$secretUrl = $secret.Id

Usare $secretUrl nel passaggio successivo per collegare il disco del sistema operativo senza usare una chiave di crittografia della chiave.Use the $secretUrl in the next step for attaching the OS disk without using KEK.

Segreto di crittografia del disco crittografato con una chiave di crittografia della chiaveDisk encryption secret encrypted with a KEK

Prima di caricare il segreto nell'insieme di credenziali delle chiavi, è possibile crittografarlo usando una chiave di crittografia della chiave.Before you upload the secret to the key vault, you can optionally encrypt it by using a key encryption key. Usare l'API WRAP per crittografare prima di tutto il segreto con la chiave di crittografia della chiave.Use the wrap API to first encrypt the secret using the key encryption key. L'output di questa operazione WRAP si basa su una stringa con codifica Base 64 dell'URL che può essere quindi caricata come segreto con il cmdlet Set-AzureKeyVaultSecret.The output of this wrap operation is a base64 URL encoded string, which you can then upload as a secret by using the Set-AzureKeyVaultSecret cmdlet.

# This is the passphrase that was provided for encryption during the distribution installation
$passphrase = "contoso-password"

Add-AzureKeyVaultKey -VaultName $KeyVaultName -Name "keyencryptionkey" -Destination Software
$KeyEncryptionKey = Get-AzureKeyVaultKey -VaultName $KeyVault.OriginalVault.Name -Name "keyencryptionkey"

$apiversion = "2015-06-01"

##############################
# Get Auth URI
##############################

$uri = $KeyVault.VaultUri + "/keys"
$headers = @{}

$response = try { Invoke-RestMethod -Method GET -Uri $uri -Headers $headers } catch { $_.Exception.Response }

$authHeader = $response.Headers["www-authenticate"]
$authUri = [regex]::match($authHeader, 'authorization="(.*?)"').Groups[1].Value

Write-Host "Got Auth URI successfully"

##############################
# Get Auth Token
##############################

$uri = $authUri + "/oauth2/token"
$body = "grant_type=client_credentials"
$body += "&client_id=" + $AadClientId
$body += "&client_secret=" + [Uri]::EscapeDataString($AadClientSecret)
$body += "&resource=" + [Uri]::EscapeDataString("https://vault.azure.net")
$headers = @{}

$response = Invoke-RestMethod -Method POST -Uri $uri -Headers $headers -Body $body

$access_token = $response.access_token

Write-Host "Got Auth Token successfully"

##############################
# Get KEK info
##############################

$uri = $KeyEncryptionKey.Id + "?api-version=" + $apiversion
$headers = @{"Authorization" = "Bearer " + $access_token}

$response = Invoke-RestMethod -Method GET -Uri $uri -Headers $headers

$keyid = $response.key.kid

Write-Host "Got KEK info successfully"

##############################
# Encrypt passphrase using KEK
##############################

$passphraseB64 = [Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($Passphrase))
$uri = $keyid + "/encrypt?api-version=" + $apiversion
$headers = @{"Authorization" = "Bearer " + $access_token; "Content-Type" = "application/json"}
$bodyObj = @{"alg" = "RSA-OAEP"; "value" = $passphraseB64}
$body = $bodyObj | ConvertTo-Json

$response = Invoke-RestMethod -Method POST -Uri $uri -Headers $headers -Body $body

$wrappedSecret = $response.value

Write-Host "Encrypted passphrase successfully"

##############################
# Store secret
##############################

$secretName = [guid]::NewGuid().ToString()
$uri = $KeyVault.VaultUri + "/secrets/" + $secretName + "?api-version=" + $apiversion
$secretAttributes = @{"enabled" = $true}
$secretTags = @{"DiskEncryptionKeyEncryptionAlgorithm" = "RSA-OAEP"; "DiskEncryptionKeyFileName" = "LinuxPassPhraseFileName"}
$headers = @{"Authorization" = "Bearer " + $access_token; "Content-Type" = "application/json"}
$bodyObj = @{"value" = $wrappedSecret; "attributes" = $secretAttributes; "tags" = $secretTags}
$body = $bodyObj | ConvertTo-Json

$response = Invoke-RestMethod -Method PUT -Uri $uri -Headers $headers -Body $body

Write-Host "Stored secret successfully"

$secretUrl = $response.id

Usare $KeyEncryptionKey e $secretUrl nel passaggio successivo per collegare il disco del sistema operativo usando una chiave di crittografia della chiave.Use $KeyEncryptionKey and $secretUrl in the next step for attaching the OS disk using KEK.

Specificare un URL del segreto quando si collega un disco del sistema operativoSpecify a secret URL when you attach an OS disk

Senza l'uso di una chiave di crittografia della chiave (KEK)Without using a KEK

Durante il collegamento del disco del sistema operativo è necessario passare $secretUrl.While you are attaching the OS disk, you need to pass $secretUrl. L'URL è stato generato nella sezione "Segreto di crittografia del disco non crittografato con una chiave di crittografia della chiave".The URL was generated in the "Disk-encryption secret not encrypted with a KEK" section.

Set-AzureRmVMOSDisk `
        -VM $VirtualMachine `
        -Name $OSDiskName `
        -SourceImageUri $VhdUri `
        -VhdUri $OSDiskUri `
        -Linux `
        -CreateOption FromImage `
        -DiskEncryptionKeyVaultId $KeyVault.ResourceId `
        -DiskEncryptionKeyUrl $SecretUrl

Uso di una chiave di crittografia della chiave (KEK)Using a KEK

Quando si collega il disco del sistema operativo, vedere $KeyEncryptionKey e $secretUrl.When you attach the OS disk, pass $KeyEncryptionKey and $secretUrl. L'URL è stato generato nella sezione "Segreto di crittografia del disco non crittografato con una chiave di crittografia della chiave".The URL was generated in the "Disk-encryption secret not encrypted with a KEK" section.

Set-AzureRmVMOSDisk `
        -VM $VirtualMachine `
        -Name $OSDiskName `
        -SourceImageUri $CopiedTemplateBlobUri `
        -VhdUri $OSDiskUri `
        -Linux `
        -CreateOption FromImage `
        -DiskEncryptionKeyVaultId $KeyVault.ResourceId `
        -DiskEncryptionKeyUrl $SecretUrl `
        -KeyEncryptionKeyVaultId $KeyVault.ResourceId `
        -KeyEncryptionKeyURL $KeyEncryptionKey.Id

Scaricare questa guidaDownload this guide

È possibile scaricare in questa guida dalla Raccolta TechNet.You can download this guide from the TechNet Gallery.

Per altre informazioniFor more information

Esplorare Crittografia dischi di Azure con Azure PowerShell - Parte 1Explore Azure Disk Encryption with Azure PowerShell - Part 1
Esplorare Crittografia dischi di Azure con Azure PowerShell - Parte 2Explore Azure Disk Encryption with Azure PowerShell - Part 2