Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Seite enthält eine Übersicht über die Zugriffssteuerung im Unity-Katalog, einschließlich Berechtigungen, Richtlinien und Steuerelemente auf Datenebene.
Ebenen der Zugriffssteuerung
Die Zugriffssteuerung im Unity-Katalog basiert auf den folgenden ergänzenden Modellen:
- Einschränkungen auf Arbeitsbereichsebene steuern , wo Benutzer auf Daten zugreifen können, indem Sie Objekte auf bestimmte Arbeitsbereiche beschränken.
- Die Kontrolle von Berechtigungen und Besitz bestimmt, wer auf was zugreifen kann, durch die Vergabe von Berechtigungen an sicherungsfähige Objekte.
- Attributbasierte Richtlinien (ABAC) steuern , auf welche Daten Benutzer zugreifen können, indem Sie geregelte Tags und zentralisierte Richtlinien verwenden.
- Filterung und Maskierung auf Tabellenebene steuern , welche Daten Benutzer in Tabellen mithilfe tabellenspezifischer Filter und Ansichten sehen können.
Diese Modelle arbeiten zusammen, um sicheren, differenzierten Zugriff in Ihrer Datenumgebung zu erzwingen.
| Ebene | Zweck | Mechanismen |
|---|---|---|
| Einschränkungen auf Arbeitsbereichsebene | Einschränken, welche Arbeitsbereiche auf bestimmte Kataloge, externe Speicherorte und Speicheranmeldeinformationen zugreifen können | Bindungen auf Arbeitsbereichsebene |
| Berechtigungen und Besitz | Steuern des Zugriffs auf Kataloge, Schemas, Tabellen und andere Objekte | Berechtigungserteilungen für Benutzer und Gruppen, Objektbesitz |
| Attributbasierte Richtlinien | Verwenden von Tags und Richtlinien zum dynamischen Anwenden von Filtern und Masken | ABAC-Richtlinien und geregelte Tags |
| Filterung und Maskierung auf Tabellenebene | Steuern, welche Daten Benutzer in Tabellen sehen können | Zeilenfilter, Spaltenmasken, dynamische Ansichten |
Einschränkungen auf Arbeitsbereichsebene
Die Arbeitsbereichbindung beschränkt, welche Arbeitsbereiche in Ihrem Konto auf bestimmte Kataloge, externe Speicherorte und Speicheranmeldeinformationen zugreifen können. Diese Zugriffssteuerung erfolgt auf Arbeitsbereichsebene und gilt unabhängig von Benutzer- oder Gruppenrechten.
Standardmäßig sind alle Kataloge, externen Speicherorte und Speicheranmeldeinformationen im Unity-Katalog von jedem Arbeitsbereich aus zugänglich, der demselben Metaspeicher zugeordnet ist. Mithilfe von Bindungen können Sie folgende Aktionen ausführen:
- Einschränken des Zugriffs auf einen oder mehrere bestimmte Arbeitsbereiche
- Festlegen des Katalogzugriffs von bestimmten Arbeitsbereichen als schreibgeschützt
- Isolieren von Umgebungen, z. B. Einschränken von Produktionsdaten auf Produktionsarbeitsbereiche
- Begrenzen Sie die Verwendung externer Speicherorte und Speicheranmeldeinformationen auf bestimmte Arbeitsbereiche.
Diese Bindungen setzen Berechtigungen auf Benutzerebene außer Kraft. Wenn ein Benutzer über Berechtigungen für ein Objekt verfügt, aber versucht, von einem ungebundenen Arbeitsbereich darauf zuzugreifen, wird der Zugriff verweigert.
Weitere Informationen finden Sie unter Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche.
Berechtigungen und Besitz
Der Zugriff im Unity-Katalog unterliegt in erster Linie berechtigungen und Objektbesitz. Mit diesem Modell wird definiert, wer auf Daten und Metadaten zugreifen oder sie verwalten kann, indem Administratorrollen zugewiesen, Berechtigungen erteilt und der Besitz über sicherbare Objekte hinweg verwaltet wird. In diesem Abschnitt wird beschrieben, wie Berechtigungen gewährt werden, wie der Besitz funktioniert und welche Administratorrollen den Zugriff über verschiedene Bereiche hinweg verwalten können.
Administratorrollen
Unity-Katalog unterstützt mehrere Administratorrollen:
- Kontoadministrator: Kann Metastores erstellen, Identitäten verwalten, Metastore-Administratoren zuweisen und Features auf Kontoebene wie Delta-Freigabe und Systemtabellen verwalten.
-
Metastore-Administrator: Eine optionale, aber leistungsstarke Rolle, die alle Objekte im Metastore verwalten, Besitz übertragen und Berechtigungen auf oberster Ebene wie
CREATE CATALOG,CREATE EXTERNAL LOCATIONund vieles mehr zuweisen kann. - Arbeitsbereichsadministrator: Verwaltet Identitäten, Einstellungen auf Arbeitsbereichsebene und den Arbeitsbereichkatalog.
Ausführliche Informationen finden Sie unter Administratorrechte im Unity-Katalog.
Objektbesitz
Jedes sicherungsfähige Objekt, z. B. ein Katalog, ein Schema oder eine Tabelle, in Unity-Katalog verfügt über einen Besitzer. Der Besitz gewährt die vollständige Kontrolle über dieses Objekt, einschließlich der Folgenden:
- Lesen oder Ändern des Objekts und seiner Metadaten
- Gewähren von Berechtigungen für andere Benutzer
- Übertragen des Besitzes an einen anderen Prinzipal
Unity Catalog unterstützt auch ein MANAGE Privileg, mit dem Benutzer Zugriff gewähren und Objekte ändern können, ohne sie zum Besitzer zu machen.
Weitere Informationen zum Besitz finden Sie unter Verwalten des Besitzes des Unity-Katalogobjekts.
Berechtigungen für sicherbare Objekte
Im Unity-Katalog beginnt die Zugriffssteuerung mit Berechtigungen. Sie weisen Benutzenden und Gruppen Berechtigungen wie SELECT, MODIFY und USE SCHEMA für sicherungsfähige Objekte (etwa Kataloge, Schemas, Tabellen, Ansichten, Volumes und Funktionen) zu.
Die Durchsetzung von Berechtigungen ist:
- Hierarchisch: Berechtigungen für Objekte auf höherer Ebene (etwa Kataloge) werden auf Objekte auf niedrigerer Ebene (etwa Tabellen) übertragen.
- Delegierbar: Jedes Objekt verfügt über einen Besitzer, der es verwalten und anderen Zugriff gewähren kann.
- Explizit: Der Zugriff ist nur zulässig, wenn einem Benutzer oder einer Gruppe die entsprechenden Berechtigungen erteilt wurden. Einem Benutzer wird die Vereinigung von Berechtigungen aller Gruppen gewährt, in denen er Mitglied ist.
Benutzer können den Zugriff auf Objekte anfordern, die sie ermitteln können, entweder über die BROWSE Berechtigung oder eine direkte URL für das Objekt, oder wenn in Notizbüchern oder im SQL-Editor ein Berechtigungsfehler verweigert wird. Databricks empfiehlt, der Gruppe Kataloge BROWSE zu gewährenAll account users, um Objekte auffindbar zu machen und Benutzern das Anfordern des Zugriffs zu ermöglichen. Zugriffsanforderungen werden an konfigurierte Ziele gesendet, z. B. E-Mail, Slack, Microsoft Teams, Webhook-Endpunkte oder eine Umleitungs-URL. Wenn keine Ziele konfiguriert sind, können Benutzer keinen Zugriff auf das Objekt anfordern.
Weitere Informationen finden Sie unter "Verwalten von Berechtigungen in Unity Catalog " und "Unity Catalog"-Berechtigungen und sicherungsfähigen Objekten.
Zwischenspeichern von Berechtigungen für pfadbasierten Zugriff
Um die Leistung für den pfadbasierten Zugriff auf Cloudspeicher zu verbessern, kann Unity Catalog die Ergebnisse der Berechtigungsprüfung für bis zu 60 Sekunden pro Benutzer und Pfad zwischenspeichern. Diese Zwischenspeicherung gilt für:
- Dateisystemvorgänge mit
dbutils.fsBefehlen - Pfadbasierte Abfragen mit Spark SQL
Aufgrund dieses Zwischenspeicherungsverhaltens spiegelt sich eine Berechtigungserteilung oder -widerrufen möglicherweise nicht sofort wider. Dieses Verhalten wirkt sich nur auf den pfadbasierten Zugriff aus. Der namebasierte Zugriff (z. B SELECT * FROM catalog.schema.table. ) ist von diesem Cache nicht betroffen.
Attributbasierte Zugriffssteuerung (ABAC)
Von Bedeutung
Dieses Feature befindet sich in der Public Preview.
ABAC ist ein zentralisiertes, tagbasiertes Richtlinienframework zum Erzwingen der Zugriffssteuerung im Unity-Katalog. Es ermöglicht Administratoren, skalierbare Richtlinien zu definieren, die dynamisch auf Kataloge, Schemas und Tabellen basierend auf geregelten Tags angewendet werden. Richtlinien können vertrauliche Daten filtern oder vertrauliche Werte masken. Databricks empfiehlt die Verwendung von ABAC für zentralisierte und skalierbare Governance, anstatt auf jede Tabelle einzeln Filter oder Masken anzuwenden.
ABAC ist als allgemeines Framework für die Anwendung von Zugriffssteuerungsrichtlinien basierend auf Metadatenattributen konzipiert. Es ergänzt die berechtigungsbasierten Steuerelemente und unterstützt eine differenzierte Erzwingung, ohne dass die Konfiguration pro Objekt erforderlich ist.
Wichtigste Funktionen:
- Taggesteuerte Richtlinien: Definieren Sie Richtlinien einmal mithilfe von geregelten Tags und benutzerdefinierten Funktionen (USER-Defined Functions, UDFs), und wenden Sie sie konsistent für viele Datenressourcen an.
- Hierarchische Erzwingung: Anwenden von Richtlinien auf Katalog-, Schema- oder Tabellenebene mit automatischer Vererbung an untergeordnete Objekte.
- Zentralisierte, skalierbare Governance: Verwalten Sie den Zugriff im großen Maßstab, ohne einzelne Berechtigungen für jedes Objekt zuzuweisen.
- Dynamische Auswertung: Zugriffsentscheidungen werden basierend auf Tags und Benutzerkontext in Echtzeit ausgewertet.
Weitere Informationen finden Sie unter Unity Catalog-attributbasierte Zugriffssteuerung (ABAC).For more information, see Unity Catalog attribute-based access control (ABAC).
Filterung und Maskierung auf Tabellenebene
In diesem Abschnitt werden Mechanismen behandelt, mit denen gesteuert wird , welche Daten Benutzer zur Abfragezeit mithilfe tabellenspezifischer Logik sehen können. Dazu gehören:
- Zeilenfilter und Spaltenmasken: Logik wird direkt auf Tabellen angewendet.
- Dynamische Ansichten: Definieren von Logik mithilfe von SQL über eine oder mehrere Tabellen.
Diese Ansätze können unabhängig oder zusammen mit ABAC verwendet werden, je nach Ihrem Governancemodell.
Zeilenfilter und Spaltenmasken
Zeilenfilter und Spaltenmasken wenden Filter- oder Maskenlogik direkt auf einzelne Tabellen mithilfe von UDFs an. Sie sind nützlich, wenn Sie Logik pro Tabelle ohne zentralisierte Richtlinienverwaltung erzwingen möchten.
Weitere Informationen finden Sie unter Zeilenfilter und Spaltenmasken.
Dynamische Ansichten
Mit dynamischen Ansichten können Sie Logik über eine oder mehrere Tabellen mit SQL definieren. Sie sind schreibgeschützt und nützlich für:
- Anwenden von Transformationslogik (z. B. Verknüpfungen und
CASEAnweisungen) - Freigabe gefilterter Daten mithilfe der Delta-Freigabe, bei der ABAC nicht unterstützt wird.
Ausführliche Informationen finden Sie unter Erstellen einer dynamischen Ansicht.
Wann jeder Zugriffssteuerungsmechanismus verwendet werden soll
Arbeitsbereichsbindungen, Berechtigungen und ABAC-Richtlinien bewerten den Zugriff auf verschiedenen Ebenen und sind für die gemeinsame Verwendung konzipiert. In der folgenden Tabelle werden diese anhand allgemeiner Kriterien der Zugriffssteuerung verglichen.
Hinweis
Databricks empfiehlt die Verwendung von ABAC , um die Zugriffssteuerung basierend auf geregelten Tags zu zentralisieren und zu skalieren. Verwenden Sie Zeilenfilter und Spaltenmasken nur, wenn Sie tabellenspezifische Logik benötigen oder ABAC noch nicht übernommen haben.
| Mechanismus | Gilt für: | Definiert mithilfe von | Anwendungsfall |
|---|---|---|---|
| Arbeitsbereichsbindungen | Kataloge, externe Speicherorte, Speicheranmeldeinformationen | Arbeitsbereichszuweisung | Einschränken des Zugriffs auf Objekte aus bestimmten Arbeitsbereichen |
| Berechtigungen | Kataloge, Schemas, Tabellen | Zuschüsse (GRANT, REVOKE), Eigentum |
Basiszugriff und Berechtigungsübertragung |
| ABAC-Richtlinien | Markierte Objekte (Tabellen, Schemas) | Richtlinien mit gesteuerten Tags und UDFs | Zentralisierte, taggesteuerte Richtlinien und dynamische Durchsetzung |
| Zeilen-/Spaltenfilter auf Tabellenebene | Einzelne Tabellen | UDFs in der Tabelle selbst | Tabellenspezifische Filterung oder Maskierung |
| Dynamische Ansichten | Ansichten von einer oder mehreren Tabellen | SQL (mit eingebetteten Filtern oder Masken) | Schreibgeschützter Zugriff, komplexe Logik, Delta-Freigabe |