Search code examples
terraformdatabricksazure-storageazure-databricksterraform-provider-azure

Is it possible to disable Databricks Managed Storage Account public access?


We have a problem with public access on the managed storage account from Databricks in Azure.

Databricks has a default managed resource group, with a managed storage account that Databricks uses for the standard hive metastore (we do not use this metastore, since we are using unity catalog).

This storage account has public access enabled, but our Azure policies do not allow public access on storage accounts.

We are deploying using Terraform and as far as we can see there are no options to close the public access for this storage account.

As a sidenote: we have Databricks deployed with VNET injection.

One hacky solution is to always run an az cli command after our Databricks deployment to close the access, but we would rather not do this (edit: this is also not possibly due to deny assignment on the st).

Does anyone know if this access can be configured?

enter image description here


Solution

  • May 2024: it's now possible to make this storage account private: https://learn.microsoft.com/en-us/azure/databricks/security/network/storage/firewall-support

    No, it's not possible to do this right now, and really you can't make this change because of how managed resource group is configured. And the public access is required for Databricks to work as many things, such as, logs, models, etc. are stored on DBFS Root (managed storage account) and needs to be accessed by the Azure Databricks control plane.

    But if it comes to the data security, here are the relevant information. The storage account has the deny policy that prevents from making changes & accessing the data for anyone except the Databricks application. So even it has public access, you can't generate SAS, use storage account key, etc.