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”.
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:
Wenn wir auf OLS klicken, sehen wir einige Informationen und vor allem eine Kategorie unter “Security”. Die Zeile “Table Permission” bezeichnet OLS.
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.
Zurück in Power BI, wenn wir unseren Bericht als “OLS” betrachten, können wir die Tabelle “Customer” nirgends sehen
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:
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:
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.
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.
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:
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.
Für die Aktion gibt es eine Option, um einen Seitenwechsel in Power BI über eine Schaltfläche auszuwählen:
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.
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.
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
- 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.
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:
- Power BI Deep Dive
- Power Apps Deep Dive
- Power Automate Deep Dive
- Power Virtual Agents Deep Dive
- Sicherheitskonzepte in MS PBI – statisches Row Level Security
- Sicherheitskonzepte in MS PBI – dynamisches Row Level Security
- Sicherheitskonzepte in MS PBI – Object, Page & Organisation Level Security
- Best Practice Power BI Verwaltungsportal und Mandanteneinstellungen
- Eltern-Kind-Hierarchien in Power BI zur Abbildung von Organigrammen
Interessiert? Dann nichts wie ab zu unserer Power BI Schulung, BI Einführungsworkshop oder Power BI Performanceoptimierung. Damit Wissen nicht nur theoretisch im Kopf bleibt, sondern praktisch umgesetzt werden kann.