Serie | Microsoft Power Platform – Sicherheitskonzepte in Microsoft Power BI – Object, Page & Organisation Level Security 

Object Level Security (OLS)

Im Februar 2022 haben die Microsoft-Ingenieure OLS veröffentlicht. Dieses Feature ermöglicht nicht nur Zeilen, sondern Spalten Ihres Datensatzes zu filtern. Mit OLS können Sie ganze Spalten einer Tabelle auswählen, die für bestimmte Benutzer ausgeblendet werden sollen.

Um dies zu erreichen, benötigen wir ein Drittanbieter-Tool, das eine Verbindung zu unserem lokalen Datenmodell herstellt und es konfiguriert.

Wir werden Tabular Editor verwenden. Tabular Editor ist ein Produktivitätswerkzeug für Analysis Services und Power BI Tabular Modeling. Es gibt eine kommerzielle Version (Tabular Edition 3) und eine kostenlose Open-Source-Version (Tabular Edition 2). Laden Sie die kostenlose Version aus dem GitHub Repo HIER herunter. Die v3 hat mehr Funktionen, aber die v2 reicht aus, um OLS in unserem Bericht zu implementieren.

Nach der Installation erstellen Sie eine neue Rolle namens “OLS”.

Power BI Obejct Level Security Rolle definieren

Danach öffnen wir Tabular Editor und verbinden uns mit dem Bericht.

Auf der rechten Seite in Tabular Editor finden wir mit einer Baumstruktur alle Komponente unseres Modells. Wir können alle für diesen Bericht erstellten Rollen leicht finden:

Power BI Obejct Level Security Tabular Editor Übersicht

Wenn wir auf OLS klicken, sehen wir einige Informationen und vor allem eine Kategorie unter “Security”. Die Zeile “Table Permission” bezeichnet OLS.

Power BI Object Level Security Tabular Editor Table Permission

Wir erweitern diese Kategorie und suchen die Tabelle ” Customer”, die wir für diese Benutzer ausblenden wollen. Setzen Sie sie auf “Keine” und vergessen Sie nicht den Stand zu speichern.

Power BI Object Level Security Tabular Editor Table Permission Default

Zurück in Power BI, wenn wir unseren Bericht als “OLS” betrachten, können wir die Tabelle “Customer” nirgends sehen

Power BI Obejct Level Security Rolle in PBI

 

Page/Tab Level Security

Jetzt können wir eine Stufe höher gehen und ganze Seiten Ihres Berichts betrachten. Diese Sicherheitsstufe bezieht sich auf die Visualisierung und nicht auf die Daten selbst.

Es gibt keine offizielle Unterstützung für die Sicherheit auf Seiten-/Visualisierungsebene von Microsoft, aber wir können einen Workaround dafür finden.

Eine Seite besteht aus visuellen Elementen und indirekt aus Daten, die für diese visuellen Elemente verwendet werden. Es gibt oft verschiedene Benutzer für denselben Power BI-Bericht und nicht jede Seite und jede Visualisierung kann für jeden Benutzer dieses Berichts geeignet sein.

Bei diesem Workaround geht es nicht um Sicherheit, sondern eher um die Benutzerfreundlichkeit. Diese Funktion sollte nicht implementiert werden, wenn ein Benutzer nicht in der Lage sein soll, die Daten zu sehen, sondern eher, wenn der Benutzer eine andere Benutzererfahrung sehen soll.

Um jedoch Sicherheit auf Seitenebene zu implementieren, müssen wir RLS dazu bringen, die Benutzer automatisch auf die richtigen Seiten umzuleiten.

Wie wir bereits gesagt haben, ist dies keine Sicherheitsoption, und wenn der Benutzer die URL für die genaue Seite erhält, kann er in seinem Browser alle visuellen Elemente sehen.

 

1 – Seiten für den Bericht erstellen

Zuerst wollen wir verschiedenen Seiten für den Bericht erstellen.

Die erste Seite „Homepage“ ist die einzige sichtbare Seite des Berichts. Die anderen Seiten sind absichtlich versteckt. Am Ende bekommen wir diese Struktur:

Power BI Page Level Security Ansicht PBI

2 – Zugriffsrechtestabelle erstellen

Diese Tabelle hat nur drei Spalten

– ID des Mitarbeiters

– Benutzername des Mitarbeiters

– Seite, auf die er Zugriff hat

Wenn der Benutzer Zugriff auf viele Seiten haben muss, muss dieser Benutzer mehrfach in die Tabelle eingetragen werden.

Diese Tabelle sieht z.B. so aus:

Power BI Page Level Security Tabelle User

3 – Slicer erstellen

Erstellen Sie einen neuen Slicer und fügen Sie die Spalte “Seite” aus der Zugriffsrechtetabelle hinzu. Dieser Slicer muss eine Einzelauswahl sein, um nur eine Seite auf einmal auszuwählen.

Power BI Page Level Security Slicer

4 – Implementation des Filters

Als nächstes erstellen wir eine Rolle (Tab Security), die mit der Tabelle „Employee_tab_security“ mit dem DAX-Ausdruck “username = UserPrincipalName()” verknüpft ist. Es wird nach allen Benutzernamen in dieser Spalte gefiltert.

Power BI Page Level Security RLS in DAX

5 – DAX Measure schreiben

Sie müssen nun eine neue Maßnahme erstellen, die den Wert der Seiten auswählt, die Sie mit dem ausgewählten Wert des Slicers erfassen werden, sobald dieser automatisch gecliqued wird.

Schreiben Sie dazu die folgende DAX-Maßnahme:

Selected Page = SELECTEDVALUE(Employee_tab_security[Seite])

