Serverless compute access control

Important

This feature is in Private Preview. To join this preview, contact your Azure Databricks account team. After joining the preview, workspace admins can control access to this feature from the Previews page.

In this preview, workspace admins can govern access to serverless using built-in serverless compute objects. A serverless compute object is a resource type that defines the permission boundary for serverless workloads. Your workspace automatically gets two default compute objects:

  • Default Interactive Compute: Governs access to notebooks and Databricks Connect.
  • Default Automated Compute: Governs access to jobs and Spark Declarative Pipelines on Lakeflow.

By default, all workspace users have Can Use on both objects, so existing workloads continue to run without any changes. A workspace admin can remove users or groups from either object to restrict access. A user who loses access will see the Serverless compute option as unavailable in their product surfaces.

Manage access to serverless compute

To control who has access to serverless compute, workspace admins can edit the permissions on the Default Interactive Compute and Default Automated Compute objects. Workspace admins have the Can Manage permission by default, but they can grant the permission to any user. These serverless compute objects cannot be renamed or deleted.

The Serverless tab on the Compute page listing the default Interactive and Automated compute objects

Each serverless compute object supports two permission levels:

Permission Allows you to
Can Use Run workloads on this compute
Can Manage Run workloads on this compute and edit the compute's permissions

Restrict access to serverless interactive

To limit who can use serverless for notebooks and Databricks Connect:

  1. Click Compute in the workspace sidebar.
  2. In the Serverless tab, click the kebab menu Kebab menu icon. next to Default Interactive Compute, then click Edit permissions.
  3. Remove the All Users group, or the group that includes all workspace users.
  4. Add only the specific users, groups, or service principals that you want to authorize.

If you revoke a user's interactive serverless permissions, notebooks already attached to serverless will fail to connect when the user runs a cell and the user will no longer see the Serverless option as available in the notebook's compute picker. If they attempt to run Databricks Connect, the connection request fails with an error indicating that the user doesn't have access to serverless.

Restrict access to serverless jobs and pipelines

To limit who can use serverless in jobs and pipelines:

  1. Click Compute in the workspace sidebar.
  2. In the Serverless tab, click the kebab menu Kebab menu icon. next to Default Automated Compute, then click Edit permissions.
  3. Remove the All Users group, or the group that includes all workspace users.
  4. Add only the specific users, groups, or service principals that you want to authorize.

If you revoke a user's automated serverless permissions, all of the user's existing jobs or pipelines will fail to run. The user will see an error message if they attempt to run a job on serverless.

Before you revoke a user's access to Default Automated Compute, audit which jobs and pipelines the affected users own. The following query identifies recent serverless workloads for a specific user:

SELECT *
FROM system.billing.usage
WHERE usage_date >= date_add(now(), -30)
  AND billing_origin_product IN ('JOBS', 'DLT')
  AND identity_metadata.run_as = '<user_email>';

Check the usage_metadata column to see the affected resources, such as job IDs and pipeline IDs.

Audit serverless usage

With this preview enabled, serverless billing records include a serverless_compute_id field in usage_metadata. Use it to track which compute object a workload ran on:

SELECT
  usage_metadata.serverless_compute_id,
  identity_metadata.run_as,
  SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE billing_origin_product IN ('JOBS', 'DLT', 'INTERACTIVE')
  AND usage_metadata.serverless_compute_id IS NOT NULL
  AND usage_date >= date_add(now(), -30)
GROUP BY 1, 2
ORDER BY 3 DESC;

Supported features

The following features are integrated with serverless compute access controls in this preview.

Interactive (Default Interactive Compute)

  • Notebooks and serverless GPU notebooks
  • Databricks Connect

Automated (Default Automated Compute)

  • Jobs and serverless GPU jobs
  • Spark Declarative Pipelines on Lakeflow

Unsupported features

The following features aren't integrated with serverless compute access controls in this preview:

  • Databricks SQL (DBSQL)
  • Batch inference (ai_query())
  • Model Serving
  • Foundation Model API provisioned throughput endpoints
  • Lakebase
  • Databricks Apps
  • Agent Evaluation and synthetic data
  • Vector Search indexing
  • Predictive Optimization
  • Lakehouse Monitoring

For any feature not listed here, contact your Azure Databricks account team to ask about its status.

Known limitations

  • You can't rename or delete default compute objects.
  • A job or pipeline already configured to run on serverless fails for any user who loses Can Use access to Default Automated Compute. Review active workloads before you remove a user's access.
  • Background compute (system-initiated jobs) is exempt from serverless compute access controls.
  • You manage permissions for serverless compute objects programmatically through the Ruleset API at the path /api/serverless-compute.