Delen via


De Azure PowerShell-module gebruiken om end-to-end-versleuteling in te schakelen met behulp van versleuteling op de host

Van toepassing op: ✔️ Windows-VM's

Wanneer u versleuteling op de host inschakelt, worden gegevens die zijn opgeslagen op de VM-host in rust versleuteld en stromen versleuteld naar de Storage-service. Zie Versleuteling op host en andere versleutelingstypen voor beheerde schijven voor conceptuele informatie over versleuteling op de host: end-to-end-versleuteling voor uw VM-gegevens.

Beperkingen

  • Ondersteund voor 4k sectorgrootte Ultra Disks en Premium SSD v2.
  • Alleen ondersteund op 512e sectorgrootte Ultra Disks en Premium SSD v2 als ze na 5/13/2023 zijn gemaakt.
  • Kan niet worden ingeschakeld op virtuele machines (VM's) of virtuele-machineschaalsets waarvoor Momenteel of ooit Azure Disk Encryption is ingeschakeld.
  • Azure Disk Encryption kan niet worden ingeschakeld op schijven waarvoor versleuteling is ingeschakeld op de host.
  • De versleuteling kan worden ingeschakeld voor bestaande virtuele-machineschaalsets. Alleen nieuwe VIRTUELE machines die zijn gemaakt nadat de versleuteling is ingeschakeld, worden echter automatisch versleuteld.
  • Bestaande VM's moeten de toewijzing ongedaan worden gemaakt en opnieuw worden toegewezen om te kunnen worden versleuteld.

Ondersteunde VM-grootten

De volledige lijst met ondersteunde VM-grootten kan programmatisch worden opgehaald. Als u wilt weten hoe u ze programmatisch ophaalt, raadpleegt u de sectie Ondersteunde VM-grootten zoeken. Het upgraden van de VM-grootte resulteert in validatie om te controleren of de nieuwe VM-grootte de functie EncryptionAtHost ondersteunt.

Vereisten

U moet de functie voor uw abonnement inschakelen voordat u de eigenschap EncryptionAtHost voor uw VM/VMSS gebruikt. Gebruik de volgende stappen om de functie voor uw abonnement in te schakelen:

  1. Voer de volgende opdracht uit om de functie voor uw abonnement te registreren

     Register-AzProviderFeature -FeatureName "EncryptionAtHost" -ProviderNamespace "Microsoft.Compute" 
    
  2. Controleer of de registratiestatus is geregistreerd (duurt enkele minuten) met behulp van de volgende opdracht voordat u de functie probeert.

     Get-AzProviderFeature -FeatureName "EncryptionAtHost" -ProviderNamespace "Microsoft.Compute"  
    

Een Azure Key Vault en DiskEncryptionSet maken

Notitie

Deze sectie is alleen van toepassing op configuraties met door de klant beheerde sleutels. Als u door het platform beheerde sleutels gebruikt, kunt u doorgaan naar de sectie Voorbeeldscripts .

Zodra de functie is ingeschakeld, moet u een Azure Key Vault en een DiskEncryptionSet instellen als u dat nog niet hebt gedaan.

  1. Zorg ervoor dat u de nieuwste Versie van Azure PowerShell hebt geïnstalleerd en u bent aangemeld bij een Azure-account met Connect-AzAccount

  2. Maak een exemplaar van Azure Key Vault en versleutelingssleutel.

    Wanneer u het Key Vault-exemplaar maakt, moet u beveiliging tegen opschonen inschakelen. Beveiliging tegen opschonen zorgt ervoor dat een verwijderde sleutel pas definitief kan worden verwijderd als de bewaarperiode is verstreken. Met deze instellingen kunt u geen gegevens kwijtraken vanwege onbedoelde verwijdering. Deze instellingen zijn verplicht wanneer u een sleutelkluis gebruikt voor het versleutelen van beheerde schijven.

    $ResourceGroupName="yourResourceGroupName"
    $LocationName="westcentralus"
    $keyVaultName="yourKeyVaultName"
    $keyName="yourKeyName"
    $keyDestination="Software"
    $diskEncryptionSetName="yourDiskEncryptionSetName"
    
    $keyVault = New-AzKeyVault -Name $keyVaultName `
    -ResourceGroupName $ResourceGroupName `
    -Location $LocationName `
    -EnablePurgeProtection
    
    $key = Add-AzKeyVaultKey -VaultName $keyVaultName `
          -Name $keyName `
          -Destination $keyDestination 
    
  3. Maak een exemplaar van een DiskEncryptionSet. U kunt RotationToLatestKeyVersionEnabled instellen op $true om automatische rotatie van de sleutel in te schakelen. Wanneer u automatische rotatie inschakelt, worden alle beheerde schijven, momentopnamen en installatiekopieën die naar de schijfversleuteling verwijzen, automatisch bijgewerkt om binnen één uur de nieuwe versie van de sleutel te gebruiken.

    $desConfig=New-AzDiskEncryptionSetConfig -Location $LocationName `
        -SourceVaultId $keyVault.ResourceId `
        -KeyUrl $key.Key.Kid `
        -IdentityType SystemAssigned `
        -RotationToLatestKeyVersionEnabled $false
    
    $des=New-AzDiskEncryptionSet -Name $diskEncryptionSetName `
           -ResourceGroupName $ResourceGroupName `
           -InputObject $desConfig
    
  4. Verdeel de DiskEncryptionSet-resource toegang tot de sleutelkluis.

    Notitie

    Het kan enkele minuten duren voordat Azure de identiteit van uw DiskEncryptionSet in uw Microsoft Entra-id heeft gemaakt. Als er een foutbericht wordt weergegeven als 'Kan het Active Directory-object niet vinden' wanneer u de volgende opdracht uitvoert, wacht u enkele minuten en probeert u het opnieuw.

    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get
    

Een sleutelkluis gebruiken in een ander abonnement

U kunt uw Azure Key Vaults ook centraal beheren vanuit één abonnement en de sleutels gebruiken die zijn opgeslagen in Key Vault om beheerde schijven en momentopnamen in andere abonnementen in uw organisatie te versleutelen. Hierdoor kan uw beveiligingsteam een robuust beveiligingsbeleid afdwingen en eenvoudig beheren voor één abonnement.

Belangrijk

Voor deze configuratie moeten zowel uw Sleutelkluis als uw schijfversleutelingsset zich in dezelfde regio bevinden en dezelfde tenant gebruiken.

Het volgende script is een voorbeeld van hoe u een schijfversleutelingsset configureert voor het gebruik van een sleutel uit een Sleutelkluis in een ander abonnement, maar dezelfde regio:

$sourceSubscriptionId="<sourceSubID>"
$sourceKeyVaultName="<sourceKVName>"
$sourceKeyName="<sourceKeyName>"

$targetSubscriptionId="<targetSubID>"
$targetResourceGroupName="<targetRGName>"
$targetDiskEncryptionSetName="<targetDiskEncSetName>"
$location="<targetRegion>"

Set-AzContext -Subscription $sourceSubscriptionId

$key = Get-AzKeyVaultKey -VaultName $sourceKeyVaultName -Name $sourceKeyName

Set-AzContext -Subscription $targetSubscriptionId

$desConfig=New-AzDiskEncryptionSetConfig -Location $location `
-KeyUrl $key.Key.Kid `
-IdentityType SystemAssigned `
-RotationToLatestKeyVersionEnabled $false

$des=New-AzDiskEncryptionSet -Name $targetDiskEncryptionSetName `
-ResourceGroupName $targetResourceGroupName `
-InputObject $desConfig

Versleuteling op host inschakelen voor schijven die zijn gekoppeld aan VM en virtuele-machineschaalsets

U kunt versleuteling op de host inschakelen door een nieuwe eigenschap EncryptionAtHost in te stellen onder securityProfile van VM's of virtuele-machineschaalsets met behulp van de API-versie 2020-06-01 en hoger.

"securityProfile": { "encryptionAtHost": "true" }

Voorbeeldscripts

Maak een VIRTUELE machine met versleuteling op de host die is ingeschakeld met door de klant beheerde sleutels.

Maak een VIRTUELE machine met beheerde schijven met behulp van de resource-URI van de DiskEncryptionSet die u eerder hebt gemaakt om de cache van besturingssysteem- en gegevensschijven te versleutelen met door de klant beheerde sleutels. De tijdelijke schijven worden versleuteld met door het platform beheerde sleutels.

$VMLocalAdminUser = "yourVMLocalAdminUserName"
$VMLocalAdminSecurePassword = ConvertTo-SecureString <password> -AsPlainText -Force
$LocationName = "yourRegion"
$ResourceGroupName = "yourResourceGroupName"
$ComputerName = "yourComputerName"
$VMName = "yourVMName"
$VMSize = "yourVMSize"
$diskEncryptionSetName="yourdiskEncryptionSetName"
    
$NetworkName = "yourNetworkName"
$NICName = "yourNICName"
$SubnetName = "yourSubnetName"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"
    
$SingleSubnet = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$NIC = New-AzNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id
    
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

# Enable encryption at host by specifying EncryptionAtHost parameter

$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize -EncryptionAtHost
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2012-R2-Datacenter' -Version latest

$diskEncryptionSet=Get-AzDiskEncryptionSet -ResourceGroupName $ResourceGroupName -Name $diskEncryptionSetName

# Enable encryption with a customer managed key for OS disk by setting DiskEncryptionSetId property 

$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $($VMName +"_OSDisk") -DiskEncryptionSetId $diskEncryptionSet.Id -CreateOption FromImage

# Add a data disk encrypted with a customer managed key by setting DiskEncryptionSetId property 

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name $($VMName +"DataDisk1") -DiskSizeInGB 128 -StorageAccountType Premium_LRS -CreateOption Empty -Lun 0 -DiskEncryptionSetId $diskEncryptionSet.Id 
    
New-AzVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose

Maak een VIRTUELE machine met versleuteling op de host die is ingeschakeld met door het platform beheerde sleutels.

Maak een VIRTUELE machine met versleuteling op de host die is ingeschakeld voor het versleutelen van de cache van besturingssysteem-/gegevensschijven en tijdelijke schijven met door platform beheerde sleutels.

$VMLocalAdminUser = "yourVMLocalAdminUserName"
$VMLocalAdminSecurePassword = ConvertTo-SecureString <password> -AsPlainText -Force
$LocationName = "yourRegion"
$ResourceGroupName = "yourResourceGroupName"
$ComputerName = "yourComputerName"
$VMName = "yourVMName"
$VMSize = "yourVMSize"
    
$NetworkName = "yourNetworkName"
$NICName = "yourNICName"
$SubnetName = "yourSubnetName"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"
    
$SingleSubnet = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$NIC = New-AzNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id
    
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

# Enable encryption at host by specifying EncryptionAtHost parameter

$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize -EncryptionAtHost

$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2012-R2-Datacenter' -Version latest

$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $($VMName +"_OSDisk") -CreateOption FromImage

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name $($VMName +"DataDisk1") -DiskSizeInGB 128 -StorageAccountType Premium_LRS -CreateOption Empty -Lun 0
    
New-AzVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine

Werk een VM bij om versleuteling op de host in te schakelen.

$ResourceGroupName = "yourResourceGroupName"
$VMName = "yourVMName"

$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName

Stop-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -Force

Update-AzVM -VM $VM -ResourceGroupName $ResourceGroupName -EncryptionAtHost $true

Controleer de status van versleuteling op de host voor een VM

$ResourceGroupName = "yourResourceGroupName"
$VMName = "yourVMName"

$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName

$VM.SecurityProfile.EncryptionAtHost

Versleuteling op host uitschakelen

U moet de toewijzing van uw VIRTUELE machine ongedaan maken voordat u versleuteling op de host kunt uitschakelen.

$ResourceGroupName = "yourResourceGroupName"
$VMName = "yourVMName"

$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName

Stop-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -Force

Update-AzVM -VM $VM -ResourceGroupName $ResourceGroupName -EncryptionAtHost $false

Maak een virtuele-machineschaalset met versleuteling op de host ingeschakeld met door de klant beheerde sleutels.

Belangrijk

Vanaf november 2023 worden VM-schaalsets die zijn gemaakt met PowerShell en Azure CLI standaard ingesteld op de flexibele indelingsmodus als er geen indelingsmodus is opgegeven. Voor meer informatie over deze wijziging en welke acties u moet ondernemen, gaat u naar Belangrijke wijziging voor VMSS PowerShell/CLI-klanten - Microsoft Community Hub

Maak een virtuele-machineschaalset met beheerde schijven met behulp van de resource-URI van de DiskEncryptionSet die u eerder hebt gemaakt om de cache van besturingssysteem- en gegevensschijven te versleutelen met door de klant beheerde sleutels. De tijdelijke schijven worden versleuteld met door het platform beheerde sleutels.

$VMLocalAdminUser = "yourLocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString Password@123 -AsPlainText -Force
$LocationName = "westcentralus"
$ResourceGroupName = "yourResourceGroupName"
$ComputerNamePrefix = "yourComputerNamePrefix"
$VMScaleSetName = "yourVMSSName"
$VMSize = "Standard_DS3_v2"
$diskEncryptionSetName="yourDiskEncryptionSetName"
    
$NetworkName = "yourVNETName"
$SubnetName = "yourSubnetName"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"
    
$SingleSubnet = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix

$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet

$ipConfig = New-AzVmssIpConfig -Name "myIPConfig" -SubnetId $Vnet.Subnets[0].Id 

# Enable encryption at host by specifying EncryptionAtHost parameter

$VMSS = New-AzVmssConfig -Location $LocationName -SkuCapacity 2 -SkuName $VMSize -OrchestrationMode "Flexible" -EncryptionAtHost 

$VMSS = Add-AzVmssNetworkInterfaceConfiguration -Name "myVMSSNetworkConfig" -VirtualMachineScaleSet $VMSS -Primary $true -IpConfiguration $ipConfig

$diskEncryptionSet=Get-AzDiskEncryptionSet -ResourceGroupName $ResourceGroupName -Name $diskEncryptionSetName

# Enable encryption with a customer managed key for the OS disk by setting DiskEncryptionSetId property 

$VMSS = Set-AzVmssStorageProfile $VMSS -OsDiskCreateOption "FromImage" -DiskEncryptionSetId $diskEncryptionSet.Id -ImageReferenceOffer 'WindowsServer' -ImageReferenceSku '2012-R2-Datacenter' -ImageReferenceVersion latest -ImageReferencePublisher 'MicrosoftWindowsServer'

$VMSS = Set-AzVmssOsProfile $VMSS -ComputerNamePrefix $ComputerNamePrefix -AdminUsername $VMLocalAdminUser -AdminPassword $VMLocalAdminSecurePassword

# Add a data disk encrypted with a customer managed key by setting DiskEncryptionSetId property 

$VMSS = Add-AzVmssDataDisk -VirtualMachineScaleSet $VMSS -CreateOption Empty -Lun 1 -DiskSizeGB 128 -StorageAccountType Premium_LRS -DiskEncryptionSetId $diskEncryptionSet.Id

Maak een virtuele-machineschaalset met versleuteling op de host die is ingeschakeld met door het platform beheerde sleutels.

Belangrijk

Vanaf november 2023 worden VM-schaalsets die zijn gemaakt met PowerShell en Azure CLI standaard ingesteld op de flexibele indelingsmodus als er geen indelingsmodus is opgegeven. Voor meer informatie over deze wijziging en welke acties u moet ondernemen, gaat u naar Belangrijke wijziging voor VMSS PowerShell/CLI-klanten - Microsoft Community Hub

Maak een virtuele-machineschaalset met versleuteling op de host die is ingeschakeld voor het versleutelen van de cache van besturingssysteem-/gegevensschijven en tijdelijke schijven met door platform beheerde sleutels.

$VMLocalAdminUser = "yourLocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString Password@123 -AsPlainText -Force
$LocationName = "westcentralus"
$ResourceGroupName = "yourResourceGroupName"
$ComputerNamePrefix = "yourComputerNamePrefix"
$VMScaleSetName = "yourVMSSName"
$VMSize = "Standard_DS3_v2"
    
$NetworkName = "yourVNETName"
$SubnetName = "yourSubnetName"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"
    
$SingleSubnet = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix

$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet

$ipConfig = New-AzVmssIpConfig -Name "myIPConfig" -SubnetId $Vnet.Subnets[0].Id 

# Enable encryption at host by specifying EncryptionAtHost parameter

$VMSS = New-AzVmssConfig -Location $LocationName -SkuCapacity 2 -SkuName $VMSize -OrchestrationMode "Flexible" -EncryptionAtHost

$VMSS = Add-AzVmssNetworkInterfaceConfiguration -Name "myVMSSNetworkConfig" -VirtualMachineScaleSet $VMSS -Primary $true -IpConfiguration $ipConfig
 
$VMSS = Set-AzVmssStorageProfile $VMSS -OsDiskCreateOption "FromImage" -ImageReferenceOffer 'WindowsServer' -ImageReferenceSku '2012-R2-Datacenter' -ImageReferenceVersion latest -ImageReferencePublisher 'MicrosoftWindowsServer'

$VMSS = Set-AzVmssOsProfile $VMSS -ComputerNamePrefix $ComputerNamePrefix -AdminUsername $VMLocalAdminUser -AdminPassword $VMLocalAdminSecurePassword

$VMSS = Add-AzVmssDataDisk -VirtualMachineScaleSet $VMSS -CreateOption Empty -Lun 1 -DiskSizeGB 128 -StorageAccountType Premium_LRS 

$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

New-AzVmss -VirtualMachineScaleSet $VMSS -ResourceGroupName $ResourceGroupName -VMScaleSetName $VMScaleSetName

Werk een virtuele-machineschaalset bij om versleuteling op de host in te schakelen.

$ResourceGroupName = "yourResourceGroupName"
$VMScaleSetName = "yourVMSSName"

$VMSS = Get-AzVmss -ResourceGroupName $ResourceGroupName -Name $VMScaleSetName

Update-AzVmss -VirtualMachineScaleSet $VMSS -Name $VMScaleSetName -ResourceGroupName $ResourceGroupName -EncryptionAtHost $true

Controleer de status van versleuteling op de host voor een virtuele-machineschaalset

$ResourceGroupName = "yourResourceGroupName"
$VMScaleSetName = "yourVMSSName"

$VMSS = Get-AzVmss -ResourceGroupName $ResourceGroupName -Name $VMScaleSetName

$VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost

Werk een virtuele-machineschaalset bij om versleuteling op de host uit te schakelen.

U kunt versleuteling uitschakelen op de host in uw virtuele-machineschaalset, maar dit heeft alleen invloed op vm's die zijn gemaakt nadat u versleuteling op de host hebt uitgeschakeld. Voor bestaande VM's moet u de toewijzing van de VIRTUELE machine ongedaan maken, versleuteling uitschakelen op de host op die afzonderlijke VM en vervolgens de VIRTUELE machine opnieuw implementeren.

$ResourceGroupName = "yourResourceGroupName"
$VMScaleSetName = "yourVMSSName"

$VMSS = Get-AzVmss -ResourceGroupName $ResourceGroupName -Name $VMScaleSetName

Update-AzVmss -VirtualMachineScaleSet $VMSS -Name $VMScaleSetName -ResourceGroupName $ResourceGroupName -EncryptionAtHost $false

Ondersteunde VM-grootten zoeken

Verouderde VM-grootten worden niet ondersteund. U vindt de lijst met ondersteunde VM-grootten door:

De Resource Skus-API aanroepen en controleren of de EncryptionAtHostSupported mogelijkheid is ingesteld op True.

    {
        "resourceType": "virtualMachines",
        "name": "Standard_DS1_v2",
        "tier": "Standard",
        "size": "DS1_v2",
        "family": "standardDSv2Family",
        "locations": [
        "CentralUSEUAP"
        ],
        "capabilities": [
        {
            "name": "EncryptionAtHostSupported",
            "value": "True"
        }
        ]
    }

U kunt ook de PowerShell-cmdlet Get-AzComputeResourceSku aanroepen.

$vmSizes=Get-AzComputeResourceSku | where{$_.ResourceType -eq 'virtualMachines' -and $_.Locations.Contains('CentralUSEUAP')} 

foreach($vmSize in $vmSizes)
{
    foreach($capability in $vmSize.capabilities)
    {
        if($capability.Name -eq 'EncryptionAtHostSupported' -and $capability.Value -eq 'true')
        {
            $vmSize

        }

    }
}

Volgende stappen

Nu u deze resources hebt gemaakt en geconfigureerd, kunt u deze gebruiken om uw beheerde schijven te beveiligen. De volgende koppeling bevat voorbeeldscripts, elk met een respectieve scenario, die u kunt gebruiken om uw beheerde schijven te beveiligen.

Voorbeelden van Azure Resource Manager-sjablonen