Azure Disk Encryption inschakelen met Microsoft Entra-id op Linux-VM's (vorige release)

Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️

De nieuwe versie van Azure Disk Encryption elimineert de vereiste voor het instellen van een Microsoft Entra-toepassingsparameter om VM-schijfversleuteling in te schakelen. Met de nieuwe release is het niet meer nodig om Microsoft Entra-referenties op te geven tijdens de stap versleuteling inschakelen. Alle nieuwe VM's moeten worden versleuteld zonder de Microsoft Entra-toepassingsparameters met behulp van de nieuwe release. Zie Azure Disk Encryption voor Linux-VM's voor instructies over het inschakelen van VM-schijfversleuteling met behulp van de nieuwe versie. VM's die al zijn versleuteld met Microsoft Entra-toepassingsparameters, worden nog steeds ondersteund en moeten nog steeds worden onderhouden met de Microsoft Entra-syntaxis.

U kunt veel scenario's voor schijfversleuteling inschakelen en de stappen kunnen variëren afhankelijk van het scenario. In de volgende secties worden de scenario's uitgebreider beschreven voor IaaS-VM's (Infrastructure as a Service). U kunt schijfversleuteling alleen toepassen op virtuele machines met ondersteunde VM-grootten en besturingssystemen. U moet ook voldoen aan de volgende vereisten:

Maak een momentopname, maak een back-up of beide voordat u de schijven versleutelt. Back-ups zorgen ervoor dat een hersteloptie mogelijk is als er een onverwachte fout optreedt tijdens de versleuteling. Voor VM's met beheerde schijven is een back-up vereist voordat versleuteling plaatsvindt. Nadat een back-up is gemaakt, kunt u de cmdlet Set-AzVMDiskEncryptionExtension gebruiken om beheerde schijven te versleutelen door de parameter -skipVmBackup op te geven. Zie Azure Backup voor meer informatie over het maken van back-ups en het herstellen van versleutelde VM's.

Waarschuwing

  • Als u azure Disk Encryption eerder hebt gebruikt met de Microsoft Entra-app om deze VIRTUELE machine te versleutelen, moet u deze optie blijven gebruiken om uw virtuele machine te versleutelen. U kunt Azure Disk Encryption niet gebruiken op deze versleutelde VM, omdat dit geen ondersteund scenario is. Dit betekent dat het overschakelen van de Microsoft Entra-toepassing voor deze versleutelde VM nog niet wordt ondersteund.
  • Om ervoor te zorgen dat de versleutelingsgeheimen geen regionale grenzen overschrijden, moet Azure Disk Encryption de sleutelkluis en de VM's zich in dezelfde regio bevinden. Maak en gebruik een sleutelkluis die zich in dezelfde regio bevindt als de VIRTUELE machine die moet worden versleuteld.
  • Wanneer u Linux-besturingssysteemvolumes versleutelt, kan het proces enkele uren duren. Het is normaal dat linux-besturingssysteemvolumes langer duren dan gegevensvolumes om te versleutelen.
  • Wanneer u Linux-besturingssysteemvolumes versleutelt, moet de VIRTUELE machine als niet beschikbaar worden beschouwd. We raden u ten zeerste aan om SSH-aanmeldingen te voorkomen terwijl de versleuteling wordt uitgevoerd om te voorkomen dat geopende bestanden worden geblokkeerd die tijdens het versleutelingsproces moeten worden geopend. Gebruik de opdracht Get-AzVMDiskEncryptionStatus of vm-versleuteling om de voortgang te controleren. U kunt verwachten dat dit proces enkele uren duurt voor een besturingssysteemvolume van 30 GB, plus extra tijd voor het versleutelen van gegevensvolumes. De tijd voor gegevensvolumeversleuteling is evenredig met de grootte en hoeveelheid van de gegevensvolumes, tenzij de versleutelingsindeling wordt gebruikt.
  • Het uitschakelen van versleuteling op Linux-VM's wordt alleen ondersteund voor gegevensvolumes. Het wordt niet ondersteund op gegevens- of besturingssysteemvolumes als het besturingssysteemvolume is versleuteld.

Versleuteling inschakelen op een bestaande of actieve IaaS Linux-VM

In dit scenario kunt u versleuteling inschakelen met behulp van de Azure Resource Manager-sjabloon, PowerShell-cmdlets of Azure CLI-opdrachten.

Belangrijk

