Access control lists

This page describes details about the permissions available for the different workspace objects.

Access control lists overview

In Azure Databricks, you can use access control lists (ACLs) to configure permission to access workspace level objects. Workspace admins have the CAN MANAGE permission on all objects in their workspace, which gives them the ability to manage permissions on all objects in their workspaces. Users automatically have the CAN MANAGE permission for objects that they create.

For an example of how to map typical personas to workspace-level permissions, see the Proposal for Getting Started With Databricks Groups and Permissions.

Manage access control lists with folders

You can manage workspace object permissions by adding objects to folders. Objects in a folder inherit all permissions settings of that folder. For example, a user that has the CAN RUN permission on a folder has CAN RUN permission on the alerts in that folder.

If you grant a user access to an object inside the folder, they can view the parent folder's name, even if they do not have permissions on the parent folder. For example, a notebook named test1.py is in a folder named Workflows. If you grant a user CAN VIEW on test1.py and no permissions on Workflows, the user can see that the parent folder is named Workflows. The user cannot view or access any other objects in the Workflows folder unless they have been granted permissions on them.

To learn about organizing objects into folders, see Workspace browser.

Note

In an upcoming release, account group membership also affects workspace object permissions. Members inherit permissions on workspace objects, such as jobs, notebooks, and folders, from all account groups of which they are a member, regardless of whether those groups are assigned to the workspace. Use the Orphaned permissions analysis notebook to review permission grants in your workspaces. See Workspace object permissions will soon be inherited from all account groups.

Alerts ACLs

Ability NO PERMISSIONS CAN RUN CAN MANAGE
See in alert list โœ“ โœ“
View alert and result โœ“ โœ“
Manually trigger alert run โœ“ โœ“
Subscribe to notifications โœ“ โœ“
Edit alert โœ“
Modify permissions โœ“
Delete alert โœ“

Compute ACLs

Important

On compute resources that use the legacy access mode No isolation shared, users with CAN ATTACH TO permissions can view the service account keys in the log4j file. Use caution when granting this permission. For more detail on this mode and how to restrict it, see What are no isolation shared clusters?.

Ability NO PERMISSIONS CAN ATTACH TO CAN RESTART CAN MANAGE
Attach notebook to compute โœ“ โœ“ โœ“
View Spark UI โœ“ โœ“ โœ“
View compute metrics โœ“ โœ“ โœ“
Terminate compute โœ“ โœ“
Start and restart compute โœ“ โœ“
View driver logs โœ“ (see note)
Edit compute โœ“
Attach library to compute โœ“
Resize compute โœ“
Modify permissions โœ“

Note

Secrets are not redacted from the classic compute resource's Spark driver's stdout and stderr streams. To protect sensitive data, by default, Spark driver logs are viewable only by users with CAN MANAGE permission on job compute and all-purpose compute on dedicated or standard access mode. The same default applies to compute resources created from a pool. To allow users with CAN ATTACH TO or CAN RESTART permission to view the logs, set the following property in the compute's Spark config field: spark.databricks.acl.needAdminPermissionToViewLogs false.

On legacy compute with No isolation shared access mode, the Spark driver logs can be viewed by users with CAN ATTACH TO, CAN RESTART, or CAN MANAGE permission. To limit who can read the logs to only users with the CAN MANAGE permission, set spark.databricks.acl.needAdminPermissionToViewLogs to true.

Because spark.databricks.acl.needAdminPermissionToViewLogs is a compute-level Spark property, you must set it on each compute that needs it. For ephemeral job runs submitted via jobs/runs/submit, such as those triggered by an external orchestrator, set the property in new_cluster.spark_conf at submission time, along with any access_control_list entries.

Dashboard ACLs

