MLflow Unity Catalog Trace Location Fails with Zerobus PERMISSION_DENIED for Private Endpoint-backed UC Storage

Fred Catameo 46 Reputation points
2026-09-08T23:05:04.1966667+00:00

When attempting to create an MLflow3 experiment configured to store traces directly in Unity Catalog, Databricks MLflow Trace Storage validation through Zerobus continues to fail with a PERMISSION_DENIED error. The Unity Catalog storage account is secured via Azure Private Endpoints, and NCC connectivity for Databricks Serverless SQL Warehouses has already been configured and validated.

MLflow3 code to replicate:

https://learn.microsoft.com/en-us/azure/databricks/mlflow3/genai/tracing/migrate-traces-to-uc

May we confirm if this is a known limitation? MLflow/Zerobus trace ingestion does not currently support Unity Catalog tables whose underlying storage is accessible only through Azure Private Endpoints.

Azure Databricks
Azure Databricks

An Apache Spark-based analytics platform optimized for Azure.


1 answer

Sort by: Most helpful
  1. Vinodh247-1375 44,476 Reputation points Volunteer Moderator
    2026-09-09T06:58:47.6133333+00:00

    Yes. Based on the current Databricks documentation, this appears to be a known limitation of MLflow 3 trace storage in Unity Catalog, rather than an issue with Unity Catalog permissions, SQL Warehouse access, or Network Connectivity Configuration (NCC).

    The documentation for storing OpenTelemetry traces in Unity Catalog explicitly states:

    "Traces cannot yet be written to storage protected by Private Link." [docs.databricks.com]

    Given your scenario, where the UC managed storage is accessible only through Azure Private Endpoints, the PERMISSION_DENIED error returned during MLflow/Zerobus trace-location validation is consistent with this documented limitation. The fact that:

    • NCC connectivity has been configured and validated,
    • Serverless SQL Warehouses can access the storage,
    • Unity Catalog itself is functioning correctly,

    does not necessarily mean the MLflow trace ingestion path supports Private Link-protected storage. MLflow trace ingestion uses a separate service path with its own connectivity requirements. [docs.databricks.com], [learn.microsoft.com]

    Therefore, the answer to your question is yes: MLflow 3 Unity Catalog trace ingestion currently does not support trace storage locations backed exclusively by Azure Private Link / Private Endpoint protected storage. The doc alternatives today are to:

    • use a UC trace storage location that is not protected by Private Link, or
    • continue storing traces in the MLflow experiment until Private Link support becomes available. [docs.databricks.com]

    Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.