Liaison Workspace-catalogue
Dans Unity Catalog, tous les catalogues sont accessibles par default à partir de n'importe quel Workspace attaché au même métastore. La liaison Workspace-catalogue vous permet de remplacer ce comportement par default afin de restreindre un catalogue à un ou plusieurs Workspaces spécifiques. L'accès à partir d'un workspace non lié est refusé, même pour les utilisateurs disposant de droits explicites sur le catalogue.
Pourquoi utiliser la liaison entre le workspace et le catalogue
Les exigences organisationnelles et de conformité spécifient souvent que certaines données doivent rester accessibles uniquement dans des environnements désignés. Vous pourriez également avoir besoin de :
- Isolez les données de production des environnements de développement ou de test.
- Empêchez que certains domaines de données ne soient joints ensemble.
- Veiller à ce que les données sensibles ne puissent être traitées que dans des workspaces spécifiques.
Dans Databricks, le workspace est l'environnement principal de traitement des données, et le catalogue est le domaine de données principal. La liaison workspace-catalogue connecte ces deux concepts, permettant aux propriétaires de catalogue et aux utilisateurs disposant du privilège MANAGE de définir quels workspaces peuvent accéder à quels catalogues.
Fonctionnement de la liaison Workspace-catalogue
Lorsque vous liez un catalogue à des Workspaces spécifiques, seuls les Workspaces que vous attribuez peuvent accéder au catalogue. Tout Workspace ne figurant pas dans la liste assignée reçoit une erreur lorsque les utilisateurs tentent d'accéder au catalogue, annulant toutes les autorisations de privilèges individuelles que ces utilisateurs détiennent.

