Freigeben über


Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche

Dieser Artikel enthält eine Einführung in die Arbeitsbereichskatalogbindung und beschreibt, wie Sie einen Unity Catalog-Katalog an einen Azure Databricks-Arbeitsbereich binden, um zu verhindern, dass andere Arbeitsbereiche in Ihrem Azure Databricks-Konto darauf zugreifen.

Was ist die Arbeitsbereichskatalogbindung?

Wenn Sie Arbeitsbereiche verwenden, um den Zugriff auf Benutzerdaten zu isolieren, können Sie den Katalogzugriff auf bestimmte Arbeitsbereiche in Ihrem Konto beschränken, was auch als Arbeitsbereichskatalogbindung bezeichnet wird. Standardmäßig wird der Katalog für alle Arbeitsbereiche freigegeben, die an den aktuellen Metastore angefügt sind.

Die Ausnahme von diesem Standardverhalten ist der Arbeitsbereichskatalog, der automatisch für alle neuen Arbeitsbereiche erstellt wird. Dieser Arbeitsbereichskatalog ist nur an Ihren Arbeitsbereich gebunden, es sei denn, Sie geben anderen Arbeitsbereichen Zugriff darauf. Wichtige Informationen zum Zuweisen von Berechtigungen, wenn Sie diese Katalogbindung aufheben, finden Sie unter Aufheben der Verknüpfung eines Katalogs aus einem Arbeitsbereich.

Sie können lese- und schreibgeschützten Zugriff auf den Katalog über einen Arbeitsbereich zulassen oder schreibgeschützten Zugriff angeben. Wenn Sie „schreibgeschützt“ angeben, werden alle Schreibvorgänge von diesem Arbeitsbereich in diesen Katalog blockiert.

Typische Anwendungsfälle für die Bindung eines Katalogs an bestimmte Arbeitsbereiche sind:

  • Sicherstellen, dass Benutzer nur aus einer Produktionsarbeitsbereichsumgebung auf Produktionsdaten zugreifen können.
  • Sicherstellen, dass Benutzer nur vertrauliche Daten aus einem dedizierten Arbeitsbereich verarbeiten können.
  • Ermöglicht Benutzern schreibgeschützten Zugriff auf Produktionsdaten aus einem Entwicklerarbeitsbereich, um Entwicklung und Tests zu ermöglichen.

Hinweis

Sie können auch externe Speicherorte und Speicheranmeldeinformationen an bestimmte Arbeitsbereiche binden und so den Zugriff auf Daten in externen Speicherorten auf privilegierte Benutzer in diesen Arbeitsbereichen beschränken. Siehe (Optional) Zuweisen eines externen Speicherorts zu bestimmten Arbeitsbereichen und (Optional) Zuweisen von Speicheranmeldeinformationen zu bestimmten Arbeitsbereichen.

Beispiel für die Katalogbindung an einen Arbeitsbereich

Nehmen wir als Beispiel die Isolation von Produktion und Entwicklung. Wenn Sie angeben, dass auf Ihre Produktionsdatenkataloge nur von Produktionsarbeitsbereichen aus zugegriffen werden kann, ersetzt dies alle einzelnen Zuweisungsrechte, die Benutzern erteilt werden.

Diagramm zur Katalog-Arbeitsbereichs-Bindung

In diesem Diagramm ist prod_catalog an zwei Produktionsarbeitsbereiche gebunden. Angenommen, einem Benutzer wurde Zugriff auf eine Tabelle in prod_catalog mit dem Namen my_table gewährt (mithilfe von GRANT SELECT ON my_table TO <user>). Wenn der Benutzer versucht, auf my_table im Dev-Arbeitsbereich zuzugreifen, erhält er eine Fehlermeldung. Der Benutzer kann nur über die Prod ETL- und Prod Analytics-Arbeitsbereiche auf my_table zugreifen.

Arbeitsbereichs-Katalog-Bindungen werden in allen Bereichen der Plattform berücksichtigt. Wenn Sie beispielsweise das Informationsschema abfragen, werden nur die Kataloge angezeigt, auf die in dem Arbeitsbereich zugegriffen werden kann, in dem Sie die Abfrage stellen. In Datenherkunfts- und Such-UIs werden ebenfalls nur die Kataloge angezeigt, die dem Arbeitsbereich zugewiesen sind (ob mit Bindungen oder standardmäßig).

Binden eines Katalogs an einen oder mehrere Arbeitsbereiche

Um einen Katalog bestimmten Arbeitsbereichen zuzuweisen, können Sie den Katalog-Explorer oder die Databricks CLI verwenden.

Erforderliche Berechtigungen: Metastore-Administrator oder Katalogbesitzer.

Hinweis

