Permissions error when accessing Unity Catalog tables

Use a shared cluster or warehouse, use serverless, or upgrade to Databricks Runtime 15.4 LTS or above.

Written by jose.navarro

Last published at: January 31st, 2025

Problem

When attempting to access Unity Catalog tables using a single-user cluster on a Databricks Runtime version below 15.4 LTS, you encounter a permission error.

 

: java.util.concurrent.ExecutionException: com.databricks.sql.managedcatalog.acl.UnauthorizedAccessException: PERMISSION_DENIED: User is missing required privileges to access this table from an Assigned cluster. Please try with a SHARED cluster instead.

 

Cause

You’re attempting to access the table without the required privileges, and the single-user cluster does not support the necessary access control. Fine-grained access control (FGAC) is not available for Unity Catalog on single-user clusters using Databricks Runtime versions below 15.4 LTS.

 

Solution

There are three options available to resolve the issue.

  1. Use a shared cluster or warehouse instead of a single-user cluster.
  2. Use a serverless compute option.
  3. Keep the single-user cluster, but upgrade your Databricks Runtime version to 15.4 LTS or above.

 

To change the Databricks Runtime version:

  1. Go to your Databricks workspace and navigate to Compute.
  2. Select the cluster to update.
  3. In the Databricks Runtime Version section, select a version that is 15.4 or above.
  4. Click Update to apply the changes.

 

Preventive measures

  • Ensure you’re using a compatible Databricks Runtime version when working with Unity Catalog in single-user access mode. 
  • Verify you have the necessary privileges to access tables you need.