Het is verplicht om een momentopname te maken of een back-up te maken van een VM-exemplaar op basis van een beheerde schijf buiten en voordat u Azure Disk Encryption inschakelt. U kunt een momentopname maken van de beheerde schijf vanuit Azure Portal of u kunt Azure Backup gebruiken. Back-ups zorgen ervoor dat een hersteloptie mogelijk is in het geval van een onverwachte fout tijdens de versleuteling. Nadat een back-up is gemaakt, gebruikt u de cmdlet Set-AzVMDiskEncryptionExtension om beheerde schijven te versleutelen door de parameter -skipVmBackup op te geven. De opdracht Set-AzVMDiskEncryptionExtension mislukt voor vm's op basis van beheerde schijven totdat er een back-up wordt gemaakt en deze parameter is opgegeven.

Het versleutelen of uitschakelen van versleuteling kan ertoe leiden dat de virtuele machine opnieuw wordt opgestart.

Versleuteling inschakelen op een bestaande of actieve Linux-VM met behulp van de Azure CLI

U kunt schijfversleuteling op uw versleutelde VHD inschakelen door het opdrachtregelprogramma van Azure CLI 2.0 te installeren en te gebruiken. U kunt PowerShell in uw browser gebruiken met Azure Cloud Shell, of installeren op uw lokale computer en dan gebruiken in een PowerShell-sessie. Gebruik de volgende CLI-opdrachten om versleuteling in te schakelen op bestaande of actieve IaaS Linux-VM's in Azure:

Gebruik de opdracht az vm encryption enable om versleuteling in te schakelen op een actieve Virtuele IaaS-machine in Azure.

  • Versleutel een actieve VM met behulp van een clientgeheim:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Versleutel een actieve VM met behulp van KEK om het clientgeheim in te pakken:

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

    Notitie

    De syntaxis voor de waarde van de parameter disk-encryption-keyvault is de volledige id-tekenreeks: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name].

    De syntaxis voor de waarde van de parameter key-encryption-key is de volledige URI voor de KEK, zoals in: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

  • Controleer of de schijven zijn versleuteld: gebruik de opdracht az vm encryption show om de versleutelingsstatus van een IaaS-VM te controleren.

        az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    
  • Versleuteling uitschakelen: als u versleuteling wilt uitschakelen, gebruikt u de opdracht az vm encryption disable . Het uitschakelen van versleuteling is alleen toegestaan op gegevensvolumes voor Linux-VM's.

        az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type DATA
    

Versleuteling inschakelen op een bestaande of actieve Linux-VM met behulp van PowerShell

Gebruik de cmdlet Set-AzVMDiskEncryptionExtension om versleuteling in te schakelen op een actieve Virtuele IaaS-machine in Azure. Maak een momentopname of maak een back-up van de virtuele machine met Azure Backup voordat de schijven worden versleuteld. De parameter -skipVmBackup is al opgegeven in de PowerShell-scripts om een actieve Linux-VM te versleutelen.

  • Versleutel een actieve VM met behulp van een clientgeheim: met het volgende script worden uw variabelen geïnitialiseerd en wordt de cmdlet Set-AzVMDiskEncryptionExtension uitgevoerd. De resourcegroep, DE VM, de sleutelkluis, de Microsoft Entra-app en het clientgeheim moeten al zijn gemaakt als vereisten. Vervang MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID en My-AAD-client-secret door uw waarden. Wijzig de parameter -VolumeType om op te geven welke schijven u versleutelt.

        $VMRGName = 'MyVirtualMachineResourceGroup';
        $KVRGname = 'MyKeyVaultResourceGroup';
        $vmName = 'MySecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType '[All|OS|Data]' -SequenceVersion $sequenceVersion -skipVmBackup;
    
  • Versleutel een actieve VIRTUELE machine met behulp van KEK om het clientgeheim te verpakken: Met Azure Disk Encryption kunt u een bestaande sleutel in uw sleutelkluis opgeven om versleutelingsgeheimen voor schijfversleuteling te verpakken die zijn gegenereerd tijdens het inschakelen van versleuteling. Wanneer een sleutelversleutelingssleutel is opgegeven, gebruikt Azure Disk Encryption die sleutel om de versleutelingsgeheimen te verpakken voordat ze naar de sleutelkluis worden geschreven. Wijzig de parameter -VolumeType om op te geven welke schijven u versleutelt.

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

    Notitie

    De syntaxis voor de waarde van de parameter disk-encryption-keyvault is de volledige id-tekenreeks: /subscriptions/[subscription-id-guid]/resourceGroups/[KVresource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name].

    De syntaxis voor de waarde van de parameter key-encryption-key is de volledige URI voor de KEK, zoals in: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

  • Controleer of de schijven zijn versleuteld: gebruik de cmdlet Get-AzVmDiskEncryptionStatus om de versleutelingsstatus van een IaaS-VM te controleren.

        Get-AzVmDiskEncryptionStatus -ResourceGroupName MyVirtualMachineResourceGroup -VMName MySecureVM
    
  • Schijfversleuteling uitschakelen: gebruik de cmdlet Disable-AzureRmVMDiskEncryption om de versleuteling uit te schakelen. Het uitschakelen van versleuteling is alleen toegestaan op gegevensvolumes voor Linux-VM's.

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