Ability NO PERMISSIONS CAN VIEW/CAN READ* CAN RUN CAN EDIT CAN MANAGE
View dashboard, results, and datasets โœ“ โœ“ โœ“ โœ“
Interact with widgets โœ“ โœ“ โœ“ โœ“
Refresh the dashboard โœ“ โœ“ โœ“ โœ“
Edit dashboard โœ“ โœ“
Clone dashboard โœ“ โœ“ โœ“ โœ“
Publish dashboard snapshot โœ“ โœ“
Modify permissions โœ“
Delete dashboard โœ“

* The workspace UI refers to view-only access as CAN VIEW, while the Permissions API uses CAN READ to represent the same level of access.

Database instance ACLs

Ability NO PERMISSIONS CAN CREATE CAN USE CAN MANAGE
Get database instance โœ“ โœ“ โœ“
List database instances โœ“ โœ“ โœ“
Create database instance โœ“ โœ“ โœ“
Create synced table โœ“ โœ“
Create Unity Catalog database catalog โœ“
Modify Postgres roles โœ“
Delete database instance โœ“
Modify permissions โœ“
Pause database instance โœ“
Resume database instance โœ“

Note

  • All workspace users automatically inherit CAN CREATE permission. This permission cannot be assigned or removed.
  • When performing operations that interact with Unity Catalog you need to have permissions on the Unity Catalog object:
    • Create Unity Catalog database catalog: Requires the CREATE CATALOG privilege on the Unity Catalog metastore.
    • Create synced table: Requires Unity Catalog permissions to read the source table, write to the destination schema, and write to the pipeline storage schema.

Lakebase project ACLs

These ACL tables show permissions for Lakebase (Autoscaling) projects.

For Lakebase (Provisioned) permissions, see Database instance ACLs.

Note

  • Workspace admins automatically inherit the CAN MANAGE permission on all Lakebase project resources.
  • All workspace users automatically inherit the CAN CREATE permission. This permission cannot be assigned or removed.
  • To grant access to other individuals, groups, or service principals, assign the CAN MANAGE or CAN USE permission.

Project ACLs

Ability NO PERMISSIONS CAN CREATE CAN USE CAN MANAGE
View project โœ“ โœ“ โœ“
Create project โœ“ โœ“ โœ“
Delete project โœ“
Update project โœ“
View connection URI โœ“ โœ“
List projects โœ“ โœ“ โœ“
View project limits โœ“ โœ“ โœ“

Branch ACLs

Ability NO PERMISSIONS CAN CREATE CAN USE CAN MANAGE
List project branches โœ“ โœ“ โœ“
Create project branch โœ“
Count project branches โœ“ โœ“ โœ“
Create branch database โœ“ โœ“
Create branch role โœ“ โœ“
Delete project branch โœ“
Delete branch database โœ“ โœ“
Delete branch role โœ“ โœ“
Delete project branches โœ“
Finalize restore branch โœ“
View project branch โœ“ โœ“ โœ“
View branch database โœ“ โœ“ โœ“
View branch role โœ“ โœ“ โœ“
View branch role password โœ“ โœ“
View branch schema โœ“ โœ“ โœ“
List branch databases โœ“ โœ“ โœ“
List branch endpoints โœ“ โœ“ โœ“
List branch roles โœ“ โœ“ โœ“
Reset project branch โœ“
Reset branch role password โœ“ โœ“
Reset branch to parent โœ“
Restore project branch โœ“
Set default project branch โœ“
Update project branch โœ“
Update branch database โœ“ โœ“

Snapshot ACLs

Ability NO PERMISSIONS CAN CREATE CAN USE CAN MANAGE
List snapshots โœ“ โœ“ โœ“
Create snapshot โœ“ โœ“
View snapshot schedule โœ“ โœ“ โœ“
Set snapshot schedule โœ“ โœ“
Delete snapshot โœ“
Update snapshot โœ“
Restore snapshot โœ“

Endpoint ACLs

Ability NO PERMISSIONS CAN CREATE CAN USE CAN MANAGE
List project endpoints โœ“ โœ“ โœ“
Create project endpoint โœ“
Delete project endpoint โœ“
View project endpoint โœ“ โœ“ โœ“
Restart project endpoint โœ“
Start project endpoint โœ“
Suspend project endpoint โœ“
Update project endpoint โœ“

