Ensure Virtual Machines are utilizing Managed Disks
Description
Migrate blob-based VHDs to Managed Disks on Virtual Machines to exploit the default features of this configuration. The features include:
- Default Disk Encryption
- Resilience, as Microsoft will manage the disk storage and move around if underlying hardware goes faulty
- Reduction of costs over storage accounts
Rationale
Managed disks are by default encrypted on the underlying hardware, so no additional encryption is required for basic protection. It is available if additional encryption is required. Managed disks are by design more resilient than storage accounts.
For ARM-deployed Virtual Machines, Azure Adviser will at some point recommend moving VHDs to managed disks both from a security and cost management perspective.
Impact
There are additional costs for managed disks based off of disk space allocated. When converting to managed disks, VMs will be powered off and back on.
Audit Procedure
Using Azure Portal
- Using the search feature, go to
Virtual Machines
- Click the
Manage view dropdown, then select Edit columns
- Add
Uses managed disks to the selected columns
- Select
Save
- Ensure all virtual machines listed are using managed disks
Using Azure PowerShell
Get-AzVM | ForEach-Object {"Name: " + $_.Name;"ManagedDisk Id: " + $_.StorageProfile.OsDisk.ManagedDisk.Id;""}
Example output:
Name: vm1
ManagedDisk Id: /disk1/id
Name: vm2
ManagedDisk Id: /disk2/id
If the 'ManagedDisk Id' field is empty the os disk for that vm is not managed.
Expected Result
All Virtual Machines should have a non-empty ManagedDisk Id value, indicating they are using managed disks.
Remediation
Using Azure Portal
- Using the search feature, go to
Virtual Machines
- Select the virtual machine you would like to convert
- Select
Disks in the menu for the VM
- At the top select
Migrate to managed disks
- You may follow the prompts to convert the disk and finish by selecting
Migrate to start the process
NOTE VMs will be stopped and restarted after migration is complete.
Using Azure PowerShell
Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
ConvertTo-AzVMManagedDisk -ResourceGroupName $rgName -VMName $vmName
Start-AzVM -ResourceGroupName $rgName -Name $vmName
Default Value
Managed disks or are an option upon the creation of VMs.
References
- https://docs.microsoft.com/en-us/azure/virtual-machines/windows/convert-unmanaged-to-managed-disks
- https://learn.microsoft.com/en-us/security/benchmark/azure/mcsb-data-protection#dp-4-enable-data-at-rest-encryption-by-default
- https://docs.microsoft.com/en-us/azure/virtual-machines/faq-for-disks
- https://azure.microsoft.com/en-us/pricing/details/managed-disks/
Profile
Level 1 | Automated