Storage account must deny public network access by default

High Azure General storage-no-public-access

Applies to

  • Microsoft.Storage/storageAccounts

What CGPulse checks

A resource passes this rule when networkRuleSet.defaultAction must equal Deny. Anything else is reported as a finding with the evaluated property value attached as evidence.

How to fix it

Restrict network access by setting default action to Deny and adding allowed networks. In Azure Portal: Storage account > Networking > set Default action to Deny. See: https://learn.microsoft.com/en-us/azure/storage/common/storage-network-security

Careful: Blocks all connections not from allowed IPs/VNets. Add networkAcls.virtualNetworkRules and ipRules before deploying

CLI

az storage account update --ids "{id}" --default-action Deny

Terraform

resource "azurerm_storage_account" "{name}" {
  name                      = "{name}"
  resource_group_name       = "{rg}"
  location                  = var.location
  account_tier              = "Standard"
  account_replication_type  = "LRS"
  network_rules {
    default_action = "Deny"
  }
}

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.