When you create a Databricks cluster (Compute), the very first decision you have to make is the Access Mode. Access Mode determines the cluster's isolation level and Unity Catalog support, and it cannot be changed once the cluster has started. The wrong choice ends up producing "an ML project cluster that can't see Unity Catalog tables" or "a shared cluster that fails security audits", so both administrators and developers need a solid understanding of this topic.
This article lays out the technical differences between the three Access Modes (Single User / Shared / No Isolation Shared) in a comparison table, walks through the recommended configuration for Unity Catalog environments, explains how to choose between job clusters and interactive clusters, and covers the patterns that show up on Databricks certification exams.
Databricks clusters come in three Access Modes. Each mode provides a different level of process isolation, with its own set of available features and restrictions.
| Comparison Item | Single User | Shared | No Isolation Shared |
|---|---|---|---|
| Unity Catalog support | Yes | Yes | No |
| Concurrent users | 1 (exclusive) | Multiple | Multiple |
| Process isolation | Not needed (exclusive use) | Process-level isolation | None (same process) |
| Supported languages | Python / SQL / Scala / R | Python / SQL / Scala (restricted) | Python / SQL / Scala / R |
| RDD API | Available | Not available | Available |
| Custom libraries | No restrictions (pip/conda/jar) | Notebook-scoped only | No restrictions |
| init scripts | All supported | Restricted (global init scripts only) | All supported |
| ML Runtime | Supported | Not supported | Supported |
| UDFs (User-Defined Functions) | Python / Scala UDFs available | Python UDFs only (restricted) | Python / Scala UDFs available |
| Custom Spark Config | Fully configurable | Partially restricted | Fully configurable |
| Table ACLs (legacy) | Not supported | Not supported | Can be enabled |
| Security recommendation | High (safe via exclusive use) | High (process isolation) | Low (no isolation; deprecated) |
When you create a Single User Mode cluster you specify exactly one assigned user, and only that user can use the cluster. Any other user who tries to attach to it will hit an error.
Because the cluster is used exclusively, no process isolation is needed, and every Databricks feature is available without restriction — RDD API, custom JAR libraries, init scripts, and the ML Runtime (including GPU). For Unity Catalog environments, Single User Mode is the most strongly recommended option.
The cost trade-off with Single User Mode is that you can't share a cluster. If a team of 10 works simultaneously and each person spins up their own Single User cluster, you end up with 10 clusters. You can mitigate this by using cluster policies to constrain instance types and auto-termination times, and by leveraging Serverless Compute.
Shared Mode lets multiple users share a single cluster while process-level isolation keeps things safe. It's Unity Catalog-compatible, making it a good fit for cost-conscious interactive workloads.
However, the cost of that process isolation is the following set of feature restrictions:
%pip install inside a notebook instead.Shared Mode is a good fit for SQL-analyst-centric teams and for cost-first lightweight exploratory analysis. If you need machine learning or RDD-based processing, choose Single User Mode.
In No Isolation Shared Mode, every user's code runs inside the same JVM process, so there is no data isolation between users. One user's Python code can potentially reach into another user's variable space or read credentials set as environment variables.
Unity Catalog enforces fine-grained access control (per-table GRANT/REVOKE), but No Isolation Mode has no process-level isolation, so Unity Catalog's permission boundaries cannot be preserved. As a result the mode is not Unity Catalog-compatible, and Databricks does not recommend it for new environments.
If you're still running No Isolation Shared Mode clusters, the recommended migration paths are:
| Use case | Cluster type | Recommended Access Mode | Why |
|---|---|---|---|
| Production ETL jobs | Job Cluster | Single User (Service Principal) | Exclusive Service Principal use gives the best security and auditability |
| Dev notebooks (ML) | All-Purpose | Single User | Full access to ML Runtime, RDD, and custom libraries |
| Shared use for analysts | All-Purpose | Shared | SQL-centric with strong cost efficiency; multiple users on one cluster |
| SQL Warehouse | SQL Warehouse | (its own Access Mode) | SQL Warehouse runs on a dedicated access-control model |
| Legacy RDD pipelines | All-Purpose | Single User | The RDD API isn't available in Shared Mode |
Once Unity Catalog is enabled, your Access Mode choices become the foundation of data governance. The following design principles are recommended:
# Cluster PolicyでAccess Modeを制限する定義例
{
"spark_conf.spark.databricks.cluster.profile": {
"type": "fixed",
"value": "singleNode",
"hidden": true
},
"access_mode": {
"type": "allowlist",
"values": ["SINGLE_USER", "USER_ISOLATION"],
"defaultValue": "SINGLE_USER"
}
}Access Modes show up in the Data Engineer Associate and Platform Administration domains. Make sure you have these patterns down:
Data Engineer / Administration
問題 1
A data science team wants to train an ML model using tables registered in Unity Catalog. They need the ML Runtime (DBR ML), custom Python libraries, and the RDD API. Which Access Mode should the administrator configure for the cluster?
正解: A
Single User Mode is the only mode that satisfies all three requirements — ML Runtime, RDD API, and custom libraries. Shared Mode is disqualified because it supports neither the RDD API nor the ML Runtime. No Isolation Shared Mode is not Unity Catalog-compatible, so it cannot access Unity Catalog tables. There is no such thing as a cluster without an Access Mode — you must choose one at creation time.
What is the biggest difference between Single User Mode and Shared Mode?
In Single User Mode, a single user (or one Service Principal) uses the cluster exclusively and has access to every feature, including the RDD API, custom libraries, and init scripts. Shared Mode lets multiple users share the same cluster, but the RDD API is unavailable, the ML Runtime is not supported, and init scripts are restricted. Single User Mode is the recommended choice for Unity Catalog environments.
Why is No Isolation Shared Mode no longer recommended?
No Isolation Shared Mode runs all users' code inside the same process space, so one user's code can potentially access another user's variables or credentials. Because Unity Catalog requires process-level isolation, No Isolation Shared Mode is not Unity Catalog-compatible. Databricks no longer recommends it for new environments and advises existing environments to migrate to Shared or Single User Mode.
How should I choose the Access Mode for a job cluster?
Job clusters default to Single User Mode, with exclusive access for the job owner or a designated Service Principal. Because jobs run non-interactively, one task at a time, there is no need to share the cluster, which makes Single User Mode the best fit. Any job that accesses Unity Catalog tables must run on a Single User or Shared Mode cluster.
Practice with certification-focused question sets
無料で問題を解いてみるNicheeLab Editorial Team
NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.
Databricks Certifications: All 7 Exams, Difficulty & Study Plan (2026)
Complete guide to all 7 Databricks certifications — Data Eng...
Databricks Exam Difficulty Ranking: All 7 Certs Compared (2026)
Every Databricks certification ranked by difficulty, with st...
Databricks Study Guide: Fastest Pass Route & Time Estimates (2026)
How to pass Databricks certifications efficiently. Official ...
Databricks Data Engineer Associate: Complete Guide (2026)
Domain-by-domain breakdown of the Databricks Certified Data ...
Databricks Data Engineer Professional: Complete Guide (2026)
Tactics for the Databricks Certified Data Engineer Professio...