Virtual Machine should enable encryption at host
High
Azure
General
vm-encryption
Applies to
Microsoft.Compute/virtualMachines
What CGPulse checks
A resource passes this rule when encryptionAtHost must equal true. Anything else is reported as a finding with the evaluated property value attached as evidence.
How to fix it
Enable encryption at host to encrypt temp disks and disk caches at rest. In Azure Portal: VM > Disks > Additional settings > enable Encryption at host. See: https://learn.microsoft.com/en-us/azure/virtual-machines/disk-encryption#encryption-at-host
Careful: Requires 'EncryptionAtHost' feature to be registered on the subscription first
CLI
az vm update --ids "{id}" --set securityProfile.encryptionAtHost=trueTerraform
resource "azurerm_linux_virtual_machine" "{name}" {
name = "{name}"
resource_group_name = "{rg}"
location = var.location
size = "Standard_D2s_v5"
network_interface_ids = [azurerm_network_interface.{name}.id]
admin_username = "azureuser"
encryption_at_host_enabled = true
os_disk {
caching = "ReadWrite"
storage_account_type = "Standard_LRS"
}
# Requires EncryptionAtHost feature registered on the subscription
}
Compliance frameworks
Is your environment compliant with this rule?
CGPulse checks it — and 621 others — against your Azure and AWS accounts with read-only access.
Related Azure rules
- Action Group should be enabled
- Activity Log Alert should be enabled
- AKS cluster logs should be sent to Log Analytics
- AKS cluster must enable RBAC
- AKS cluster must enable RBAC
- AKS cluster should be a private cluster
- AKS cluster should disable local accounts
- AKS cluster should enable Azure RBAC for Kubernetes