SQL Managed Instance should disable public data endpoint

High Azure General managedinstances-sql-managed-instance-disable

Applies to

  • Microsoft.Sql/managedInstances

What CGPulse checks

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

How to fix it

Disable the public data endpoint to prevent internet access to the managed instance. In Azure Portal: SQL Managed Instance > Networking > disable Public endpoint. See: https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/public-endpoint-overview

Careful: Disabling the public endpoint breaks all clients connecting via the public FQDN. Ensure all connections use the private endpoint

CLI

az sql mi update --ids "{id}" --public-data-endpoint-enabled false

Terraform

resource "azurerm_mssql_managed_instance" "{name}" {
  name                          = "{name}"
  resource_group_name           = "{rg}"
  location                      = var.location
  administrator_login           = "<admin-login>"
  administrator_login_password  = "<admin-password>"
  license_type                  = "BasePrice"
  sku_name                      = "GP_Gen5"
  storage_size_in_gb            = 32
  subnet_id                     = var.subnet_id
  vcores                        = 4
  public_data_endpoint_enabled  = false
}

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.

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.