Versleuteling inschakelen op een bestaande of actieve IaaS Linux-VM met een sjabloon

U kunt schijfversleuteling inschakelen op een bestaande of actieve IaaS Linux-VM in Azure met behulp van de Resource Manager-sjabloon.

  1. Selecteer Implementeren in Azure in de Azure-quickstartsjabloon.

  2. Selecteer het abonnement, de resourcegroep, de locatie van de resourcegroep, de parameters, de juridische voorwaarden en de overeenkomst. Selecteer Maken om versleuteling in te schakelen op de bestaande of actieve IaaS-VM.

De volgende tabel bevat Resource Manager-sjabloonparameters voor bestaande of actieve VM's die gebruikmaken van een Microsoft Entra-client-id:

Parameter Omschrijving
AADClientID Client-id van de Microsoft Entra-toepassing met machtigingen voor het schrijven van geheimen naar de sleutelkluis.
AADClientSecret Clientgeheim van de Microsoft Entra-toepassing met machtigingen voor het schrijven van geheimen naar uw sleutelkluis.
keyVaultName De naam van de sleutelkluis waarnaar de sleutel moet worden geüpload. U kunt deze ophalen met behulp van de Azure CLI-opdracht az keyvault show --name "MySecureVault" --query KVresourceGroup.
keyEncryptionKeyURL URL van de sleutelversleutelingssleutel die wordt gebruikt om de gegenereerde sleutel te versleutelen. Deze parameter is optioneel als u nokek selecteert in de vervolgkeuzelijst UseExistingKek. Als u kek selecteert in de vervolgkeuzelijst UseExistingKek, moet u de waarde keyEncryptionKeyURL invoeren.
volumeType Type volume waarop de versleutelingsbewerking wordt uitgevoerd. Geldige ondersteunde waarden zijn besturingssysteem of alles. (Zie ondersteunde Linux-distributies en hun versies voor besturingssysteem- en gegevensschijven in de sectie vereisten eerder.)
sequenceVersion Reeksversie van de BitLocker-bewerking. Verhoog dit versienummer telkens wanneer een schijfversleutelingsbewerking wordt uitgevoerd op dezelfde VIRTUELE machine.
vmName De naam van de virtuele machine waarop de versleutelingsbewerking moet worden uitgevoerd.
wachtwoordzin Typ een sterke wachtwoordzin als de sleutel voor gegevensversleuteling.

De functie EncryptFormatAll gebruiken voor gegevensschijven op Linux IaaS-VM's

De parameter EncryptFormatAll vermindert de tijd dat Linux-gegevensschijven moeten worden versleuteld. Partities die voldoen aan bepaalde criteria, worden opgemaakt (met hun huidige bestandssysteem). Vervolgens worden ze weer gekoppeld aan waar ze waren voordat de opdracht werd uitgevoerd. Als u een gegevensschijf wilt uitsluiten die aan de criteria voldoet, kunt u deze ontkoppelen voordat u de opdracht uitvoert.

Nadat u deze opdracht hebt uitgevoerd, worden alle stations die eerder zijn gekoppeld geformatteerd. Vervolgens begint de versleutelingslaag boven op het nu lege station. Wanneer deze optie is geselecteerd, wordt de tijdelijke schijf die is gekoppeld aan de virtuele machine ook versleuteld. Als het tijdelijke station opnieuw wordt ingesteld, wordt het opnieuw opgemaakt en opnieuw versleuteld voor de virtuele machine door de Azure Disk Encryption-oplossing bij de volgende kans.

Waarschuwing

