Ensure 'Allow Public Network Access' is set to 'Disabled'
Description
Disable public network access to prevent exposure to the internet and reduce the risk of unauthorized access. Use private endpoints to securely manage access within trusted networks.
Rationale
Disabling public network access improves security by ensuring that Azure Databricks workspaces are not exposed on the public internet.
Impact
NOTE: Prior to disabling public network access, it is strongly recommended that, for each workspace, either:
- Virtual network integration is completed as described in "Ensure that Azure Databricks is deployed in a customer-managed virtual network (VNet)"
OR
- Private endpoints/links are set up as described in "Ensure private endpoints are used to access Azure Databricks workspaces."
Disabling public network access restricts access to the service. This enhances security but will require the configuration of a virtual network and/or private endpoints for any services or users needing access within trusted networks.
Before public network access can be disabled, Azure Databricks workspaces must be deployed in a customer-managed virtual network (VNet injection) -- refer to the recommendation Ensure that Azure Databricks is deployed in a customer-managed virtual network (VNet), and requiredNsgRules must be set to a value other than AllRules.
Audit Procedure
Audit from Azure Portal
- Go to
Azure Databricks. - Click the name of a workspace.
- Under
SettingsclickNetworking. - Under
Network access, ensureAllow Public Network Accessis set toDisabled. - Repeat steps 1-4 for each workspace.
Audit from Azure CLI
Run the following command to list workspaces:
az databricks workspace list
For each workspace, run the following command to get the publicNetworkAccess setting:
az databricks workspace show --resource-group <resource-group> --name <workspace> --query publicNetworkAccess
Ensure that "Disabled" is returned.
Audit from PowerShell
Run the following command to list workspaces:
Get-AzDatabricksWorkspace
Run the following command to get the workspace in a resource group with a given name:
$workspace = Get-AzDatabricksWorkspace -ResourceGroupName <resource-group> -Name <workspace>
Run the following command to get the PublicNetworkAccess setting:
$workspace.PublicNetworkAccess
Ensure that Disabled is returned. Repeat for each workspace.
Audit from Azure Policy
- Policy ID:
0e7849de-b939-4c50-ab48-fc6b0f5eeba2- Name: 'Azure Databricks Workspaces should disable public network access'
Expected Result
The publicNetworkAccess setting should return Disabled for all Databricks workspaces. Access should only be possible through private endpoints or VNet-integrated paths.
Remediation
Remediate from Azure Portal
- Go to
Azure Databricks. - Click the name of a workspace.
- Under
SettingsclickNetworking. - Under
Network access, next toAllow Public Network Access, click the radio button next toDisabled. - Click
Save. - Repeat steps 1-5 for each workspace requiring remediation.
Remediate from Azure CLI
For each workspace requiring remediation, run the following command to set publicNetworkAccess to Disabled:
az databricks workspace update --resource-group <resource-group> --name <workspace> --public-network-access Disabled
Remediate from PowerShell
For each workspace requiring remediation, run the following command to set PublicNetworkAccess to Disabled:
Update-AzDatabricksWorkspace -ResourceGroupName <resource-group> -Name <workspace> -PublicNetworkAccess Disabled
Default Value
Allow Public Network Access is set to Enabled by default.
References
- https://learn.microsoft.com/en-us/cli/azure/databricks/workspace
- https://learn.microsoft.com/en-us/powershell/module/az.databricks
Additional Information
This recommendation is based on the Common Reference Recommendation Ensure public network access is Disabled, from the Common Reference Recommendations > Networking > Virtual Networks (VNets) section.
CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
|---|---|---|---|---|
| v8 | 3.3 Configure Data Access Control Lists | x | x | x |
| v7 | 14.6 Protect Information through Access Control Lists | x | x | x |
MITRE ATT&CK Mappings
| Techniques / Sub-techniques | Tactics | Mitigations |
|---|---|---|
| T1530 | TA0009 | M1037 |
Profile
Level 1 | Automated