SQL Server should disable public network access

High Azure General sql-no-public-access

Applies to

  • Microsoft.Sql/servers

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: SQL Server > Networking > set Public network access to Disabled. See: https://learn.microsoft.com/en-us/azure/azure-sql/database/connectivity-settings#deny-public-network-access

Careful: Disabling public access blocks all connections not using private endpoints. Ensure PE is configured first

CLI

az sql server update --ids "{id}" --set publicNetworkAccess=Disabled

Terraform

resource "azurerm_mssql_server" "{name}" {
  name                          = "{name}"
  resource_group_name           = "{rg}"
  location                      = var.location
  version                       = "12.0"
  public_network_access_enabled = false
  # Ensure private endpoints are configured before disabling public access
}

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.