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 DenyTerraform
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
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