Technologien

Row Level Security - Was ist das? Und wofür ist das sinnvoll?

Geschrieben von

René Elgersma

Nov 2023

Row Level Security (RLS) ist ein Sicherheitsmechanismus in Business Intelligence-Systemen und Datenbanken. Sie dient dazu, den Zugriff auf einzelne Datensätze oder Zeilen in Tabellen zu kontrollieren und zu beschränken. RLS ermöglicht es, bestimmten Benutzern oder Benutzergruppen nur diejenigen Daten anzuzeigen, auf die sie gemäß ihren Berechtigungen zugreifen dürfen.

Beispiel eines Finanzreports ohne Row Level Security: In dieser unbeschränkten Ansicht haben Benutzer vollen Zugriff auf alle Daten, ohne jegliche Beschränkungen

Row Level Security ist besonders nützlich, wenn unterschiedliche Benutzer oder Gruppen innerhalb einer Organisation auf dieselben Datenbanken oder Berichte zugreifen, jedoch unterschiedliche Zugriffsrechte haben. Es bietet eine granulare Sicherheitskontrolle auf Zeilenebene, wodurch vertrauliche Informationen geschützt werden können. Ein klassisches Beispiel wäre, dass Vertriebsmitarbeiter nur auf die Verkaufsdaten ihrer eigenen Region zugreifen dürfen, während Finanzprüfer alle Finanzdaten einsehen können.

Beispiel für Row Level Security: In dieser Ansicht darf der Benutzer „Test-User“ nur bestimmte Umsätze einsehen, wodurch der Zugriff auf sensible Informationen beschränkt wird.

Umsetzung einer dynamischen Row Level Security: Technische Aspekte

Die Implementierung einer dynamischen RLS in Business Intelligence-Systemen und Datenbanken erfordert ein Verständnis der technischen Aspekte.

Berechtigungstabellen (User_Permissions): In der Regel benötigen Sie eine spezielle Tabelle, in der die Berechtigungen für Benutzer oder Benutzergruppen definiert werden. Diese Tabelle kann Informationen wie Benutzer-IDs, Rollen und die Daten definieren, auf die sie zugreifen dürfen.

DAX-Statements: In vielen BI-Systemen, insbesondere in Verbindung mit Tabular Models, werden Berechtigungen häufig durch Data Analysis Expressions (DAX) definiert. Dies sind spezielle Formeln, die den Zugriff auf Daten regeln. Ein typisches DAX-Statement könnte so aussehen: "User_Permissions[User-Email] = USERPRINCIPALNAME()". Dies bedeutet, dass die Benutzerberechtigungen aufgrund ihrer E-Mail-Adresse festgelegt werden.

Hierarchien und Beziehungen: Row Level Security ist besonders nützlich in komplexen Hierarchien. Die Datenmodelle sollten entsprechend gestaltet sein, um die hierarchischen Beziehungen zwischen verschiedenen Elementen zu berücksichtigen. Das kann die Definition von Parent-Child-Hierarchien und deren Integration in das Datenmodell einschließen.

Testing und Überwachung: Nach der Implementierung von Row Level Security ist es entscheidend, umfassende Tests durchzuführen, um sicherzustellen, dass die Berechtigungen wie erwartet funktionieren. Außerdem sollte ein Überwachungssystem eingerichtet werden, um ungewöhnliches Verhalten oder Sicherheitsverletzungen zu erkennen.

Performance-Überlegungen: Die Implementierung von Row Level Security kann sich auf die Abfrageleistung auswirken, insbesondere in großen Datenbanken. Es ist wichtig, die Auswirkungen auf die Performance zu überwachen und gegebenenfalls Optimierungen vorzunehmen.

Schulung und Dokumentation: Die Benutzer und Administratoren sollten geschult werden, wie Row Level Security funktioniert und wie sie Berechtigungen effektiv verwalten können. Eine klare Dokumentation der Berechtigungsregeln und -verfahren ist ebenfalls entscheidend.

Fazit

Insgesamt hilft Row Level Security, die Datensicherheit zu gewährleisten, Compliance-Anforderungen zu erfüllen und die Datenschutzrichtlinien einzuhalten, indem es sicherstellt, dass Benutzer nur auf die Daten zugreifen, die für ihre jeweiligen Aufgaben relevant sind.

Über den Autor

René Elgersma arbeitet seit 2018 im Bereich Data Analytics bei Milestone Consult. In dieser Zeit hat er an verschiedenen BI-Projekten, unter anderem in der chemischen und pharmazeutischen Industrie mitgewirkt. Seine akademische Ausbildung umfasst einen Bachelor of Science in Mathematik mit einem Schwerpunkt auf Analysis und Differentialgeometrie.​

Genau Ihr Thema?

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla.

Sprechen Sie uns an