Databricks hat sich seit langem als wichtiger Akteur in der modernen Datenlandschaft etabliert und bietet durch seine Lakehouse-Architektur eine einheitliche Plattform für Data Engineering, Analytik, maschinelles Lernen und KI. Da immer mehr Unternehmen Databricks einsetzen, um Daten aus verschiedenen Quellen zu integrieren, erweiterte Analysen zu erstellen und datengesteuerte Entscheidungen nahezu in Echtzeit zu unterstützen, hat die Bedeutung einer robusten Datensicherheit und -governance zugenommen.
Für einen tieferen Einblick, wie Databricks in der Praxis genutzt wird, um mit Daten zu interagieren und Erkenntnisse zu gewinnen, empfehlen wir unseren vorherigen Blogbeitrag über das Chatten mit Ihren Daten mithilfe von Agent Bricks in Databricks.
Ein zentrales Thema bei der Integration der Plattform ist die Frage, wie der Zugriff auf Daten genau geregelt werden soll. Wenn Teams wachsen und Daten komplexer werden, ist es entscheidend, sicherzustellen, dass die richtigen Personen und Gruppen über die entsprechenden Zugriffsrechte verfügen, während gleichzeitig die Kontrolle und die Einhaltung von Vorschriften gewährleistet bleiben. Hier kommen Zugriffskontrollmodelle wie RBAC (Role-Based Access Control), RLS (Row-Level Security) und ABAC (Attribute-Based Access Control) ins Spiel.
In einer Databricks-Umgebung bieten diese Modelle eine Möglichkeit, Datenzugriffsrichtlinien auf mehrschichtige und skalierbare Weise über Benutzer, Datenbestände und Geschäftskontexte hinweg durchzusetzen. In diesem Artikel möchten wir diese Ansätze zur Zugriffskontrolle untersuchen und erläutern, wie sie funktionieren und warum sie für den Aufbau einer sicheren, effizienten und konformen Datenumgebung in großem Maßstab entscheidend sind.
Account-Level-Rollen
Auf der höchsten Sicherheitsebene innerhalb von Databricks regeln Account-Rollen, wer Zugriff auf die Verwaltungsfunktionen und Datenressourcen der gesamten Plattform hat. Diese Rollen ermöglichen es Administratoren, Benutzerberechtigungen über verschiedene Arbeitsbereiche hinweg zu verwalten. Zu den Rollen auf Account-Ebene gehören in der Regel „Admins“, „Users“ und „Service Principals“, die jeweils unterschiedliche Zugriffsrechte für die Konfiguration der Databricks-Umgebung und des Metastores besitzen.
Werkzeuge zur Steuerung auf Workspace-Ebene
Die Zugriffsverwaltung auf Workspace-Ebene bei Databricks bedeutet, den Zugriff auf Notebooks, Cluster und Jobs auf der Databricks-Plattform zu beschränken. Dazu gehört die Festlegung von Berechtigungen, um zu steuern, wer Ressourcen innerhalb eines Workspaces erstellen, ändern und anzeigen darf. Diese Kontrollmechanismen ermöglichen eine detailliertere Zugriffsverwaltung, sodass Teams an gemeinsam genutzten Ressourcen zusammenarbeiten können, während sensible Ressourcen auf bestimmte Benutzergruppen beschränkt bleiben.
Berechtigungen und Inhaberschaft für Unity Catalog
Unity Catalog ist eine einheitliche Lösung für Datenmanagement und -governance, die fest in das Databricks-Ökosystem integriert ist und dazu dient, die Verwaltung von Daten, Notebooks und Machine-Learning-Modellen in Databricks zu zentralisieren. Mit Unity Catalog können Sie detaillierte Zugriffskontrollen auf der Grundlage bestimmter Datenbestände definieren und durchsetzen. Zu den Berechtigungen gehört die Gewährung des Zugriffs auf Tabellen, Views und Schemata für Benutzer oder Gruppen mit unterschiedlichen Berechtigungsstufen, wie z. B. „SELECT“, „INSERT“ oder „MODIFY“. Die Eigentümerschaft ist ein weiterer wichtiger Grundsatz von Unity Catalog, da sie bestimmt, wer die Daten verwalten und den Zugriff darauf delegieren kann, wodurch sichergestellt wird, dass die richtigen Stakeholder stets die volle Kontrolle über ihre Daten haben.
Diese Berechtigungen können über den SQL-Workspace unter Verwendung der üblichen SQL-Syntax festgelegt werden. So könnten beispielsweise die Berechtigungen für eine Gruppe „finance_analysts“ festgelegt werden:
GRANT USE CATALOG ON CATALOG main TO `finance_analysts`;
GRANT USE SCHEMA ON SCHEMA main.finance TO `finance_analysts`;
GRANT SELECT ON TABLE main.finance.transactions TO `finance_analysts`;
Kontrollen auf Datenebene - Zeilenfilter und Spaltenmasken
Databricks umfasst eine Reihe von Sicherheitskontrollen auf Datenebene, mit denen Administratoren Sicherheit auf Zeilenebene (Row Level Security - RLS) und Sicherheit auf Spaltenebene (Column Level Security - CLS) implementieren können. Zeilenfilter ermöglichen eine präzisere Verwaltung des Datenzugriffs, indem sie basierend auf bestimmten Bedingungen (z. B. Benutzerrolle, geografischer Standort) einschränken, welche Zeilen ein Benutzer einsehen darf. Spaltenmasken hingegen ermöglichen es Unternehmen, sensible Daten innerhalb von Spalten zu verbergen (z. B. Kreditkarteninformationen oder private Wohnadressen). Zusammen tragen diese Kontrollen dazu bei, sicherzustellen, dass nur autorisierte Benutzer auf die entsprechenden Daten zugreifen können.
Was RBAC in Databricks bedeutet
Die rollenbasierte Zugriffskontrolle (Role-Based Access Control - RBAC) bildet die Grundlage für die Sicherheit in Databricks. Bei RBAC werden den Benutzern Rollen zugewiesen, und jede Rolle verfügt über spezifische Berechtigungen, die festlegen, welche Aktionen ein Benutzer ausführen darf. Dies umfasst alles von der Erstellung von Clustern bis hin zum Zugriff auf Datenbestände. RBAC trägt dazu bei, das Prinzip der geringsten Privilegien durchzusetzen, und stellt sicher, dass Benutzer nur Zugriff auf die Ressourcen haben, die für ihre Tasks erforderlich sind.
Rollen, Gruppen, Berechtigungen, Eigentumsrechte und delegierte Verwaltung
In Databricks wird RBAC über Rollen und Gruppen verwaltet. Rollen werden Benutzern zugewiesen und legen deren Berechtigungen fest, während Gruppen dazu dienen, Benutzer anhand ähnlicher Zuständigkeiten zusammenzufassen. Berechtigungen werden über „Grants“ erteilt, die festlegen, welche Aktionen Benutzer an Ressourcen wie Notebooks oder Clustern ausführen dürfen. Eigentumsrechte beschreiben die Fähigkeit, Ressourcen zu verwalten und Berechtigungen zuzuweisen, während die delegierte Verwaltung es bestimmten Benutzern ermöglicht, spezifische Aspekte der Databricks-Umgebung zu verwalten, wodurch eine Kontrollhierarchie entsteht. Diese mehrschichtige Struktur trägt dazu bei, die Zugriffsverwaltung zu vereinfachen und zu skalieren.
Stärken und Grenzen von RBAC allein
RBAC ist äußerst effektiv für die Verwaltung allgemeiner Zugriffskontrollen, z. B. welche Benutzer Ressourcen innerhalb von Databricks anzeigen oder bearbeiten dürfen. Es ist einfach zu implementieren und funktioniert gut, wenn Benutzerrollen klar und vorhersehbar sind. Allerdings hat RBAC allein Einschränkungen, insbesondere wenn der Datenzugriff anhand detaillierterer Kriterien eingeschränkt werden muss, wie beispielsweise die Daten innerhalb einer bestimmten Tabelle oder einer bestimmten Zeile. Hier kommen zusätzliche Sicherheitsmodelle wie RLS und ABAC ins Spiel, da sie die detaillierte Kontrolle bieten, die RBAC fehlt.
Funktionsweise von Zeilenfiltern
Row-Level Security (RLS) ist eine Funktion, mit der Unternehmen den Zugriff auf bestimmte Zeilen in einem Datensatz basierend auf den Merkmalen oder Attributen des jeweiligen Benutzers einschränken können. So kann es beispielsweise vorkommen, dass ein Benutzer nur Daten sehen darf, die sich auf die eigene Abteilung oder Region beziehen. RLS-Richtlinien werden mithilfe von Filterbedingungen implementiert, die die Anzahl der Zeilen begrenzen, die bei einer Abfrage eines Datensatzes durch einen Benutzer zurückgegeben werden. Dadurch wird sichergestellt, dass Benutzer nur auf Daten zugreifen können, für deren Anzeige sie autorisiert sind.
Funktionsweise von Spaltenmasken
Column-Level Security (CLS) ermöglicht es Unternehmen mithilfe von Spaltenmasken, bestimmte Spalten in einem Datensatz zu maskieren oder zu verschleiern, wodurch sichergestellt wird, dass sensible Daten vor unbefugten Benutzern verborgen bleiben. So kann beispielsweise ein Benutzer ohne entsprechende Berechtigungen eine maskierte Version der vollständigen E-Mail-Adresse eines Kunden sehen, bei der ein Teil der Daten unkenntlich gemacht wurde (z. B. indem nur der Anfangsbuchstabe und die Adresse des Providers angezeigt werden). Spaltenmasken ermöglichen es Unternehmen, die Vollständigkeit ihrer Daten zu gewährleisten und gleichzeitig einen kontrollierten Zugriff auf sensible Informationen zu bieten.
Typische Beispiele mit personenbezogenen Daten, geografischen Daten und Tenant-Isolierung
RLS und CLS sind besonders nützlich für Szenarien mit sensiblen Daten wie personenbezogenen Daten (PII), geografischen Daten oder Tenant-Isolierung in Multi-Tenant-Umgebungen. Beispielsweise können Finanzinstitute RLS nutzen, um den Zugriff auf Accounts basierend auf dem geografischen Standort einzuschränken und so sicherzustellen, dass nur Benutzer in einer bestimmten Region lokale Kundendaten einsehen können. Ebenso können Spaltenmasken angewendet werden, um Kreditkarteninformationen zu verschleiern, sodass autorisierte Benutzer die letzten vier Ziffern, nicht jedoch die vollständige Nummer sehen können.
Wo manuelle Richtlinien zum Einsatz kommen
Obwohl RLS und CLS eine leistungsstarke Layer der Datensicherheit bieten, gibt es dennoch Fälle, in denen manuelle Richtlinien erforderlich sein können. Beispielsweise können bestimmte Ausnahmen oder spezifische Geschäftsregeln benutzerdefinierte Zugriffskontrollen erfordern, die über die allgemeine Anwendung von RLS oder CLS hinausgehen. In solchen Fällen ermöglichen manuelle Richtlinien Datenadministratoren, detaillierte Zugriffsregeln auf Basis einzelner Tabellen oder Spalten festzulegen, um die Einhaltung organisatorischer oder regulatorischer Anforderungen sicherzustellen.
Was ist ABAC in Unity Catalog
Die attributbasierte Zugriffskontrolle (Attribute-Based Access Control - ABAC) ist ein besonders dynamisches und flexibles Modell, das RBAC und RLS ergänzt. ABAC nutzt Attribute wie Benutzerrollen, Daten-Tags und andere Kontextinformationen, um Zugriffskontrollrichtlinien zu definieren und durchzusetzen. In Unity Catalog ermöglicht ABAC es Unternehmen, Richtlinien auf der Grundlage dieser Attribute anzuwenden, beispielsweise indem festgelegt wird, dass ein Benutzer mit einem bestimmten Abteilungs-Tag nur auf Daten zugreifen darf, die mit demselben Abteilungs-Tag versehen sind. Dies ermöglicht eine feinere Zugriffskontrolle, insbesondere in großen und komplexen Datenumgebungen.
Governance-Tags und richtliniengesteuerte Durchsetzung
ABAC stützt sich in hohem Maße auf Governance-Tags, die dazu dienen, Daten anhand ihrer Sensibilität, ihres Verwendungszwecks oder anderer Attribute zu klassifizieren und zu kategorisieren. Diese Tags werden dann von ABAC-Richtlinien herangezogen, um den Datenzugriff zu regeln. Beispielsweise kann ein Tag wie „PII“ (Personally Identifiable Information) auf Spalten mit sensiblen Daten angewendet werden, und eine ABAC-Richtlinie kann sicherstellen, dass nur Benutzer mit der entsprechenden Sicherheitsfreigabe darauf zugreifen können. Diese richtliniengesteuerte Durchsetzung ermöglicht eine konsistente und skalierbare Governance über große Datensätze hinweg.
Wie ABAC RBAC ergänzt
ABAC ergänzt RBAC und ermöglicht so eine feinere Zugriffskontrolle. Während RBAC allgemeine Zugriffsrechte auf Benutzerebene definiert (z. B. welche Benutzer auf welche Ressourcen zugreifen dürfen), ermöglicht ABAC, dass Zugriffsentscheidungen auf dynamischen Faktoren wie den Attributen des Benutzers und den Eigenschaften der Daten basieren. Zusammen bieten RBAC und ABAC einen mehrschichtigen Sicherheitsansatz, wobei RBAC Rollen und Gruppen verwaltet und ABAC Richtlinien auf der Grundlage von Kontext und Attributen durchsetzt.
Warum Databricks ABAC für die meisten Anwendungsfälle empfiehlt
Databricks empfiehlt ABAC als bevorzugten Ansatz für die meisten Anwendungsfälle, da es im Vergleich zu herkömmlichen RBAC- und RLS-Modellen eine größere Flexibilität und Skalierbarkeit bietet. Da Unternehmen wachsen und immer größere Datenmengen mit unterschiedlichen Zugriffsanforderungen verarbeiten, bietet ABAC ein anpassungsfähigeres Modell, das sich an veränderte Datenkontexte und Benutzerattribute anpassen lässt. Es ermöglicht eine effizientere und konsistentere Verwaltung des Zugriffs auf eine Vielzahl von Datenbeständen und verbessert sowohl die Sicherheit als auch die betriebliche Effizienz.
Welches Problem löst jedes Modell?
Jedes der beschriebenen Sicherheitsmodelle - RBAC, RLS und ABAC - löst ein spezifisches Problem bei der Verwaltung des Datenzugriffs:
RBAC verwaltet den allgemeinen Zugriff auf Ressourcen auf der Grundlage von Rollen und Zuständigkeiten und stellt sicher, dass Benutzer nur über die für ihre Arbeit erforderlichen Berechtigungen verfügen.
RLS beschränkt den Zugriff auf bestimmte Zeilen innerhalb von Datensätzen und stellt so sicher, dass Benutzer nur Daten einsehen können, die für ihre Rolle oder ihren Kontext relevant sind.
Wie sie sich überschneiden
Obwohl diese Modelle jeweils unterschiedliche Anforderungen erfüllen, ergänzen sie sich gegenseitig. RBAC bildet die Grundlage für die Verwaltung von Benutzerrollen und allgemeinen Zugriffsrechten, während RLS und ABAC als weitere Ebenen für eine noch detailliertere Steuerung sorgen. RLS gewährleistet den Schutz sensibler Datensätze, und ABAC verfeinert die Zugriffsrechte auf der Grundlage dynamischer Attribute wie Benutzer-Tags oder Datenklassifizierungen. Zusammen bilden diese Modelle ein robustes Sicherheitsframework, das sich auf komplexe Umgebungen skalieren lässt.
Wie sie miteinander kombiniert werden sollten
Für optimale Sicherheit sollten Unternehmen diese Modelle kombiniert einsetzen. Beginnen Sie mit RBAC, um Benutzerrollen zu verwalten und einen umfassenden Zugriff auf Ressourcen zu gewähren. Implementieren Sie anschließend RLS, um den Zugriff auf bestimmte Zeilen innerhalb von Datensätzen einzuschränken und sicherzustellen, dass Benutzer nur die für sie relevanten Daten sehen können. Wenden Sie schließlich ABAC für eine fein abgestufte Kontrolle an, wobei Sie geregelte Tags und Richtlinien nutzen, um kontextbasierte Zugriffsentscheidungen durchzusetzen. Dieser mehrschichtige Ansatz bietet eine umfassende und skalierbare Sicherheitslösung, die den Anforderungen moderner Datenumgebungen gerecht wird.
Ein einfaches Entscheidungsmodell
Verwenden Sie RBAC, um allgemeine Benutzerrollen zu definieren und allgemeine Zugriffsberechtigungen zu verwalten.
Fügen Sie RLS für Datensätze hinzu, die Einschränkungen auf Zeilenebene erfordern, beispielsweise die Beschränkung des Zugriffs auf Kundendaten nach Region oder Abteilung.
Setzen Sie ABAC ein, wenn Sie mehr Flexibilität benötigen, z. B. bei der Verwaltung des Zugriffs auf Basis von Benutzerattributen, Tags oder komplexen Geschäftsregeln.
Durch die kombinierte Nutzung dieser Modelle können Unternehmen ein sicheres, konformes und effizientes Daten-Governance-Framework schaffen, das sich an ihre Anforderungen anpassen lässt.
Mit dem Wachstum von Databricks-Umgebungen wird die Zugriffskontrolle ebenso sehr zu einer geschäftlichen wie zu einer technischen Entscheidung. RBAC, RLS und ABAC decken jeweils unterschiedliche Aspekte dieser Herausforderung ab und können gemeinsam genutzt werden, um einen praktischen Rahmen für den Schutz sensibler Daten zu schaffen, ohne dabei die effiziente Arbeit der Teams zu beeinträchtigen. Mit Unity Catalog lässt sich diese Governance plattformübergreifend strukturierter und skalierbarer verwalten.
Mit Blick auf die Zukunft werden sich Datenzugriffsmodelle weiter in Richtung einer stärker automatisierten, richtliniengesteuerten Governance verlagern, da Unternehmen den Einsatz von Analysen und KI ausweiten. Für Entscheidungsträger ist die wichtigste Erkenntnis klar: Die frühzeitige Einführung des richtigen Zugriffsmodells schafft eine solidere Grundlage für Wachstum, Compliance und Vertrauen.
Für Unternehmen, die derzeit ihre Databricks-Konfiguration überprüfen, ist dies ein guter Zeitpunkt, um genauer zu prüfen, ob die aktuellen Zugriffskontrollen auch dann noch Bestand haben, wenn Datenmengen, Nutzerzahlen und regulatorische Anforderungen steigen. Eine klare Governance-Strategie heute kann morgen kostspielige Komplexität verhindern.
Wenn Sie eine externe Perspektive auf Ihre Konfiguration wünschen, unterstützen wir Sie gerne.