Der folgende Blogbeitrag soll sich mit den Zugriffsberechtigungen in Power BI Berichten befassen. Hierbei wollen wir insbesondere untersuchen, in wie weit sich Benutzerberechtigungen auf den Datenquellen auf die Power BI Berichte auswirken.
Als Datengrundlage nutzen wir in unserem Beispiel die Adventure Works Datenbank. Diese wird als Quelle für einen einfachen Power BI Bericht in Excel genutzt. Dazu wird eine Verbindung zwischen der erstellten Arbeitsmappe in Excel und der Datenbank hergestellt. Wir richten die Verbindung so ein, dass sich der Power BI Bericht per „Windows Authentifizierung“ an der Datenquelle anmeldet. Anschließend wählen die benötigten Tabellen aus und laden Sie in unsere Arbeitsmappe.
In unserem Beispielbericht stellen wir die Verkaufszahlen von Produktkategorien und Jahren in einer Matrix gegenüber. Die Matrix bietet eine einfach Drill-Down Funktionalität, sodass sich Details zu Monaten und Unterkategorien anzeigen lassen. Das Ergebnis ist in der folgenden Abbildung zu sehen.
Im nächsten Schritt passen wir die Berechtigungen der Adventure Works Datenbank an. Der Berichtsersteller behält weiterhin vollen Zugriff auf die Datenbank. Allen anderen Benutzern werden dagegen die Rechte entzogen.
Nun öffnen wir die Arbeitsmappe mit dem Power BI Bericht mit einem zweiten Benutzeraccount. Der Benutzer kann den Bericht ohne Probleme öffnen und die Daten betrachten und sogar das im Hintergrund liegende Datenmodell öffnen und bearbeiten. Erst der Versuch die Daten zu aktualisieren führt zu einer Fehlermeldung.
Da der zweite Benutzer kein Zugriff auf die Datenbank hat, darf er die Verbindung zwischen der Datenbank und der Arbeitsmappe bzw. den Daten und dem Datenmodell nicht aktualisieren. Dennoch hat er weiter Zugriff auf die Daten, die bereits in der Excel-Arbeitsmappe hinterlegt sind. Auch die Drill-Down-Funktionalität ist weiterhin gegeben.
Testweise modifizieren wir die Einstellungen der Datenquelle, sodass direkt beim Start des Berichts die Daten aktualisiert werden sollen.
Die Änderung der Datenquelle führt dazu, dass der zweite Benutzer nun direkt beim Öffnen die Fehlermeldung erhält, dass die Aktualisierung fehlgeschlagen ist. Die Daten werden aber weiterhin in der Arbeitsmappe gespeichert und sind für den zweiten Benutzer zugreifbar. Für die Verbindung zu einzelnen Tabellen kann zusätzlich die Option „Daten vor dem Speichern des Arbeitsblatts aus dem externen Datenbereich entfernen“ aktiviert werden. Diese Option erzwingt eine Aktualisierung der Daten beim Öffnen der Arbeitsmappe. Wenn aber wie in unserem Fall mehrere Tabellen abgefragt werden erstellt Excel im Hintergrund ein Datenmodell und diese Option ist nicht mehr verfügbar. Das gilt auch, wenn alle Tabellen einzeln mit der Arbeitsmappe verbunden werden. In diesem Fall ist die Option zwar für die einzelnen Datenverbindungen verfügbar. Für den Power BI Bericht wird aber trotzdem ein Datenmodell erstellt um die Beziehungen zwischen den Tabellen abbilden zu können.
Interessant ist in diesem Zusammenhang, dass beim Zugriff auf Tabular Cubes kein Datenmodell in der Arbeitsmappe hinterlegt wird. Die Daten werden in diesem Fall beim Öffnen aus dem Cube geladen und nutzen dessen Datenmodell. Ohne Zugriffsberechtigung auf die entsprechenden Cubes und die Datenbanken können die Daten dann nicht angezeigt werden.
Fazit: Es gilt Vorsicht beim Speichern von brisanten Daten in Power BI Berichten. Wenn keine Vorkehrungen getroffen werden, kann jeder Benutzer mit Zugriff auf die Excel- Arbeitsmappe auch alle in der Datei enthaltenen Daten lesen selbst wenn er eigentlich nicht auf die Datenquellen berechtigt ist. Es gilt also wichtige Excel- Arbeitsmappen vor unberechtigtem Zugriff zu schützen oder einen Tabular Cube als Datenquelle zu verwenden.