Snapshot should disable public network access
High
Azure
General
snapshot-no-public-access
Applies to
Microsoft.Compute/snapshots
What CGPulse checks
A resource passes this rule when publicNetworkAccess must equal Disabled. Anything else is reported as a finding with the evaluated property value attached as evidence.
How to fix it
Disable public network access to prevent unauthorized internet exposure. In Azure Portal: Snapshot > Networking > set Network access policy to DenyAll. See: https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-private-links-for-import-export-portal
Careful: Disabling public access blocks all non-private-endpoint traffic for snapshot export. Ensure private endpoints are configured first
CLI
az snapshot update --ids "{id}" --public-network-access DisabledTerraform
resource "azurerm_snapshot" "{name}" {
name = "{name}"
resource_group_name = "{rg}"
location = var.location
create_option = "Copy"
source_uri = "<source-disk-id>"
network_access_policy = "DenyAll"
public_network_access = "Disabled"
}
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