EncryptFormatAll mag niet worden gebruikt wanneer er gegevens nodig zijn op de gegevensvolumes van een virtuele machine. U kunt schijven uitsluiten van versleuteling door ze los te koppelen. Probeer eerst de parameter EncryptFormatAll op een test-VM om inzicht te krijgen in de functieparameter en de implicatie ervan voordat u deze op de productie-VM probeert. Met de optie EncryptFormatAll wordt de gegevensschijf opgemaakt, zodat alle gegevens op de schijf verloren gaan. Controleer voordat u verdergaat of alle schijven die u wilt uitsluiten, correct zijn ontkoppeld.

Als u deze parameter instelt terwijl u de versleutelingsinstellingen bijwerkt, kan dit leiden tot opnieuw opstarten voordat de daadwerkelijke versleuteling wordt gebruikt. In dit geval wilt u ook de schijf verwijderen die u niet wilt formatteren uit het fstab-bestand. Op dezelfde manier moet u de partitie toevoegen die u wilt versleutelen naar het fstab-bestand voordat u de versleutelingsbewerking start.

Criteria EncryptFormatAll

De parameter doorloopt alle partities en versleutelt ze zolang ze voldoen aan alle volgende criteria:

  • Is geen hoofd-/besturingssysteem-/opstartpartitie
  • Is nog niet versleuteld
  • Is geen BEK-volume
  • Is geen RAID-volume
  • Is geen LVM-volume
  • Is gekoppeld

Versleutel de schijven die het RAID- of LVM-volume vormen in plaats van het RAID- of LVM-volume.

De parameter EncryptFormatAll gebruiken met een sjabloon

Als u de optie EncryptFormatAll wilt gebruiken, gebruikt u een vooraf bestaande Azure Resource Manager-sjabloon waarmee een Linux-VM wordt versleuteld en wijzigt u het veld EncryptionOperation voor de AzureDiskEncryption-resource.

  1. Gebruik bijvoorbeeld de Resource Manager-sjabloon om een actieve Linux IaaS-VM te versleutelen.
  2. Selecteer Implementeren in Azure in de Azure-quickstartsjabloon.
  3. Wijzig het veld EncryptionOperation van EnableEncryption in EnableEncryptionFormatAl.
  4. Selecteer het abonnement, de resourcegroep, de locatie van de resourcegroep, andere parameters, juridische voorwaarden en overeenkomst. Selecteer Maken om versleuteling in te schakelen op de bestaande of actieve IaaS-VM.

De parameter EncryptFormatAll gebruiken met een PowerShell-cmdlet

Gebruik de cmdlet Set-AzVMDiskEncryptionExtension met de parameter EncryptFormatAll.

Versleutel een actieve VM met behulp van een clientgeheim en EncryptFormatAll: Als voorbeeld initialiseert het volgende script uw variabelen en voert u de cmdlet Set-AzVMDiskEncryptionExtension uit met de parameter EncryptFormatAll. De resourcegroep, DE VM, de sleutelkluis, de Microsoft Entra-app en het clientgeheim moeten al zijn gemaakt als vereisten. Vervang MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID en My-AAD-client-secret door uw waarden.

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

  Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -EncryptFormatAll

De parameter EncryptFormatAll gebruiken met Logical Volume Manager (LVM)

We raden een LVM-on-crypt-installatie aan. Vervang voor alle volgende voorbeelden het apparaatpad en koppelpunten door wat bij uw gebruiksscenario past. Deze installatie kan als volgt worden uitgevoerd:

  • Voeg de gegevensschijven toe die de VIRTUELE machine samenstellen.

  • Deze schijven opmaken, koppelen en toevoegen aan het fstab-bestand.

    1. Maak de zojuist toegevoegde schijf op. We gebruiken hier symlinks die door Azure zijn gegenereerd. Het gebruik van symlinks voorkomt problemen met betrekking tot het wijzigen van apparaatnamen. Zie Problemen met apparaatnamen oplossen voor meer informatie.

      mkfs -t ext4 /dev/disk/azure/scsi1/lun0
      
    2. Koppel de schijven.

      mount /dev/disk/azure/scsi1/lun0 /mnt/mountpoint
      
    3. Toevoegen aan fstab.

      echo "/dev/disk/azure/scsi1/lun0 /mnt/mountpoint ext4 defaults,nofail 1 2" >> /etc/fstab
      
    4. Voer de PowerShell-cmdlet Set-AzVMDiskEncryptionExtension uit met -EncryptFormatAll om deze schijven te versleutelen.

       Set-AzVMDiskEncryptionExtension -ResourceGroupName "MySecureGroup" -VMName "MySecureVM" -DiskEncryptionKeyVaultUrl "https://mykeyvault.vault.azure.net/" -EncryptFormatAll
      
    5. LVM instellen op deze nieuwe schijven. Houd er rekening mee dat de versleutelde stations zijn ontgrendeld nadat de VM is opgestart. De LVM-montage moet dus ook worden vertraagd.

