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.
Important
Dieses Feature befindet sich in der Public Preview.
Diese Seite beschreibt die attributbasierte Zugriffssteuerung (ABAC) im Unity-Katalog.
Was ist ABAC?
ABAC ist ein Datengovernancemodell, das flexible, skalierbare und zentralisierte Zugriffssteuerung für Azure Databricks bietet. ABAC ergänzt das vorhandene Berechtigungsmodell des Unity-Katalogs, indem richtlinien basierend auf geregelten Tags definiert werden können, die auf Datenressourcen angewendet werden. Dies vereinfacht Governance und stärkt die Sicherheit.
Benutzer mit MANAGE Berechtigungen oder Objektbesitz müssen Richtlinien nur einmal definieren und sie konsistent auf viele Datenressourcen anwenden. Richtlinien werden auf Katalog-, Schema- oder Tabellenebene angefügt und automatisch auf alle Tabellen innerhalb dieses Bereichs angewendet. Wenn Richtlinien auf höheren Ebenen definiert sind, werden sie nach unten zu untergeordneten Objekten vererbt. Geregelte Tags für Datenressourcen bestimmen, welche Richtlinien erzwungen werden, sodass die Zugriffssteuerung dynamisch angepasst werden kann.
Vorteile von ABAC
- Skalierbarkeit: Verwalten Sie Zugriffssteuerungen im großen Maßstab, indem Sie Tags anstelle einzelner Berechtigungen nutzen.
- Flexibilität: Passen Sie die Governance ganz einfach an, indem Sie Tags oder Richtlinien aktualisieren, ohne jede Datenressource zu ändern.
- Zentrale Governance: Vereinfachen Sie die Richtlinienverwaltung durch ein einheitliches Modell, das Kataloge, Schemas und Tabellen umfasst.
- Verbesserte Sicherheit: Erzwingen Sie differenzierte Zugriffssteuerelemente dynamisch basierend auf Datenattributen.
- Auditierbarkeit: Sorgen Sie für die Echtzeit-Sichtbarkeit des Datenzugriffs über umfassende Überwachungsprotokolle.
Funktionsweise von ABAC
ABAC im Unity-Katalog verwendet gesteuerte Tags, Richtlinien und benutzerdefinierte Funktionen (UDFs), um dynamische, attributbasierte Zugriffssteuerung zu erzwingen. Die folgenden Komponenten und Mechanismen sind zentral für ABAC:
Geregelte Tags: Geregelte Tags werden auf Kontoebene mithilfe von Tagrichtlinien definiert. Diese Tags stellen Attribute wie Datenempfindlichkeit, Klassifizierung oder Geschäftsdomäne dar und werden Tabellen, Schemas oder Katalogen im Unity-Katalog zugewiesen. Sie dienen als Attribute, die die Durchsetzung von Richtlinien fördern. Weitere Informationen finden Sie unter "Governed tags " und "Apply tags to Unity Catalog securable objects".
Politik: Richtlinien werden auf drei hierarchischen Ebenen im Unity-Katalog erstellt und verwaltet:
- Katalogebene: Wenden Sie allgemeine Richtlinien an, die sich auf alle enthaltenen Schemas und Tabellen auswirken.
- Schemaebene: Anwenden von Richtlinien, die für ein Schema und die zugehörigen Tabellen spezifisch sind.
- Tabellenebene: Wenden Sie präzise richtlinien direkt auf einzelne Tabellen an.
Richtlinien folgen einem Vererbungsmodell: Wenn eine Richtlinie auf Katalog- oder Schemaebene definiert ist, gilt sie automatisch für alle untergeordneten Objekte, Schemas und Tabellen innerhalb dieses Bereichs. Auf diese Weise können Administratoren eine effiziente Governance implementieren, indem sie eine einzelne Richtlinie anwenden, die große Gruppen von Datenressourcen steuert. Geerbte Richtlinien reduzieren Redundanz und fördern eine konsistente Durchsetzung in der gesamten Datenhierarchie. Databricks empfiehlt die Definition von Richtlinien auf der höchsten anwendbaren Ebene, in der Regel des Katalogs, um die Governanceeffizienz zu maximieren und den Verwaltungsaufwand zu verringern. Siehe Erstellen und Verwalten von Attributbasierten Zugriffssteuerungsrichtlinien (ABAC).
Benutzerdefinierte Funktionen (UDFs): UDFs sind benutzerdefinierte Funktionen, die auf Schemaebene definiert sind und global im Unity-Katalognamespace referenziert werden können. UDFs werden innerhalb von Richtlinien verwendet, um komplexe Logik auszudrücken, z. B. Filtern von Zeilen oder Maskieren von Spaltenwerten basierend auf Attributen. Beispielsweise kann ein UDF-Name
filter_regionin einer Zeilenfilterrichtlinie verwendet werden, um nur Zeilen zurückzugeben, in denenregion = 'EMEA'. Siehe benutzerdefinierte Funktionen (USER-Defined Functions, UDFs) im Unity-Katalog.Dynamische Erzwingung: Wenn ein Benutzer versucht, auf eine markierte Datenressource zuzugreifen, wertet Unity Catalog die anwendbaren Richtlinien basierend auf den Tags aus und erzwingt die definierten Zugriffssteuerungen.
Benutzer, die explizit von einer Richtlinie ausgeschlossen sind, können weiterhin Aktionen wie tiefes und flaches Klonen ausführen sowie Zeitreisen in den zugrunde liegenden Daten durchführen. Benutzer, die nicht von ABAC-Richtlinien ausgeschlossen sind, unterliegen jedoch den gleichen Einschränkungen, die für die feinkörnige Zugriffssteuerung gelten.
Überwachungsprotokollierung: Alle Vorgänge mit markierten Datenressourcen werden erfasst und in der Überwachungsprotokollsystemtabelle protokolliert und ermöglichen eine umfassende Sichtbarkeit und Compliance-Nachverfolgung. Siehe Überwachungsprotokolle.
Informationen zum Konfigurieren von ABAC finden Sie im Lernprogramm: Konfigurieren von ABAC.
Eine Demo zum Konfigurieren von ABAC finden Sie unter Discover Attribute-Based Access Control (ABAC) mit Unity Catalog.
Richtlinientypen
Zwei Arten von ABAC-Richtlinien werden unterstützt:
Zeilenfilterrichtlinien beschränken den Zugriff auf einzelne Zeilen in einer Tabelle basierend auf ihrem Inhalt. Ein Filter-UDF wertet aus, ob jede Zeile für einen Benutzer sichtbar sein soll. Diese Richtlinien sind nützlich, wenn der Zugriff von Datenmerkmalen abhängt.
Beispiel eines Anwendungsfalls: Zeigen Sie nur die Zeilen in einer Tabelle mit Kundentransaktionen an, in denen die Regionsspalte mit einem geregelten Tag übereinstimmt, wie
region=EMEA. Auf diese Weise können regionale Teams nur Daten anzeigen, die für ihre Region relevant sind.Spaltenmaskierungsrichtlinien steuern, welche Werte Benutzer in bestimmten Spalten sehen. Eine maskierende UDF kann den tatsächlichen Wert oder eine bearbeitete Version abhängig von geregelten Tags zurückgeben.
Beispielanwendungsfall: Maskieren Sie eine Spalte, die Telefonnummern enthält, es sei denn, die Tabelle ist markiert
sensitivity=low, oder der anfordernde Benutzer befindet sich in einer Compliancegruppe. Benutzern ohne Zugriff wird ein Null- oder Platzhalterwert wie z. B.XXX-XXX-XXXXangezeigt.
Siehe Erstellen und Verwalten von Attributbasierten Zugriffssteuerungsrichtlinien (ABAC).
Einschränkungen
- Sie müssen die Rechenleistung von Databricks Runtime 16.4 oder höher oder serverlose Rechenleistung verwenden, um auf eine durch ABAC gesicherte Tabelle zuzugreifen. Benutzer, die der Richtlinie nicht unterliegen, können eine beliebige Laufzeit verwenden.
- Sie können ABAC-Richtlinien nicht direkt auf Ansichten anwenden. Wenn Sie jedoch eine Ansicht abfragen, die auf Tabellen mit ABAC-Richtlinien basiert, werden die Identität und Berechtigungen des Ansichtsbesitzers verwendet, um die Richtlinien auszuwerten. Dies bedeutet:
- Der Ansichtsbesitzer muss über entsprechende Berechtigungen für die zugrunde liegenden ABAC-geschützten Tabellen verfügen.
- Der Datenzugriff wird basierend auf den Berechtigungen des Ansichtsbesitzers ausgewertet. Wenn Benutzer die Ansicht abfragen, werden die gefilterten oder maskierten Daten angezeigt, wie sie dem Ansichtsbesitzer angezeigt werden.
- Das Verhalten kann je nach Berechnungskonfiguration variieren. Ausführliche Informationen finden Sie unter "Anforderungen für abfragen von Ansichten".
- Richtlinien für materialisierte Ansichten und Streamingtabellen werden nur unterstützt, wenn der Pipelinebesitzer von der Richtlinie ausgenommen ist.
- Benutzer können durch ABAC-Richtlinien gesicherte Delta-Freigabetabellen freigeben, wenn sie über die erforderlichen Delta-Freigabeberechtigungen verfügen und von den ABAC-Richtlinien ausgenommen sind. Die Richtlinie regelt nicht den Zugriff des Empfängers. Informationen zu Freigabeanbietern finden Sie unter Hinzufügen von Tabellen und Schemas, die durch ABAC-Richtlinien gesichert sind, zu einer Freigabe. Für Empfänger von Freigaben siehe Lesen von ABAC-gesicherten Daten und Anwenden von ABAC-Richtlinien.
- Nur ein eindeutiger Zeilenfilter kann zur Laufzeit für eine bestimmte Tabelle und einen bestimmten Benutzer aufgelöst werden. Sie können mehrere Zeilenfilterrichtlinien definieren, aber wenn ein Benutzer die Tabelle abfragt, müssen nur die Bedingungen einer Richtlinie übereinstimmen. Wenn mehrere unterschiedliche Zeilenfilter auf denselben Benutzer und dieselbe Tabelle angewendet werden, blockiert Azure Databricks den Zugriff und löst einen Fehler aus. Mehrere Richtlinien sind zulässig, wenn sie zum gleichen Filter führen (z. B. die gleiche UDF mit denselben Argumenten). Siehe Problembehandlung für mehrere Filter oder Masken.
- Es kann zur Laufzeit nur eine eindeutige Spaltenmaske für eine bestimmte Spalte und einen bestimmten Benutzer verwendet werden. Sie können mehrere Spaltenformatrichtlinien definieren, aber wenn ein Benutzer die Tabelle abfragt, müssen nur die Bedingungen einer Richtlinie für jede Spalte übereinstimmen. Wenn mehrere unterschiedliche Spaltenformate für dieselbe Spalte für denselben Benutzer gelten, blockiert Azure Databricks den Zugriff und löst einen Fehler aus. Mehrere Richtlinien sind zulässig, wenn sie zu derselben Maske führen (z. B. die gleiche UDF mit denselben Argumenten). Siehe Problembehandlung für mehrere Filter oder Masken.
- Eine ABAC-Richtlinie kann bis zu drei Spaltenbedingungen in ihrer
MATCH COLUMNSKlausel enthalten. - Es gibt keine Informationsschematabelle für ABAC-Richtlinien. Die
information_schema.row_filters- undinformation_schema.column_masks-Tabellen zeigen nur Zeilenfilter und Spaltenmasken an, die direkt auf Tabellen angewendet werden. Sie zeigen zur Laufzeit keine Definitionen von ABAC-Richtlinien noch die daraus abgeleiteten Filter und Masken an. - Einschränkungen von ABAC auf dedizierter Compute-Umgebung finden Sie unter Einschränkungen.
Einschränkungen von Zeilenfiltern und Spaltenmasken finden Sie unter Einschränkungen.