Metastoreadministrator*innen können alle Kataloge in einem Metastore mithilfe des Katalog-Explorers anzeigen, und Katalogbesitzer*innen können alle Kataloge, die sie besitzen, in einem Metastore anzeigen – unabhängig davon, ob der Katalog dem aktuellen Arbeitsbereich zugewiesen ist. Kataloge, die dem Arbeitsbereich nicht zugewiesen sind, werden abgeblendet angezeigt, und es sind keine untergeordneten Objekte sichtbar oder abfragbar.

Katalog-Explorer

  1. Melden Sie sich bei einem Arbeitsbereich an, der mit dem Metastore verknüpft ist.

  2. Wählen Sie Katalogsymbol Katalog aus.

  3. Klicken Sie im Bereich Katalog links auf den Namen des Katalogs.

    Im Hauptbereich des Katalog-Explorers wird standardmäßig die Liste Kataloge angezeigt. Sie können den Katalog auch dort auswählen.

  4. Deaktivieren Sie auf der Registerkarte Arbeitsbereiche das Kontrollkästchen Alle Arbeitsbereiche haben Zugriff.

    Wenn Ihr Katalog bereits an einen oder mehrere Arbeitsbereiche gebunden ist, ist dieses Kontrollkästchen bereits deaktiviert.

  5. Klicken Sie auf Arbeitsbereichen zuordnen und geben Sie die Arbeitsbereiche ein, die Sie zuordnen möchten, oder suchen Sie diese.

  6. (Optional) Beschränken Sie den Arbeitsbereichszugriff auf schreibgeschützt.

    Wählen Sie im Menü Zugriffsebene verwalten die Option Zugriff in „Schreibgeschützt“ ändern aus.

    Sie können diese Auswahl jederzeit rückgängig machen, indem Sie den Katalog bearbeiten und Zugriff auf Lesen und Schreiben ändern wählen.

Um den Zugriff zu widerrufen, wechseln Sie zur Registerkarte Arbeitsbereiche, wählen Sie den Arbeitsbereich aus, und klicken Sie auf Widerrufen.

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Es gibt zwei CLI-Befehlsgruppen für Databricks und zwei Schritte, die zum Zuweisen eines Katalogs zu einem Arbeitsbereich erforderlich sind.

In den folgenden Beispielen, ersetzen Sie <profile-name> mit dem Namen Ihres Azure Databricks-Authentifizierungskonfigurationsprofils. Sie sollte den Wert eines persönlichen Zugriffstokens zusätzlich zu dem Arbeitsbereichsinstanznamen und der Arbeitsbereichs-ID des Arbeitsbereichs enthalten, in dem Sie das persönliche Zugriffstoken generiert haben. Siehe Authentifizieren mit persönlichen Azure Databricks-Zugriffstoken.

  1. Verwenden Sie den catalogs Befehl update der Befehlsgruppe, um den Katalog isolation mode auf folgendes festzulegen ISOLATED:

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

    Die isolation-mode-Standardeinstellung ist OPEN für alle Arbeitsbereiche, die an den Metastore angefügt sind.

  2. Verwenden Sie den Befehl der workspace-bindings Befehlsgruppe update-bindings, um die Arbeitsbereiche dem Katalog zuzuweisen:

    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>
    

    Verwenden Sie die Eigenschaften "add" und "remove", um Arbeitsbereichsbindungen hinzuzufügen oder zu entfernen. Der <binding-type> kann entweder “BINDING_TYPE_READ_WRITE” (Standard) oder “BINDING_TYPE_READ_ONLY” sein.

Wenn Sie alle Arbeitsbereichszuweisungen für einen Katalog auflisten möchten, verwenden Sie den Befehl der workspace-bindings Befehlsgruppe get-bindings:

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

Herauslösen eines Katalogs aus einem Arbeitsbereich

Anweisungen zum Widerrufen des Arbeitsbereichszugriffs auf einen Katalog mithilfe des Katalog-Explorers oder der workspace-bindings CLI-Befehlsgruppe sind in Binden eines Katalogs an einen oder mehrere Arbeitsbereiche enthalten.

Wichtig

Wenn Ihr Arbeitsbereich automatisch für Unity Catalog aktiviert wurde und Sie über einen Arbeitsbereichskatalog verfügen, besitzen Arbeitsbereichsadministrator*innen diesen Katalog und verfügen über alle Berechtigungen für diesen Katalog ausschließlich im Arbeitsbereich. Wenn Sie diesen Katalog herauslösen oder an andere Kataloge binden, müssen Sie den Mitgliedern der Arbeitsbereich-Administratorgruppe manuell Berechtigungen als einzelne Benutzer oder die Verwendung von Gruppen auf Kontoebene erteilen, da die Arbeitsbereich-Administratorgruppe eine arbeitsbereichslokale Gruppe ist. Weitere Informationen zu Kontogruppen und arbeitsbereichslokalen Gruppen finden Sie unter Unterschied zwischen Kontogruppen und arbeitsbereichslokalen Gruppen.