Zum Inhalt springen
Links überspringen
Power BI Row Level Security

Row-Level Security (RLS) in Power BI für Organisationshierarchien

Portrait von Kevin Schwarz, Mitgründer von novalutions.
Kevin SchwarzCEO & Co-Founder

In diesem Artikel erfährst du, wann Lokale KI oder Cloud-KI für dein Unternehmen die bessere Wahl ist. Während Cloud-KI mit Flexibilität überzeugt, punktet Lokale KI durch maximale Datensicherheit und Echtzeit-fähigkeit. Wir zeigen dir die Vor- und Nachteile beider Ansätze und wie du die richtige Strategie findest.

Was ist Row-Level Security (RLS)?
Row-Level Security (RLS) in Power BI schränkt den Zugriff auf einzelne Datenzeilen ein. Jeder Benutzer sieht nur jene Daten, für die er berechtigt ist.

Warum RLS für Hierarchien?
RLS wird komplexer, wenn die Berechtigungen einer mehrstufigen Organisationshierarchie folgen. Beispielsweise soll:

    • Ein Manager Daten seiner Mitarbeiter sehen
    • Ein Bereichsleiter alle Daten seiner Teams sehen
  • Ein normaler Mitarbeiter nur seine eigenen Daten sehen

Grundprinzipien von RLS

  • Rollen in Power BI:
    • Definieren Filterregeln mit DAX-Ausdrücken (True/False) pro Zeile.
    • Rollen werden Benutzern im Power BI Service zugewiesen.
    • RLS filtert nur Zeilen, nicht Spalten oder Tabellen.
  • Statisches vs. Dynamisches RLS:
    • Statisch: Eine Rolle pro Berechtigungsstufe (schlecht skalierbar).
    • Dynamisch: Nutzt Funktionen wie USERNAME() oder USERPRINCIPALNAME(), um Rollen zur Laufzeit flexibel zu steuern (empfohlen).

Herausforderungen bei hierarchischem RLS

  • Manager sollen alle Daten ihrer direkten und indirekten Untergebenen sehen.
  • Mitarbeiter dürfen keine Daten von Kollegen auf gleicher Ebene oder Vorgesetzten sehen.

Einfache Filter wie ManagerID = User reichen hier nicht aus. Die Lösung: Parent-Child-Hierarchien.

Parent-Child-Hierarchie in DAX

Eine Mitarbeitertabelle enthält:

  • EmployeeID: Mitarbeiter-ID
  • ManagerID: Direkter Vorgesetzter

Wichtige DAX-Funktionen:

  • PATH(EmployeeID, ManagerID) generiert den gesamten Hierarchiepfad.
  • PATHCONTAINS(Path, UserID) prüft, ob ein Manager im Pfad vorkommt.

Schritt-für-Schritt Umsetzung

1. Datenmodell vorbereiten

Tabellenstruktur Beispiel:

EmployeeID Name ManagerID
1 Yoda (kein)
2 Obi-Wan Kenobi 1
3 Leia Organa 1
4 Darth Vader 2

2. Hierarchiepfad berechnen

Neue berechnete Spalte:

Hierarchy Path = PATH(Employee[EmployeeID], Employee[ManagerID])

3. Aktuellen User identifizieren

Measure erstellen:

Current User ID = LOOKUPVALUE(Employee[EmployeeID], Employee[AD Account], USERPRINCIPALNAME())

4. RLS-Rolle definieren

Neue Rolle mit Filterregel:

PATHCONTAINS(Employee[Hierarchy Path], [Current User ID])

5. Testen und Veröffentlichen

  • Rolle in Power BI Desktop testen (View as Role).
  • Bericht im Power BI Service veröffentlichen und Benutzer zur Rolle hinzufügen.

Tipps zur Optimierung

  • Nutze dynamisches statt statisches RLS.
  • Berechne die Hierarchie-Pfadspalte im Voraus für bessere Performance.
  • Sichere Datenqualität: eindeutige EmployeeIDs und korrekte ManagerIDs.
  • Monitoring mit Performance Analyzer, um Leistung zu optimieren.

Mit diesem Ansatz lässt sich RLS flexibel, performant und übersichtlich umsetzen.

 

Row-Level Security (RLS) in Power BI für Organisationshierarchien - Kontakt

Dein persönlicherKontakt

Wir freuen uns über jede Anfrage und werden diese so schnell wie möglich beantworten.

Kontakt
Bitte aktiviere JavaScript in deinem Browser, um dieses Formular fertigzustellen.
Name
Row-Level Security (RLS) in Power BI für Organisationshierarchien in Köln

Gute Geschäftsbeziehungen beginnen persönlich.

Kontaktiere uns gerne per Mail oder Telefon, und wir vereinbaren einen persönlichen Termin.

0221 - 29245920

info@novalutions.de

Termin buchen

Portrait von Kevin Schwarz, Mitgründer von novalutions.

Hinterlassen Sie einen Kommentar