Delen via


Catalogustoegang beperken tot specifieke werkruimten

In dit artikel maakt u kennis met de binding van werkruimtecatalogus en wordt beschreven hoe u een Unity Catalog-catalogus verbindt met een Azure Databricks-werkruimte om te voorkomen dat andere werkruimten in uw Azure Databricks-account er toegang toe hebben.

Wat is binding voor werkruimtecatalogus?

Als u werkruimten gebruikt om de toegang tot gebruikersgegevens te isoleren, kunt u catalogustoegang beperken tot specifieke werkruimten in uw account, ook wel werkruimtecatalogusbinding genoemd. De standaardinstelling is om de catalogus te delen met alle werkruimten die zijn gekoppeld aan de huidige metastore.

De uitzondering op deze standaardwaarde is de werkruimtecatalogus die automatisch wordt gemaakt voor alle nieuwe werkruimten. Deze werkruimtecatalogus is alleen gebonden aan uw werkruimte, tenzij u ervoor kiest om andere werkruimten toegang te geven. Zie Een catalogus uit een werkruimte losmaken voor belangrijke informatie over het toewijzen van machtigingen als u deze catalogus ongedaan hebt gemaakt.

U kunt lees- en schrijftoegang tot de catalogus toestaan vanuit een werkruimte of u kunt alleen-lezentoegang opgeven. Als u alleen-lezen opgeeft, worden alle schrijfbewerkingen van die werkruimte naar die catalogus geblokkeerd.

Typische gebruiksvoorbeelden voor het binden van een catalogus aan specifieke werkruimten zijn onder andere:

  • Ervoor zorgen dat gebruikers alleen toegang hebben tot productiegegevens vanuit een productiewerkruimteomgeving.
  • Ervoor zorgen dat gebruikers alleen gevoelige gegevens uit een toegewezen werkruimte kunnen verwerken.
  • Gebruikers alleen-lezentoegang geven tot productiegegevens vanuit een werkruimte voor ontwikkelaars om ontwikkeling en testen mogelijk te maken.

Notitie

U kunt ook externe locaties en opslagreferenties binden aan specifieke werkruimten, waardoor de mogelijkheid om toegang te krijgen tot gegevens op externe locaties beperkt tot bevoegde gebruikers in die werkruimten. Zie (Optioneel) Wijs een externe locatie toe aan specifieke werkruimten en (optioneel) Wijs een opslagreferentie toe aan specifieke werkruimten.

Voorbeeld van binding voor werkruimtecatalogus

Neem het voorbeeld van isolatie van productie en ontwikkeling. Als u opgeeft dat uw catalogussen met productiegegevens alleen toegankelijk zijn vanuit productiewerkruimten, vervangt dit alle afzonderlijke subsidies die aan gebruikers worden verleend.

Bindingsdiagram voor cataloguswerkruimten

In dit diagram prod_catalog is gekoppeld aan twee productiewerkruimten. Stel dat een gebruiker toegang heeft gekregen tot een tabel met prod_catalog de naam my_table (met behulp van GRANT SELECT ON my_table TO <user>). Als de gebruiker toegang probeert te krijgen my_table in de Dev-werkruimte, wordt er een foutbericht weergegeven. De gebruiker heeft alleen toegang tot my_table de Prod ETL- en Prod Analytics-werkruimten.

Bindingen voor werkruimtecatalogus worden in alle gebieden van het platform gerespecteerd. Als u bijvoorbeeld een query uitvoert op het informatieschema, ziet u alleen de catalogi die toegankelijk zijn in de werkruimte waar u de query uitvoert. Gegevensherkomst en zoek-UIS's geven ook alleen de catalogi weer die aan de werkruimte zijn toegewezen (ongeacht of er bindingen of standaard worden gebruikt).

Een catalogus verbinden met een of meer werkruimten

Als u een catalogus wilt toewijzen aan specifieke werkruimten, kunt u Catalog Explorer of de Databricks CLI gebruiken.

Vereiste machtigingen: Metastore-beheerder of cataloguseigenaar.

Notitie