Nieuwe IaaS-VM's die zijn gemaakt op basis van door de klant versleutelde VHD en versleutelingssleutels

In dit scenario kunt u versleuteling inschakelen met behulp van de Resource Manager-sjabloon, PowerShell-cmdlets of CLI-opdrachten. In de volgende secties worden de Resource Manager-sjabloon en CLI-opdrachten uitgebreider beschreven.

Gebruik de instructies in de bijlage voor het voorbereiden van vooraf versleutelde installatiekopieën die kunnen worden gebruikt in Azure. Nadat de installatiekopieën zijn gemaakt, kunt u de stappen in de volgende sectie gebruiken om een versleutelde Azure-VM te maken.

Belangrijk

Het is verplicht om een momentopname te maken of een back-up te maken van een VM-exemplaar op basis van een beheerde schijf buiten en voordat u Azure Disk Encryption inschakelt. U kunt een momentopname maken van de beheerde schijf vanuit de portal of u kunt Azure Backup gebruiken. Back-ups zorgen ervoor dat een hersteloptie mogelijk is in het geval van een onverwachte fout tijdens de versleuteling. Nadat een back-up is gemaakt, gebruikt u de cmdlet Set-AzVMDiskEncryptionExtension om beheerde schijven te versleutelen door de parameter -skipVmBackup op te geven. De opdracht Set-AzVMDiskEncryptionExtension mislukt voor vm's op basis van beheerde schijven totdat er een back-up wordt gemaakt en deze parameter is opgegeven.

Het versleutelen of uitschakelen van versleuteling kan ertoe leiden dat de virtuele machine opnieuw wordt opgestart.

Azure PowerShell gebruiken om IaaS-VM's te versleutelen met vooraf versleutelde VHD's

U kunt schijfversleuteling op uw versleutelde VHD inschakelen met behulp van de PowerShell-cmdlet Set-AzVMOSDisk. In het volgende voorbeeld ziet u enkele algemene parameters.

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

Versleuteling inschakelen op een nieuw toegevoegde gegevensschijf

U kunt een nieuwe gegevensschijf toevoegen met behulp van az vm disk attach of via Azure Portal. Voordat u de gegevensschijf kunt versleutelen, moet u eerst de zojuist gekoppelde gegevensschijf koppelen. U moet versleuteling van het gegevensstation aanvragen omdat het station onbruikbaar is terwijl versleuteling wordt uitgevoerd.

Versleuteling inschakelen op een nieuw toegevoegde schijf met de Azure CLI

Als de virtuele machine eerder is versleuteld met 'Alle', moet de parameter --volume-type Alle blijven. Alle omvat zowel besturingssysteem- als gegevensschijven. Als de virtuele machine eerder is versleuteld met een volumetype 'OS', moet de parameter --volume-type worden gewijzigd in Alles, zodat zowel het besturingssysteem als de nieuwe gegevensschijf worden opgenomen. Als de VIRTUELE machine is versleuteld met alleen het volumetype 'Gegevens', kan deze gegevens blijven, zoals hier wordt weergegeven. Het toevoegen en koppelen van een nieuwe gegevensschijf aan een VIRTUELE machine is niet voldoende voorbereiding voor versleuteling. De zojuist gekoppelde schijf moet ook worden geformatteerd en correct worden gekoppeld binnen de VIRTUELE machine voordat u versleuteling inschakelt. Op Linux moet de schijf worden gekoppeld in /etc/fstab met een permanente blokapparaatnaam.

In tegenstelling tot de PowerShell-syntaxis hoeft u voor de CLI geen unieke reeksversie op te geven wanneer u versleuteling inschakelt. De CLI genereert en gebruikt automatisch een eigen unieke reeksversiewaarde.

  • Versleutel een actieve VM met behulp van een clientgeheim:

        az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type "Data"
    
  • Versleutel een actieve VM met behulp van KEK om het clientgeheim in te pakken:

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

