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 falseTerraform
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.
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