An Apache Spark-based analytics platform optimized for Azure.
Hello Jerrel den Harder
The behavior you're seeing is expected with a Databricks-managed VNet, and the 403 AuthorizationFailure is consistent with the storage firewall blocking classic compute traffic.
1. Can you enable service endpoints on workers-vnet?
Not through a supported customer-managed configuration.
The Databricks-managed resource group is protected by system deny assignments. Even Owner permissions cannot bypass them.
I see confirmed behavior in a similar Q&A case involving the Databricks NAT Gateway and subnet deny assignments.
I would not recommend attempting to remove the deny assignment or modify the managed VNet directly.
2. What are the supported alternatives?
Option A - Migrate to VNet injection (recommended for classic compute)
Here is in-place migration from a managed VNet to a customer-managed VNet:
Update workspace network configuration
After migration, you can configure:
-
Microsoft.Storageservice endpoints and storage VNet rules. - Private endpoints for ADLS Gen2 (
dfsandblob), with the required private DNS configuration.
Network-update capability is in Public Preview, requires stopping running compute and jobs, and does not currently support Terraform for the migration.
Option B - Serverless compute with NCC
If your workload supports serverless jobs, you can configure private connectivity through a Network Connectivity Configuration (NCC), without changing the workspace VNet.
Configure private connectivity to Azure resources.
This requires the Databricks Premium plan and applies to serverless compute only, not your existing classic job clusters.
Option C - Private endpoint in workers-vnet
I would not recommend this approach because creating and configuring private endpoints and DNS inside the Databricks-managed VNet encounters the same management restrictions.
3. Does the access connector resource instance rule cover classic compute?
No, not automatically.
The access connector's resource instance rule allows eligible access associated with its managed identity. It does not automatically allow network traffic originating from classic compute workers.
When Unity Catalog provides temporary SAS credentials, those credentials authorize storage operations, but they do not bypass the storage firewall.
managed identity configuration documentation separates the workspace network-access requirement from the managed identity's access requirement.
Also, same-region Azure Storage traffic cannot be reliably allowed using NAT Gateway public IP rules.
For your existing DBR 17.3 LTS classic job workloads, I would choose VNet injection with storage service endpoints or Private Link if you need to retain classic compute.
If serverless is compatible, NCC with private endpoints is another supported option that avoids modifying the managed VNet.
You can additionally confirm the failing request's authentication method and source using Azure Storage resource logs (StorageBlobLogs), if diagnostic logging is enabled.
There is no documented self-service method to bypass the managed VNet's deny assignment safely.