Metastore-beheerders kunnen alle catalogi in een metastore zien met behulp van Catalog Explorer, en cataloguseigenaren kunnen alle catalogi zien waarvan ze eigenaar zijn in een metastore, ongeacht of de catalogus is toegewezen aan de huidige werkruimte. Catalogi die niet zijn toegewezen aan de werkruimte, worden grijs weergegeven en er zijn geen onderliggende objecten zichtbaar of doorzoekbaar.

Catalogusverkenner

  1. Meld u aan bij een werkruimte die is gekoppeld aan de metastore.

  2. Klik op Cataloguspictogram Catalogus.

  3. Klik in het deelvenster Catalogus aan de linkerkant op de catalogusnaam.

    Het hoofdvenster Catalogusverkenner is standaard ingesteld op de cataloguslijst. U kunt ook de catalogus daar selecteren.

  4. Schakel op het tabblad Werkruimten het selectievakje Alle werkruimten toegang hebben .

    Als uw catalogus al is gebonden aan een of meer werkruimten, is dit selectievakje al uitgeschakeld.

  5. Klik op Toewijzen aan werkruimten en voer de werkruimten in die u wilt toewijzen of zoek deze.

  6. (Optioneel) Beperk de toegang tot werkruimten met het kenmerk Alleen-lezen.

    Selecteer In het menu Toegangsniveau beheren de optie Toegang tot alleen-lezen wijzigen.

    U kunt deze selectie op elk gewenst moment omkeren door de catalogus te bewerken en De toegang tot lezen en schrijven wijzigen te selecteren.

Als u de toegang wilt intrekken, gaat u naar het tabblad Werkruimten , selecteert u de werkruimte en klikt u op Intrekken.

CLI

Er zijn twee Databricks CLI-opdrachtgroepen en twee stappen vereist om een catalogus toe te wijzen aan een werkruimte.

Vervang in de volgende voorbeelden door <profile-name> de naam van uw Azure Databricks-verificatieconfiguratieprofiel. Het moet de waarde van een persoonlijk toegangstoken bevatten, naast de naam van het werkruimte-exemplaar en de werkruimte-id van de werkruimte waarin u het persoonlijke toegangstoken hebt gegenereerd. Zie persoonlijke toegangstokenverificatie van Azure Databricks.

  1. Gebruik de opdracht van de opdrachtgroep update om de catalogus isolation mode in te stellen opISOLATED:catalogs

    databricks catalogs update <my-catalog> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    De standaardwaarde isolation-mode is OPEN voor alle werkruimten die zijn gekoppeld aan de metastore.

  2. Gebruik de opdracht van de workspace-bindings opdrachtgroep update-bindings om de werkruimten toe te wijzen aan de catalogus:

    databricks 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>
    

    Gebruik de "add" en "remove" eigenschappen om werkruimtebindingen toe te voegen of te verwijderen. De <binding-type> kan “BINDING_TYPE_READ_WRITE” (standaard) of “BINDING_TYPE_READ_ONLY”.

Als u alle werkruimtetoewijzingen voor een catalogus wilt weergeven, gebruikt u de opdracht van de workspace-bindings opdrachtgroep get-bindings :

databricks workspace-bindings get-bindings catalog <my-catalog> \
--profile <profile-name>

Een catalogus uit een werkruimte ontkoppelen

Instructies voor het intrekken van werkruimtetoegang tot een catalogus met Behulp van Catalog Explorer of de workspace-bindings CLI-opdrachtgroep zijn opgenomen in Een catalogus binden aan een of meer werkruimten.

Belangrijk

Als uw werkruimte automatisch is ingeschakeld voor Unity Catalog en u een werkruimtecatalogus hebt, zijn werkruimtebeheerders eigenaar van die catalogus en beschikken ze alleen over alle machtigingen voor die catalogus in de werkruimte. Als u deze catalogus ontkoppelt of aan andere catalogi koppelt, moet u de vereiste machtigingen handmatig toewijzen aan de leden van de groep werkruimtebeheerders als afzonderlijke gebruikers of met behulp van groepen op accountniveau, omdat de werkruimtebeheerdersgroep een werkruimte-lokale groep is. Zie Verschil tussen accountgroepen en werkruimte-lokale groepen voor meer informatie over accountgroepen versus werkruimte-lokale groepen.