Beschränkungen: Wenn Sie die URL der Seite freigeben, für die Sie die Seiten-Sicherheitsstufe implementiert haben, können die Benutzer, die die Seiten nicht sehen sollen, die “versteckte” Seite trotzdem sehen. Seien Sie vorsichtig mit der Freigabe von Links!

6 – Button erstellen und konfigurieren

Erstmal fügen wir einen Button auf der Seite ein:

Power BI Page Level Security Button

Es gibt zwei Konfigurationsschritte noch zu erledigen:

  • Dieser Button sollte eine Aktion auflösen (Seite wechseln)
  • Dieser Button sollte den Namen der Seite dynamisch darstellen

Für den Text werden wir eine dynamische Formatierung verwenden, um das Ergebnis unseres Filters anzuzeigen.

Power BI Page Level Security Konfiguration Button

Power BI Page Level Security Konfiguration Style

Für die Aktion gibt es eine Option, um einen Seitenwechsel in Power BI über eine Schaltfläche auszuwählen:

Power BI Page Level Security Konfiguration Page navigation

Das Ziel wird ebenfalls dynamisch eingegeben und ist das Ergebnis unserer zuvor erstellten Maßnahme.

Probieren wir unsere Lösung aus: Wenn ich als ich selbst in der Rolle “Tab Security” angemeldet bin, sehe ich, dass ich nur auf zwei von drei Seiten Zugriff habe (weil ich zweimal in der Zugriffstabelle eingetragen bin) und ich kann auf dem Button klicken, um die Seiten aufzurufen.

Auf diese Weise kann ich die Aufmerksamkeit meines Benutzers auf eine andere Seite lenken, ohne ihm sagen zu müssen, was er tun soll.

Power BI Page Level Security Ergebnis Test

Es gibt mehrere Möglichkeiten, die Seite für einen Benutzer zu sehen, der sie nicht sehen soll:

  • Exportieren des Berichts in PDF
  • den Link zu der Seite erhalten, die sie sehen sollen

 

Deshalb sollte diese Technik für den Austausch von Geschichten zwischen Benutzergruppen verwendet werden und hat keine klaren Sicherheitsmaßnahmen.

Aber die Idee, dies auf sichere Weise zu implementieren, ist nicht neu, es ist die am häufigsten gewählte Idee auf der Microsoft Office Ideas Seite!

 

Private Endpoints – “Organisation” Level Security

Obwohl es nicht offiziell ” Organisation” Level Security” heißt, gibt es eine Möglichkeit, ganze Berichte und/oder eine Organisation nur für bestimmte Benutzer zugänglich zu machen.

Wenn Sie einen Link für einige Benutzer freigeben, können nur Benutzer mit den erforderlichen Rechten den Bericht in Power BI Service öffnen.

Power BI Organisation Level Security Link teilen

Sicherheit als allgemeiner Begriff hat nicht nur mit Vertraulichkeit zu tun. Weitere Elemente sind die Integrität und die Zugänglichkeit.

Private Endpoints garantieren, dass der Datenverkehr zu den Power BI-Elementen Ihrer Organisation (z. B. Berichte oder Workspaces) immer dem von Ihrer Organisation konfigurierten Netzwerkpfad der privaten Verbindung folgt. Der Benutzerverkehr zu Ihren Power-BI-Elementen muss über die eingerichtete private Verbindung erfolgen. Sie können Power BI so konfigurieren, dass alle Anfragen, die nicht über den konfigurierten Netzwerkpfad kommen, abgelehnt werden.

Private Endpoints sind direkt mit einem in Azure definierten Teilnetz verbunden, auf das nur die zu diesem Teilnetz hinzugefügten Benutzer Zugriff haben, während allen anderen Benutzern der Zugriff verweigert wird.

 

Um dies zu implementieren, müssen mehreren Schritten

  • zunächst ein VNet (virtuelles Netzwerk) in Azure erstellt werden

Power BI Organisation Level Security VNET in Azure

  • Eine virtuelle Maschine (VM), die im besten Fall ebenfalls direkt in Azure erstellt wird
  • Ein Private Endpoint: damit könnten wir einen Zugriff auf den Bericht über dieses Subnetz beschränken, wobei eine Verbindung über die VM initiiert werden kann.

Power BI Organisation Level Security Private Endpoint einrichten

 

Durch die Beschränkung des Zugriffs auf die VM oder ein VPN könnte man den Zugriff auf einen ganzen Bericht von vornherein einschränken.

Die Verwendung privater Endpunkte mit Power BI bietet die folgenden Vorteile:

  • Private Endpunkte stellen sicher, dass der Datenverkehr über das Azure-Backbone zu einem privaten Endpunkt für Azure-Cloud-basierte Ressourcen fließt.
  • Für die Isolierung des Netzwerkverkehrs von einer nicht auf Azure basierenden Infrastruktur, z. B. einem lokalen Zugang, müssten Kunden ExpressRoute oder ein virtuelles privates Netzwerk (VPN) konfigurieren.

Nur ein Power BI-Administrator kann diese Änderungen vornehmen, was sich darauf auswirkt, wie Sie mit Ihrer gesamten Organisation mit Power BI interagieren.

Übersicht zur Microsoft Power Platform:

 

Interessiert? Dann nichts wie ab zu unserer Power BI SchulungBI Einführungsworkshop oder Power BI Performanceoptimierung. Damit Wissen nicht nur theoretisch im Kopf bleibt, sondern praktisch umgesetzt werden kann.

Haben wir Ihr Interesse geweckt? Kontaktieren Sie uns gerne.

Ihr Ansprechpartner

Datalytics Mitarbeiter Vorstellung Christoph-Espelage

Christoph Espelage

christoph.espelage@datalytics-consulting.com
+49 178 3984086