Operation ACLs

Ability NO PERMISSIONS CAN CREATE CAN USE CAN MANAGE
View project operations โœ“ โœ“ โœ“
List project operations โœ“ โœ“ โœ“
List running project operations โœ“ โœ“ โœ“

Lakeflow pipelines ACLs

Ability NO PERMISSIONS CAN VIEW CAN RUN CAN MANAGE IS OWNER
View pipeline details and list pipeline โœ“ โœ“ โœ“ โœ“
View Spark UI and driver logs โœ“ โœ“ โœ“ โœ“
Start and stop a pipeline update โœ“ โœ“ โœ“
Stop pipeline clusters directly โœ“ โœ“ โœ“
Edit pipeline settings โœ“ โœ“
Delete the pipeline โœ“ โœ“
Purge runs and experiments โœ“ โœ“
Modify permissions โœ“ โœ“

Feature tables ACLs

This table describes how to control access to feature tables in workspaces that are not enabled for Unity Catalog. If your workspace is enabled for Unity Catalog, use Unity Catalog privileges instead.

Note

Ability CAN VIEW METADATA CAN EDIT METADATA CAN MANAGE
Read feature table โœ“ โœ“ โœ“
Search feature table โœ“ โœ“ โœ“
Publish feature table to online store โœ“ โœ“ โœ“
Write features to feature table โœ“ โœ“
Update description of feature table โœ“ โœ“
Modify permissions โœ“
Delete feature table โœ“

File ACLs

Ability NO PERMISSIONS CAN VIEW* CAN RUN CAN EDIT CAN MANAGE
Read file โœ“ โœ“ โœ“ โœ“
Comment โœ“ โœ“ โœ“ โœ“
Attach and detach file โœ“ โœ“ โœ“
Run file interactively โœ“ โœ“ โœ“
Edit file โœ“ โœ“
Modify permissions โœ“

* The workspace UI refers to view-only access as CAN VIEW, while the Permissions API uses CAN READ to represent the same level of access.

Folder ACLs

Ability NO PERMISSIONS CAN VIEW* CAN EDIT CAN RUN CAN MANAGE
List objects in folder โœ“ โœ“ โœ“ โœ“ โœ“
View objects in folder โœ“ โœ“ โœ“ โœ“
Clone and export items โœ“ โœ“ โœ“
Run objects in the folder โœ“ โœ“
Create, import, and delete items โœ“
Move and rename items โœ“
Modify permissions โœ“

* The workspace UI refers to view-only access as CAN VIEW, while the Permissions API uses CAN READ to represent the same level of access.

Genie Code chat ACLs

Ability NO PERMISSIONS CAN VIEW CAN MANAGE
View chat thread โœ“ โœ“
Add new prompts and edit the chat thread โœ“
Make a copy of the chat thread โœ“
Rename the chat thread โœ“
Delete the chat thread โœ“
Modify permissions โœ“

Genie Agent ACLs

Ability NO PERMISSIONS CAN VIEW CAN RUN CAN EDIT CAN MANAGE
See in Genie Agent list โœ“ โœ“ โœ“ โœ“
Ask questions in the Genie Agent โœ“ โœ“ โœ“ โœ“
Provide response feedback โœ“ โœ“ โœ“ โœ“
Add or edit instructions โœ“ โœ“
Add or edit sample questions โœ“ โœ“
Add or remove included tables โœ“ โœ“
Monitor a space โœ“
Modify permissions โœ“
Delete space โœ“
View other users' conversations โœ“

Note

For a Genie Agent, CAN VIEW and CAN RUN grant the same abilities.

Git folder ACLs

