Sicherheit auf Zeilenebene (row-level security; RLS) mit Power BI
Die Sicherheit auf Zeilenebene (row-level security; RLS) mit Power BI kann zum Einschränken des Datenzugriffs für bestimmte Benutzer verwendet werden. Filter beschränken den Datenzugriff auf Zeilenebene, und Sie können Filter in Rollen definieren. Im Power BI-Dienst haben Benutzer*innen, die Zugriff auf einen Arbeitsbereich haben, Zugriff auf die semantischen Modelle in diesem Arbeitsbereich. RLS schränkt den Datenzugriff nur für Benutzer mit Viewer-Berechtigungen ein. Sie gilt nicht für Administratoren, Mitglieder oder Mitwirkende.
Sie können RLS für Datenmodelle konfigurieren, die mithilfe von Power BI Desktop in Power BI importiert wurden. Außerdem können Sie die RLS für semantische Modelle konfigurieren, die „DirectQuery“ verwenden. Dies ist beispielsweise für SQL Server möglich. Bei Analysis Services- oder Azure Analysis Services-Liveverbindungen konfigurieren Sie die Sicherheit auf Zeilenebene im Modell, nicht in Power BI Desktop. Die Sicherheitsoption wird nicht für semantische Liveverbindungsmodelle angezeigt.
Definieren von Rollen und Regeln in Power BI Desktop
Sie können Rollen und Regeln in Power BI Desktop definieren. Wenn Sie etwas in Power BI veröffentlichen, werden auch die Rollendefinitionen veröffentlicht.
Definition von Sicherheits-Rollen:
Importieren Sie Daten in Ihren Power BI Desktop-Bericht, oder konfigurieren Sie eine DirectQuery-Verbindung.
Hinweis
Sie können in Power BI Desktop keine Rollen für Analysis Services-Liveverbindungen definieren. Sie müssen sie im Analysis Services-Modell definieren.
Klicken Sie auf der Registerkarte Modellierung auf die Option Rollen verwalten.
Klicken Sie im Fenster Rollen verwalten auf Erstellen.
Geben Sie unter Rollen der Rolle einen Namen.
Hinweis
Sie können eine Rolle nicht mit einem Komma definieren, z. B
London,ParisRole
.Wählen Sie unter Tabellen die Tabelle aus, auf die eine DAX-Regel angewendet werden soll.
Geben Sie im Feld Tabellenfilter-DAX-Ausdruck DAX-Ausdrücke ein. Dieser Ausdruck gibt TRUE oder FALSE als Wert zurück. Beispiel:
[Entity ID] = “Value”
Hinweis
Sie können username() innerhalb dieses Ausdrucks verwenden. Beachten Sie, dass username() in Power BI Desktop das Format DOMÄNE\Benutzername aufweist. Im Power BI-Dienst und im Power BI-Berichtsserver entspricht das Format dem Benutzerprinzipalnamen des Benutzers. Alternativ können Sie userprincipalname() verwenden, wodurch der Benutzer immer im Format seines Benutzerprinzipalnamens (username@contoso.com) zurückgegeben wird.
Klicken Sie nach der Erstellung des DAX-Ausdrucks auf das Häkchen über dem Ausdrucksfeld, um den Ausdruck zu überprüfen.
Hinweis
In diesem Ausdrucksfeld trennen Sie die Argumente der DAX-Funktionen mit Kommas, auch wenn Sie ein Gebietsschema verwenden, das normalerweise Semikolon-Trennzeichen verwendet (z.B. Französisch oder Deutsch).
Wählen Sie Speichern.
In Power BI Desktop ist es nicht möglich, Benutzer einer Rolle zuzuweisen. Sie können diese Zuweisung im Power BI-Dienst vornehmen. Sie können die dynamische Sicherheit in Power BI Desktop aktivieren, indem Sie username() - oder userprincipalname() -DAX-Funktionen verwenden und die richtigen Beziehungen konfigurieren.
Standardmäßig werden beim Filtern mit Sicherheit auf Zeilenebene einzelne unidirektionale Filter verwendet, unabhängig davon, ob die Beziehungen als unidirektional oder bidirektional festgelegt wurden. Sie können die bidirektionale Kreuzfilterung mit Sicherheit auf Zeilenebene manuell aktivieren, indem Sie die Beziehung auswählen und das Kontrollkästchen Sicherheitsfilter in beide Richtungen anwenden aktivieren. Beachten Sie, dass wenn eine Tabelle Teil mehrerer bidirektionaler Beziehungen ist, diese Option nur für eine dieser Beziehungen ausgewählt werden kann. Aktivieren Sie dieses Kontrollkästchen, wenn Sie auch dynamische Sicherheit auf Zeilenebene auf der Serverebene implementiert haben, bei der die Sicherheit auf Zeilenebene auf dem Benutzernamen oder der Anmelde-ID basiert.
Weitere Informationen finden Sie unter Bidirektionale Kreuzfilterung mithilfe von DirectQuery in Power BI Desktop und im Artikel Securing the Tabular BI Semantic Model (Sichern des semantischen BI-Tabellenmodells, in englischer Sprache).
Definieren von Rollen und Regeln in Power BI Desktop mit dem erweiterten Sicherheits-Editor auf Zeilenebene (Vorschau)
Mit dem erweiterten Sicherheits-Editor auf Zeilenebene können Sie schnell und einfach Sicherheitsrollen und Filter in Power BI Desktop definieren. Mit diesem Editor können Sie zwischen der standardmäßigen Dropdownoberfläche und einer DAX-Oberfläche umschalten. Wenn Sie etwas in Power BI veröffentlichen, werden auch die Rollendefinitionen veröffentlicht.
So definieren Sie Sicherheitsrollen mit dem erweiterten Sicherheits-Editor auf Zeilenebene:
Aktivieren Sie die Vorschau, indem Sie zu „Datei > Optionen und Einstellungen > Optionen > Vorschaufunktionen“ navigieren und „Erweiterter Sicherheits-Editor auf Zeilenebene“ aktivieren.
Importieren Sie Daten in Ihren Power BI Desktop-Bericht, oder konfigurieren Sie eine DirectQuery-Verbindung.
Wählen Sie im Menüband Rollen verwalten aus.
Wählen Sie im Fenster Rollen verwalten die Option Neu aus, um eine neue Rolle zu erstellen.
Geben Sie unter Rollen einen Namen für die Rolle an, und drücken Sie die EINGABETASTE.
Wählen Sie unter Tabellen auswählen die Tabelle aus, auf die Sie einen Sicherheitsfilter auf Zeilenebene anwenden möchten.
Verwenden Sie unter Daten filtern den Standard-Editor, um Ihre Rollen zu definieren. Die erstellten Ausdrücke geben „true“ oder „false“ als Wert zurück.
Hinweis
Nicht alle in Power BI unterstützten Sicherheitsfilter auf Zeilenebene können mit dem Standard-Editor definiert werden. Zu den Einschränkungen zählen Ausdrücke, die derzeit nur mit DAX definiert werden können, z. B. dynamische Regeln wie username() oder userprincipalname(). Um Rollen mit diesen Filtern zu definieren, müssen Sie den DAX-Editor verwenden.
Wählen Sie optional Zum DAX-Editor wechseln aus, um ihre Rolle mit dem DAX-Editor zu definieren. Sie können zurück zum Standard-Editor wechseln, indem Sie Zum Standard-Editor wechseln auswählen. Alle Änderungen, die in beiden Editoroberflächen vorgenommen werden, bleiben beim Wechsel der Oberfläche nach Möglichkeit erhalten.
Wenn Sie eine Rolle mit dem DAX-Editor definieren, die nicht im Standard-Editor definiert werden kann, wird beim Versuch, zum Standard-Editor zu wechseln, eine Warnung mit dem Hinweis angezeigt, dass der Wechsel des Editors dazu führen kann, dass einige Informationen verloren gehen. Um diese Informationen beizubehalten, wählen Sie Abbrechen aus, und bearbeiten Sie nur diese Rolle im DAX-Editor.
Wählen Sie Speichern aus.
Überprüfen der Rollen in Power BI Desktop
Nachdem Sie Ihre Rollen erstellt haben, können Sie die Ergebnisse der Rollen in Power BI Desktop testen.
Klicken Sie auf der Registerkarte Modellierung auf die Option Anzeigen als.
Das Fenster Als Rollen anzeigen wird angezeigt, in dem Sie sich die erstellten Rollen ansehen können.
Wählen Sie eine von Ihnen erstellte Rolle aus. Wählen Sie dann „OK“ aus, um diese Rolle anzuwenden.
Die Berichte rendert dann die Daten, die für diese Rolle relevant sind.
Sie können auch Anderer Benutzer auswählen und einen bestimmten Benutzer angeben.
Es wird empfohlen, den Benutzerprinzipalnamen (User Principal Name; UPN) anzugeben, da der Power BI-Dienst und der Power BI-Berichtsserver genau diesen verwenden.
In Power BI Desktop zeigt die Option Anderer Benutzer nur dann unterschiedliche Ergebnisse an, wenn Sie die dynamische Sicherheit auf Ihren DAX-Ausdrücken basierend verwenden. In diesem Fall müssen Sie sowohl den Benutzernamen als auch die Rolle angeben.
Klicken Sie auf OK.
Der Bericht wird basierend auf dem gerendert, was die RLS-Filter dem Benutzer erlauben zu sehen.
Hinweis
Das Feature „Als Rolle anzeigen“ funktioniert nicht für DirectQuery-Modelle, für die Single Sign-On (SSO) aktiviert ist.
Nachdem Sie die Überprüfung der Rollen in Power BI Desktop abgeschlossen haben, veröffentlichen Sie Ihren Bericht im Power BI Service.
Verwalten der Sicherheitseinstellungen Ihres Modells
Öffnen Sie zum Verwalten der Sicherheit ihres Datenmodells den Arbeitsbereich, in dem Sie den Bericht im Power BI Service gespeichert haben, und führen Sie die folgenden Schritte aus:
Wählen Sie im Power BI-Dienst das Menü Weitere Optionen für ein semantisches Modell aus. Dieses Menü wird angezeigt, wenn Sie auf den Namen eines semantischen Modells zeigen. Dies gilt im Navigationsmenü ebenso wie auf der Arbeitsbereichsseite.
Wählen Sie Sicherheit aus.
Über „Sicherheit“ gelangen Sie zur RLS-Seite, wo Sie Mitglieder einer Rolle hinzufügen können, die Sie in Power BI Desktop erstellt haben. Mitwirkende (und höhere Arbeitsbereichsrollen) wird Sicherheit angezeigt und können Benutzer einer Rolle zuweisen.
Sie können Rollen nur in Power BI Desktop erstellen oder ändern.
Arbeiten mit Mitgliedern
Hinzufügen von Mitgliedern
Sie fügen der Rolle ein Mitglied hinzu, indem Sie die E-Mail-Adresse oder den Namen des Benutzers oder der Sicherheitsgruppe eingeben. Sie können keine in Power BI erstellten Gruppen hinzufügen. Sie können Ihrer Organisation externe Mitglieder hinzufügen.
Sie können die folgenden Gruppen zum Einrichten der Sicherheit auf Zeilenebene verwenden.
- Verteilergruppe
- E-Mail-aktivierte Gruppe
- Azure Active Directory-Sicherheitsgruppe
Beachten Sie jedoch, dass Microsoft 365-Gruppen nicht unterstützt werden und nicht zu Rollen hinzugefügt werden können.
Anhand der Zahl in Klammern neben dem Rollennamen oder neben „Mitglieder“ können Sie zudem sehen, wie viele Mitglieder die Rolle hat.
Entfernen von Mitgliedern
Sie können Mitglieder entfernen, indem Sie das „X“ neben ihrem Namen auswählen.
Überprüfen der Rolle im Power BI-Dienst
Sie können überprüfen, ob die von Ihnen definierte Rolle im Power BI Service korrekt funktioniert, indem Sie die Rolle testen.
- Wählen Sie Weitere Optionen (...) neben der Rolle aus.
- Wählen Sie Daten als Rolle testen aus.
Sie werden zu dem Bericht weitergeleitet, der von Power BI Desktop mit diesem semantischen Modell veröffentlicht wurde, sofern vorhanden. Dashboards sind nicht für Tests mit der Option Als Rolle testen verfügbar.
Im Seitenkopf wird die angewandte Rolle angezeigt.
Testen Sie andere Rollen oder eine Kombination von Rollen, indem Sie Anzeige als auswählen.
Sie können auch Daten als eine bestimmte Person anzeigen oder eine Kombination der verfügbaren Rollen auswählen, um deren Funktion zu überprüfen.
Um zur normalen Ansicht zurückzukehren, wählen Sie Zurück zur Sicherheit auf Zeilenebene aus.
Hinweis
Das Feature „Als Rolle testen“ funktioniert nicht für DirectQuery-Modelle, für die Single Sign-On (SSO) aktiviert ist.
Verwenden der DAX-Funktion „username()“ oder „userprincipalname()“
Sie können die DAX-Funktion username() oder userprincipalname() in Ihrem Dataset verwenden. Sie können beide Funktionen in Ausdrücken in Power BI Desktop verwenden. Wenn Sie Ihr Modell veröffentlichen, wird es im Power BI-Dienst verwendet.
In Power BI Desktop gibt username() einen Benutzer im Format DOMÄNE\Benutzer und userprincipalname() einen Benutzer im Format user@contoso.com zurück.
Im Power BI-Dienst geben sowohl username() als auch userprincipalname() den Benutzerprinzipalnamen (User Principal Name, UPN) des Benutzers zurück. Dieser ähnelt einer E-Mail-Adresse.
Verwenden von RLS mit Arbeitsbereichen in Power BI
Wenn Sie Ihren Power BI Desktop-Bericht in einem Arbeitsbereich im Power BI-Dienst veröffentlichen, werden die RLS-Rollen auf Mitglieder angewendet, denen die Viewer-Rolle im Arbeitsbereich zugewiesen ist. Auch wenn Zuschauer*innen Buildberechtigungen für das semantische Modell erhalten, gilt weiterhin RLS. Wenn beispielsweise Viewer mit Buildberechtigungen In Excel analysieren verwenden, wird Ihre Ansicht der Daten durch RLS eingeschränkt. Arbeitsbereichsmitglieder, denen die Rollen Administrator, Mitgliedoder Mitwirkender zugewiesen werden, verfügen über die Berechtigungsberechtigung für das semantische Modell, und RLS gilt daher nicht für sie. Wenn RLS auf Personen in einem Arbeitsbereich angewendet werden soll, können Sie ihnen nur die Rolle Betrachter zuweisen. Weitere Informationen finden Sie unter Rollen in Arbeitsbereichen.
Überlegungen und Einschränkungen
Hier finden Sie aktuelle Einschränkungen für die Sicherheit auf Zeilenebene für Cloudmodelle:
- Wenn Sie bereits Rollen und Regeln im Power BI-Dienst definiert haben, müssen Sie diese in Power BI Desktop neu erstellen.
- Sie können RLS nur für die semantischen Modelle definieren, die mit Power BI Desktop erstellt wurden. Wenn Sie RLS für mit Excel erstellte semantische Modell aktivieren möchten, müssen Sie Ihre Dateien zunächst in PBIX-Dateien (Power BI Desktop) konvertieren. Weitere Informationen
- Dienstprinzipale können keiner RLS-Rolle hinzugefügt werden. Entsprechend wird RLS nicht für Apps angewendet, die einen Dienstprinzipal als endgültige effektive Identität verwenden.
- Es werden nur Import- und DirectQuery-Verbindungen unterstützt. Live-Verbindungen zu Analysis Services werden im lokalen Modell verarbeitet.
- Das Feature „Als Rolle anzeigen/testen“ funktioniert nicht für DirectQuery-Modelle, für die Single Sign-On (SSO) aktiviert ist.
- Die Funktion „Als Rolle testen/Als Rolle anzeigen“ zeigt nur Berichte aus dem Arbeitsbereich „Semantische Modelle“ an.
- Die Funktion „Als Rolle testen/Als Rolle anzeigen" funktioniert nicht für paginierte Berichte.
Häufig gestellte Fragen
Frage: Was passiert, wenn ich im Power BI-Dienst bereits Rollen und Regeln für ein Dataset erstellt habe? Funktionieren sie weiterhin, wenn ich sie so belasse?
Antwort: Nein. Visuelle Elemente werden nicht richtig gerendert. Sie müssen die Rollen und Regeln in Power BI Desktop neu erstellen und anschließend im Power BI-Dienst veröffentlichen.
Frage: Kann ich solche Rollen für Analysis Services-Datenquellen erstellen?
Antwort: Ja. Das ist möglich, wenn Sie die Daten in Power BI Desktop importiert haben. Wenn Sie eine Liveverbindung verwenden, können Sie die RLS nicht im Power BI-Dienst konfigurieren. Sie definieren RLS im lokalen Analysis Services-Modell.
Frage: Kann ich mit RLS die Spalten oder Measures beschränken, auf die Benutzer Zugriff haben?
Antwort: Nein. Wenn ein Benutzer Zugriff auf eine bestimmte Datenzeile hat, sind alle Datenspalten dieser Zeile für ihn sichtbar. Um den Zugriff auf Spalten und Spaltenmetadaten einzuschränken, sollten Sie die Sicherheit auf Objektebene in Erwägung ziehen.
Frage: Kann ich bei RLS Detaildaten in Visuals ausblenden und Zugriff auf in Visuals zusammengefasste Daten erteilen?
Antwort: Nein. Sie sichern einzelne Datenzeilen, für die Benutzer werden jedoch immer entweder die Details oder die zusammengefassten Daten angezeigt.
Frage: Für meine Datenquelle sind bereits Sicherheitsrollen definiert (z. B. SQL Server-Rollen oder SAP BW-Rollen). In welcher Beziehung stehen diese Rollen und RLS?
Antwort: Die Antwort hängt davon ab, ob Sie Daten importieren oder DirectQuery verwenden. Wenn Sie Daten in das Power BI-Dataset importieren, werden die Sicherheitsrollen in der Datenquelle nicht verwendet. In diesem Fall sollten Sie RLS definieren, um Sicherheitsregeln für Benutzer zu erzwingen, die in Power BI eine Verbindung herstellen. Wenn Sie DirectQuery verwenden, werden die Sicherheitsrollen in Ihrer Datenquelle verwendet. Wenn ein Benutzer einen Bericht öffnet, sendet Power BI eine Abfrage an die zugrunde liegende Datenquelle, die Sicherheitsregeln für die Daten basierend auf den Anmeldeinformationen des Benutzers anwendet.
Frage: Kann ein Benutzer zu mehreren Rollen gehören?
Antwort: Ein Benutzer kann mehreren Rollen angehören, und die Rollen sind additiv. Wenn ein Benutzer beispielsweise der Rolle „Vertrieb“ und „Marketing“ angehört, kann er Daten für beide Rollen anzeigen.
Nächste Schritte
- Einschränken des Datenzugriffs mit Sicherheit auf Zeilenebene (RLS) für Power BI Desktop
- Leitfaden zu Sicherheit auf Zeilenebene (Row-Level Security; RLS) in Power BI Desktop
- Power BI implementation planning: Report consumer security planning (Power BI-Implementierungsplanung: Bericht zur Planung der Consumersicherheit)
- RLS für eingebettete Szenarien für ISVs
Haben Sie Fragen? Stellen Sie Ihre Frage in der Power BI-Community Vorschläge? Einbringen von Ideen zur Verbesserung von Power BI