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=true

Terraform

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

Vendor documentation

Is your environment compliant with this rule?

CGPulse checks it — and 621 others — against your Azure and AWS accounts with read-only access.

Run a free scan

Related Azure rules

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.