Ability NO PERMISSIONS CAN READ CAN RUN CAN EDIT CAN MANAGE
List assets in a folder โœ“ โœ“ โœ“ โœ“ โœ“
View assets in a folder โœ“ โœ“ โœ“ โœ“
Clone and export assets โœ“ โœ“ โœ“ โœ“
Run executable assets in folder โœ“ โœ“ โœ“
Edit and rename assets in a folder โœ“ โœ“
Create a branch in a folder โœ“
Switch branches in a folder โœ“
Pull or push a branch into a folder โœ“
Create, import, delete, and move assets โœ“
Modify permissions โœ“

Job ACLs

Ability NO PERMISSIONS CAN VIEW CAN MANAGE RUN IS OWNER CAN MANAGE
View job details and settings โœ“ โœ“ โœ“ โœ“
View results โœ“ โœ“ โœ“ โœ“
View Spark UI, logs of a job run โœ“ โœ“ โœ“
Run now โœ“ โœ“ โœ“
Run now with different parameters โœ“ โœ“ โœ“
Cancel run โœ“ โœ“ โœ“
Edit job settings โœ“ โœ“
Delete job โœ“ โœ“
Modify permissions โœ“ โœ“

Note

  • The creator of a job has the IS OWNER permission by default.
  • A job cannot have more than one owner.
  • A group cannot be assigned the Is Owner permission as an owner.
  • Jobs triggered through Run Now assume the permissions of the job owner and not the user who issued Run Now.
  • Jobs access control applies to jobs displayed in the Lakeflow Jobs UI and their runs. It doesn't apply to:
    • Notebook workflows that run modular or linked code. These use the permissions of the notebook itself. If the notebook comes from Git, a new copy is created and its files inherit the permissions of the user who triggered the run.

    • Jobs submitted by API. These use the notebook's default permissions unless you explicitly set the access_control_list in the API request.

MLflow experiment ACLs

MLflow experiment ACLs are different for notebook experiments and workspace experiments. Notebook experiments cannot be managed independently of the notebook that created them, so the permissions are similar to notebook permissions.

To learn more about the two types of experiments, see Organize training runs with MLflow experiments.

ACLs for notebook experiments

Changing these permissions also modifies the permissions on the notebook that corresponds to the experiment.

Ability NO PERMISSIONS CAN READ CAN RUN CAN EDIT CAN MANAGE
View notebook โœ“ โœ“ โœ“ โœ“
Comment on notebook โœ“ โœ“ โœ“ โœ“
Attach/detach notebook to compute โœ“ โœ“ โœ“
Run commands in the notebook โœ“ โœ“ โœ“
Edit notebook โœ“ โœ“
Modify permissions โœ“

ACLs for workspace experiments

Ability NO PERMISSIONS CAN READ CAN EDIT CAN MANAGE
View experiment โœ“ โœ“ โœ“
Log runs to the experiment โœ“ โœ“
Edit the experiment โœ“ โœ“
Delete the experiment โœ“
Modify permissions โœ“

MLflow model ACLs

This table describes how to control access to registered models in workspaces that are not enabled for Unity Catalog. If your workspace is enabled for Unity Catalog, use Unity Catalog privileges instead.

Ability NO PERMISSIONS CAN READ CAN EDIT CAN MANAGE STAGING VERSIONS CAN MANAGE PRODUCTION VERSIONS CAN MANAGE
View model details, versions, stage transition requests, activities, and artifact download URIs โœ“ โœ“ โœ“ โœ“ โœ“
Request a model version stage transition โœ“ โœ“ โœ“ โœ“ โœ“
Add a version to a model โœ“ โœ“ โœ“ โœ“
Update model and version description โœ“ โœ“ โœ“ โœ“
Add or edit tags โœ“ โœ“ โœ“ โœ“
Transition model version between stages โœ“ โœ“ โœ“
Approve a transition request โœ“ โœ“ โœ“
Cancel a transition request โœ“
Rename model โœ“
Modify permissions โœ“
Delete model and model versions โœ“

Notebook ACLs