Versleuteling inschakelen op een nieuw toegevoegde schijf met Azure PowerShell

Wanneer u PowerShell gebruikt om een nieuwe schijf voor Linux te versleutelen, moet er een nieuwe reeksversie worden opgegeven. De reeksversie moet uniek zijn. Met het volgende script wordt een GUID gegenereerd voor de reeksversie.

  • Versleutel een actieve VM met behulp van een clientgeheim: met het volgende script worden uw variabelen geïnitialiseerd en wordt de cmdlet Set-AzVMDiskEncryptionExtension uitgevoerd. De resourcegroep, DE VM, de sleutelkluis, de Microsoft Entra-app en het clientgeheim moeten al zijn gemaakt als vereisten. Vervang MyVirtualMachineResourceGroup, MyKeyVaultResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID en My-AAD-client-secret door uw waarden. De parameter -VolumeType is ingesteld op gegevensschijven en niet op de besturingssysteemschijf. Als de virtuele machine eerder is versleuteld met een volumetype 'OS' of 'Alle', moet de parameter -VolumeType worden gewijzigd in Alles, zodat zowel het besturingssysteem als de nieuwe gegevensschijf worden opgenomen.

        $KVRGname = 'MyKeyVaultResourceGroup';
        $VMRGName = 'MyVirtualMachineResourceGroup';
        $vmName = 'MySecureVM';
        $aadClientID = 'My-AAD-client-ID';
        $aadClientSecret = 'My-AAD-client-secret';
        $KeyVaultName = 'MySecureVault';
        $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
        $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
        $KeyVaultResourceId = $KeyVault.ResourceId;
        $sequenceVersion = [Guid]::NewGuid();
    
        Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'data' –SequenceVersion $sequenceVersion;
    
  • Versleutel een actieve VIRTUELE machine met behulp van KEK om het clientgeheim te verpakken: Met Azure Disk Encryption kunt u een bestaande sleutel in uw sleutelkluis opgeven om versleutelingsgeheimen voor schijfversleuteling te verpakken die zijn gegenereerd tijdens het inschakelen van versleuteling. Wanneer een sleutelversleutelingssleutel is opgegeven, gebruikt Azure Disk Encryption die sleutel om de versleutelingsgeheimen te verpakken voordat ze naar de sleutelkluis worden geschreven. De parameter -VolumeType is ingesteld op gegevensschijven en niet op de besturingssysteemschijf. Als de virtuele machine eerder is versleuteld met een volumetype 'OS' of 'Alle', moet de parameter -VolumeType worden gewijzigd in Alles, zodat zowel het besturingssysteem als de nieuwe gegevensschijf worden opgenomen.

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

Notitie

De syntaxis voor de waarde van de parameter disk-encryption-keyvault is de volledige id-tekenreeks: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name].

De syntaxis voor de waarde van de parameter key-encryption-key is de volledige URI voor de KEK, zoals in: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id].

Versleuteling uitschakelen voor Linux-VM's

U kunt versleuteling uitschakelen met behulp van Azure PowerShell, de Azure CLI of een Resource Manager-sjabloon.

Belangrijk

Het uitschakelen van versleuteling met Azure Disk Encryption op Linux-VM's wordt alleen ondersteund voor gegevensvolumes. Het wordt niet ondersteund op gegevens- of besturingssysteemvolumes als het besturingssysteemvolume is versleuteld.

  • Schijfversleuteling uitschakelen met Azure PowerShell: als u versleuteling wilt uitschakelen, gebruikt u de cmdlet Disable-AzureRmVMDiskEncryption .

        Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM' [--volume-type {ALL, DATA, OS}]
    
  • Versleuteling uitschakelen met de Azure CLI: Als u versleuteling wilt uitschakelen, gebruikt u de opdracht az vm encryption disable .

        az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type [ALL, DATA, OS]
    
  • Versleuteling uitschakelen met een Resource Manager-sjabloon: als u versleuteling wilt uitschakelen, gebruikt u versleuteling uitschakelen voor een actieve Linux-VM-sjabloon .

    1. Selecteer Implementeren in Azure.
    2. Selecteer het abonnement, de resourcegroep, de locatie, de VM, de juridische voorwaarden en de overeenkomst.
    3. Selecteer Kopen om schijfversleuteling uit te schakelen op een actieve Windows-VM.

Volgende stappen