Isolate catalogs by workspace using catalog binding in Unity Catalog. Configure compliance requirements where certain data sets are restricted to specific workspace environments.
Source: official Databricks documentation · Databricks announcement
Key takeaways
- Catalog binding enforces compliance by restricting data access to specific workspaces.
- Isolation mode must be enabled before assigning catalogs to workspaces.
- Metastore admins assign catalogs via UI, API, or Terraform.
- Default catalog on cluster simplifies three-level namespace references.
- Mixed isolation modes supported for operational flexibility across environments.
Chapters
- 0:01 — Why Catalog Binding: Compliance & Data Isolation
- 0:31 — Workspaces as Environments in Databricks
- 2:07 — Multi-Workspace Metastore Setup
- 2:39 — Binding Configuration: Isolation Mode & Assignment
- 3:11 — Permission Model: Metastore Admin vs Catalog Owner
- 3:41 — Advanced: Multiple Catalogs & Binding States
- 4:14 — Spark Configuration: Default Catalog on Cluster
Frequently asked questions
What is catalog binding?
Catalog binding restricts Unity Catalog access to specific workspaces for compliance requirements and data isolation across environments.
How do I restrict a catalog to one workspace?
Enable isolation mode on the catalog, then assign it to specific workspaces through the UI, API, or Terraform configuration.
Can I mix open and isolated catalogs?
Yes, some catalogs can remain open for any workspace while others are restricted to specific ones for flexibility.
How do I simplify cross-workspace queries?
Set default catalog on cluster via spark.databricks.sql.initial.catalog.name configuration eliminating need for three-level namespace.
Full transcript
Auto-generated from the video and lightly edited for readability. Timestamps link to the moment in the video.
Show full transcript (16 segments)
0:01hello my name is Yusef today I will introduce a new Unity catalog feature that has been just released often compliance requirements maintain that you need to keep certain data accessible only in certain environments versus others and those requirements dictate that certain data sets or domains cannot be Cross or combined
0:25together and an example could be Dev and production in databricks they consider a workspace to be an environment and unity catalog has a feature that allows you to bind catalogs to a workspace and these environments are where angles give you the ability to ensure that only certain catalogs are available within a workspace regardless of the user's
0:47individual apples this means that the metastore admin or the catalog owner can Define the workspace that a catalog can be accessed from and this can be controlled via our UI or the API or of course or also terraform so in this case for for this example I'm taking uh like I have two
1:11workspaces attach the same metastore which is the one ohm and now what I will do I will go to the first workspace and here is the second one so if I go to the first workspace as you can see I did create my catalog that I did call uh production inside this catalog I created a database uh called HR and then inside this ahr database I
1:35created a table called fake colleagues and now you can see that I I can access of course uh of course this data so if I go to data here and also in the other workspace because they are attached so you can see that I can I have access to this catalog production HR so fake legs and Saints
1:58and over here so now what I will do I will bind this bind this catalog to workspace so by default every catalog we're creating has the perm has like the iso is the permission open or what we call what we call uh the isolation mode is open
2:22so what I will do I will just go and click here on workspaces and provoke this one and then I can just assign it to a single uh workspace so here I've designed that only one ohms us can be use access this one so now you can see
2:44and as you will see over here so the metaphor admins can see all the catalogs and for my case I Am The Meta store admin and same thing for the catalog owners regardless of course of the catalog assignment but of course catalog that are not assigned to workspace appeared grayed out and no child objects are visible and that's what we have over
3:06here so no child object is visible and it's grayed out and if I go to the other workspace and just let's just refresh this you will see that I still have of course access to uh the catalog production and we can we can do this course through the UI but it can also be done through
3:28the API so you have this API API call to turn your catalog in the isolation mode and after uh switch in the catalog to isolate it then you can assign it to one or or other or multiple uh multiple workspaces and that's not the only thing you
3:51can also and this is the second thing I will create a catalog Dev and this catalog Dev course will be accessible from any uh and any special uh workspace and that's the trick I want to show you and I think this trick will be uh will be useful so I can also access it from from the other uh from
4:14the other uh environments let me just refresh to have the catalog HR uh div I mean sorry it was yeah yeah so this is the catalog so now what I will show you so sometimes like you know when you're switching from hybrid to store to
4:38Unity catalog we need to switch those three level namespace so the trick is that you can and by default of course uh the defaults the defaults catalog so far is Hive metastore but what you can do you can assign a default catalog to a cluster and that's that's what I did over here so uh I am running uh um without having to like add the use
5:02catalog I'm just running hr.fake colleagues and this will display uh the data I have on the catalog uh the catalog Dev without adding of course the tree level makes this and what's the trick you can uh while creating your cluster you can edit uh the spark configuration so we see I
5:24did access one you can edit the spike spark configuration and make sure to uh Define let's say a default uh a default catalog and that's what I did over here so you see spark.databricks.sql initial catalog name and the name was Dev and that was uh today's uh trick thank
5:46you thank you for watching this video
Official Databricks resources
- Unity Catalog documentation — docs
- Databricks Free Edition — product
- Open sourcing Unity Catalog (Databricks blog) — blog
Related
- What Is LTAP? Lakebase + Genie, Explained by Databricks CTO Matei Zaharia
- SET MANAGED: Convert External Tables with Predictive Optimization
- Databricks Data Science Agent: Auto-Generate & Execute Analytics
- Join 150K+ Data Professionals: Databricks Community Q&A
- All Databricks video guides
- All tutorials & videos
Databricks Answers
Looking for a quick, source-backed answer? Browse Databricks Answers on Unity Catalog, governance & security — direct, documentation-validated answers to common Databricks questions, curated by Youssef Mrini, Senior Developer Advocate at Databricks.