Ability NO PERMISSIONS CAN VIEW* CAN RUN CAN EDIT CAN MANAGE
View cells โœ“ โœ“ โœ“ โœ“
Comment โœ“ โœ“ โœ“ โœ“
Run using %run or notebook workflows โœ“ โœ“ โœ“ โœ“
Attach and detach notebooks โœ“ โœ“ โœ“
Run commands โœ“ โœ“ โœ“
Edit cells โœ“ โœ“
Modify permissions โœ“

* The workspace UI refers to view-only access as CAN VIEW, while the Permissions API uses CAN READ to represent the same level of access.

Pool ACLs

Ability NO PERMISSIONS CAN ATTACH TO CAN MANAGE
Attach cluster to pool โœ“ โœ“
Delete pool โœ“
Edit pool โœ“
Modify permissions โœ“

Query ACLs

Ability NO PERMISSIONS CAN VIEW CAN RUN CAN EDIT CAN MANAGE
View own queries โœ“ โœ“ โœ“ โœ“
See in query list โœ“ โœ“ โœ“ โœ“
View query text โœ“ โœ“ โœ“ โœ“
View query result โœ“ โœ“ โœ“ โœ“
Refresh query result (or choose different parameters) โœ“ โœ“ โœ“
Include the query in a dashboard โœ“ โœ“ โœ“
Change SQL warehouse or data source โœ“ โœ“ โœ“
Edit query text โœ“ โœ“
Modify permissions โœ“
Delete query โœ“

Legacy SQL editor query ACLs

Ability NO PERMISSIONS CAN VIEW CAN RUN CAN EDIT CAN MANAGE
View own queries โœ“ โœ“ โœ“ โœ“
See in query list โœ“ โœ“ โœ“ โœ“
View query text โœ“ โœ“ โœ“ โœ“
View query result โœ“ โœ“ โœ“ โœ“
Refresh query result (or choose different parameters) โœ“ โœ“ โœ“
Include the query in a dashboard โœ“ โœ“ โœ“
Edit query text โœ“ โœ“
Change SQL warehouse or data source โœ“
Modify permissions โœ“
Delete query โœ“

Secret ACLs

Ability READ WRITE MANAGE
Read the secret scope โœ“ โœ“ โœ“
List secrets in the scope โœ“ โœ“ โœ“
Write to the secret scope โœ“ โœ“
Modify permissions โœ“

Serving endpoint ACLs

Ability NO PERMISSIONS CAN VIEW CAN QUERY CAN MANAGE
Get endpoint โœ“ โœ“ โœ“
List endpoint โœ“ โœ“ โœ“
Query endpoint โœ“ โœ“
Update endpoint config โœ“
Delete endpoint โœ“
Modify permissions โœ“

SQL warehouse ACLs

To create a SQL warehouse, you must be a workspace admin or have unrestricted cluster creation permissions. For details, see Create a SQL warehouse. The following table covers permissions on existing warehouses.

Ability NO PERMISSIONS CAN VIEW CAN MONITOR CAN USE IS OWNER CAN MANAGE
Start the warehouse โœ“ โœ“ โœ“ โœ“
View warehouse details โœ“ โœ“ โœ“ โœ“ โœ“
View warehouse queries โœ“ โœ“ โœ“ โœ“
Run queries โœ“ โœ“ โœ“ โœ“
View warehouse monitoring tab โœ“ โœ“ โœ“ โœ“
Stop the warehouse โœ“ โœ“
Delete the warehouse โœ“ โœ“
Edit the warehouse โœ“ โœ“
Modify permissions โœ“ โœ“

AI Search endpoint ACLs

Ability NO PERMISSIONS CAN CREATE CAN USE CAN MANAGE
Get endpoint โœ“ โœ“ โœ“
List endpoints โœ“ โœ“ โœ“
Create endpoint โœ“ โœ“ โœ“
Use endpoint (create index) โœ“ โœ“
Delete endpoint โœ“
Modify permissions โœ“