Dans ce diagramme, prod_catalog est lié à deux workspaces de production. Même si un utilisateur détient une autorisation SELECT sur une table dans prod_catalog, il ne peut pas accéder à cette table depuis le Workspace Dev.
Accès en lecture seule
Lors de la liaison d'un catalogue à un workspace, vous pouvez éventuellement restreindre ce workspace à un accès en lecture seule. Toutes les opérations d'écriture de ce Workspace vers le catalogue sont bloquées.
Comportement du catalogue Workspace default
L'exception au comportement d'ouverture par default est le catalogue du Workspace par default créé automatiquement pour tous les nouveaux Workspaces. Ce catalogue de workspace est lié uniquement à son propre workspace par default. Si vous dissociez ce catalogue ou étendez l'accès à d'autres workspaces, vous devez accorder manuellement toutes les permissions requises, car le groupe d'administrateurs de workspace est local au workspace et ne peut pas être utilisé entre les workspaces.
Application à l'échelle de la plateforme
Les liaisons workspace-catalogue sont appliquées de manière cohérente sur toute la plateforme :
- Les queries de schéma d'information retournent uniquement les catalogues accessibles dans le Workspace actuel.
- Data lineage et l'Explorateur de catalogues affichent uniquement les catalogues qui sont attribués à l'actuel Workspace.
Ce qui peut être lié aux Workspace
La liaison de Workspace s'applique au-delà des catalogues. Vous pouvez également lier :
-
Emplacements externes : limitez les workspaces pouvant accéder à des chemins de stockage cloud spécifiques. Voir Assigner un emplacement externe à des Workspaces spécifiques.
-
**Identifiants de stockage** : restreint les workspaces pouvant utiliser des identifiants cloud spécifiques. Voir attribuer des identifiants de stockage à des workspaces spécifiques.
-
Identifiants de service : restreignez les Workspace pouvant utiliser des identifiants de service cloud spécifiques. Voir (Facultatif) Attribuer des informations d'identification de service à des Workspace spécifiques.
Présentation vidéo
Cette vidéo montre comment limiter l'accès au catalogue à des workspaces spécifiques (5 minutes).
Lier un catalogue à un ou plusieurs workspaces
Pour affecter un catalogue à des workspaces spécifiques, vous pouvez utiliser l'Explorateur de catalogues ou la CLI Databricks.
Autorisations requises : administrateur de métastore, propriétaire de catalogue ou MANAGE et USE CATALOG sur le catalogue.
Qu'un catalogue soit ou non attribué au Workspace actuel, les administrateurs de métastore peuvent voir tous les catalogues d'un métastore, et les propriétaires de catalogues peuvent voir tous les catalogues qu'ils possèdent dans un métastore. Les catalogues non attribués au Workspace apparaissent grisés, et aucun objet enfant n'est visible ou interrogeable.
- Catalog Explorer
- CLI
-
Connectez-vous à un Workspace lié au métastore.
-
Cliquez sur
le Catalogue .
-
Dans le volet Catalogue , à gauche, cliquez sur le nom du catalogue.
Le volet principal de Catalog Explorer affiche par default la liste des Catalogues . Vous pouvez également y sélectionner le catalogue.
-
Dans l’onglet **tab**, décochez la case **Tous les Workspaces ont accès**.
Si votre catalogue est déjà lié à un ou plusieurs Workspaces, cette case à cocher est déjà décochée.
-
Cliquez sur Assigner aux workspaces et saisissez ou recherchez les workspaces que vous souhaitez assigner.
-
(Facultatif) Limiter l'accès au Workspace en lecture seule.
Dans le menu Gérer le niveau d'accès , sélectionnez Modifier l'accès en lecture seule .
Vous pouvez annuler cette sélection à tout moment en modifiant le catalogue et en sélectionnant Modifier l'accès en lecture et en écriture .
Pour révoquer l'accès, accédez à l'onglet Workspaces, sélectionnez le workspace et cliquez sur Révoquer.
Il existe deux groupes de commandes Databricks CLI et deux étapes requises pour attribuer un catalogue à un workspace.
Dans les exemples suivants, remplacez <profile-name> par le nom de votre profil de configuration d’authentification Databricks. Il doit inclure la valeur d’un jeton d’accès personnel, en plus du nom d’instance du Workspace et de l’ID du Workspace où vous avez généré le jeton d’accès personnel. Consultez Authentification par jeton d’accès personnel (hérité).
-
Utilisez la commande
updatedu groupe de commandescatalogspour définir leisolation modedu catalogue surISOLATED:Bashdatabricks catalogs update <my-catalog> \
--isolation-mode ISOLATED \
--profile <profile-name>Le default
isolation-modeestOPENà tous les workspaces attachés au métastore. -
Utilisez la commande
update-bindingsdu groupe de commandesworkspace-bindingspour affecter les workspaces au catalogue :Bashdatabricks workspace-bindings update-bindings catalog <my-catalog> \
--json '{
"add": [{"workspace_id": <workspace-id>, "binding_type": <binding-type>}...],
"remove": [{"workspace_id": <workspace-id>, "binding_type": "<binding-type>}...]
}' --profile <profile-name>Utilisez les propriétés
"add"et"remove"pour ajouter ou supprimer des liaisons de workspace. Le<binding-type>peut être soit"BINDING_TYPE_READ_WRITE"(default), soit"BINDING_TYPE_READ_ONLY".
Pour lister toutes les affectations de workspace pour un catalogue, utilisez la commande get-bindings du groupe de commandes workspace-bindings :
databricks workspace-bindings get-bindings catalog <my-catalog> \
--profile <profile-name>
Dissocier un catalogue d’un Workspace
Les instructions pour révoquer l'accès d'un workspace à un catalogue à l'aide de Catalog Explorer ou du groupe de commandes workspace-bindings CLI sont incluses dans Lier un catalogue à un ou plusieurs workspaces.
Si votre Workspace a été activé automatiquement pour Unity Catalog et que vous disposez d'un catalogue de Workspace default, les administrateurs du Workspace possèdent ce catalogue et disposent de toutes les autorisations sur ce catalogue uniquement dans le Workspace . Si vous dissociez ce catalogue ou le liez à d'autres catalogues, vous devez accorder manuellement toutes les autorisations requises aux membres du groupe d'administrateurs du Workspace en tant qu'utilisateurs individuels ou en utilisant des groupes au niveau du compte, car le groupe d'administrateurs du Workspace est un groupe local au Workspace. Pour plus d'informations sur les groupes de comptes par rapport aux groupes locaux de workspace, consultez Sources de groupe.