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 in Power BI importierte Datenmodelle mit Power BI konfigurieren. Außerdem können Sie die RLS für semantische Modelle konfigurieren, die „DirectQuery“ verwenden. Dies ist beispielsweise für SQL Server möglich. Für Analysis Services- oder Azure Analysis Services-Lives-Verbindungen konfigurieren Sie die Sicherheit auf Zeilenebene im Modell und nicht in Power BI. 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:

  1. 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.

  2. Klicken Sie auf der Registerkarte Modellierung auf die Option Rollen verwalten.

    Screenshot of the Modeling tab, highlighting Manage roles.

  3. Klicken Sie im Fenster Rollen verwalten auf Erstellen.

    Screenshot of the Manage roles window, highlighting Create.

  4. Geben Sie unter Rollen der Rolle einen Namen.

    Hinweis

    Sie können eine Rolle nicht mit einem Komma definieren, z. B London,ParisRole.

  5. Wählen Sie unter Tabellen die Tabelle aus, auf die eine DAX-Regel angewendet werden soll.

  6. 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”

    Screenshot of the Manage roles window, highlighting an example DAX expression.

    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.

  7. Klicken Sie nach der Erstellung des DAX-Ausdrucks auf das Häkchen über dem Ausdrucksfeld, um den Ausdruck zu überprüfen.

    Screenshot of the Table filter DAX expression window, highlighting the checkmark.

    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).

  8. 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 Cross-Filterung mit DirectQuery in Power BI und im technischen Artikel Securing the Tabular BI Semantic Model.

Screenshot of the apply Security Filter.

Definieren Sie Rollen und Regeln in Power BI mit dem erweiterten Sicherheitseditor auf Zeilenebene (Vorschau)

Mit dem erweiterten Editor für Sicherheit auf Zeilenebene können Sie in Power BI schnell und einfach Sicherheitsrollen und Filter 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:

  1. Aktivieren Sie in Power BI Desktop die Vorschau, indem Sie auf Dateien > Optionen und Einstellungen > Optionen > Vorschaufunktionen gehen und „Erweiterter Sicherheitseditor auf Zeilenebene“ einschalten. Alternativ können Sie diesen Editor im Dienst verwenden, indem Sie Ihr Datenmodell im Power BI-Dienst bearbeiten.

  2. Importieren Sie Daten in Ihr semantisches Power BI-Modell oder konfigurieren Sie eine DirectQuery-Verbindung.

  3. Wählen Sie im Menüband Rollen verwalten aus.

    Screenshot of the Manage roles button in the Desktop ribbon.

  4. Wählen Sie im Fenster Rollen verwalten die Option Neu aus, um eine neue Rolle zu erstellen.

    Screenshot of creating a new role in the enhanced row-level security editor.

  5. Geben Sie unter Rollen einen Namen für die Rolle an, und drücken Sie die EINGABETASTE.

    Screenshot of renaming a role in the enhanced row-level security editor.

  6. Wählen Sie unter Tabellen auswählen die Tabelle aus, auf die Sie einen Sicherheitsfilter auf Zeilenebene anwenden möchten.

  7. 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.

    Screenshot of an example of using the default editor in the enhanced row-level security editor.

    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.

  8. 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.

    Screenshot of an example of using the dax editor in the enhanced row-level security editor.

    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.

    Screenshot of an example error dialog when switching from the DAX to default editor in enhanced row-level security editor.

  9. 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.

  1. Klicken Sie auf der Registerkarte Modellierung auf die Option Anzeigen als.

    Screenshot of the Modeling tab, highlighting View as.

    Das Fenster Als Rollen anzeigen wird angezeigt, in dem Sie sich die erstellten Rollen ansehen können.

    Screenshot of the View as roles window with None selected.

  2. 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.

  3. Sie können auch Anderer Benutzer auswählen und einen bestimmten Benutzer angeben.

    Screenshot of the View as roles window with an example user entered.

    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.

  4. 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.

Verwalten der Sicherheitseinstellungen Ihres Modells

Um die Sicherheit Ihres semantischen Modells zu verwalten, öffnen Sie den Arbeitsbereich, in dem Sie Ihr semantisches Modell im Power BI-Dienst gespeichert haben, und führen Sie die folgenden Schritte aus:

  1. 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.

    Screenshot showing the more options menu in the workspace.

    Screenshot showing the more options menu in navigation menu.

  2. Wählen Sie Sicherheit aus.

    Screenshot showing the more options menu with Security selected.

Sicherheit führt Sie zur Seite Sicherheit auf Rollenebene, auf der Sie Mitglieder zu einer von Ihnen erstellten Rolle hinzufügen können. Mitwirkende (und höhere Arbeitsbereichsrollen) wird Sicherheit angezeigt und können Benutzer einer Rolle zuweisen.

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.

Beachten Sie jedoch, dass Microsoft 365-Gruppen nicht unterstützt werden und nicht zu Rollen hinzugefügt werden können.

Screenshot showing how to add a member.

Anhand der Zahl in Klammern neben dem Rollennamen oder neben „Mitglieder“ können Sie zudem sehen, wie viele Mitglieder die Rolle hat.

Screenshot showing members in role.

Entfernen von Mitgliedern

Sie können Mitglieder entfernen, indem Sie das „X“ neben ihrem Namen auswählen.

Screenshot showing how to remove a member.

Ü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.

  1. Wählen Sie Weitere Optionen (...) neben der Rolle aus.
  2. Wählen Sie Als Rolle testen aus.

Screenshot of test as role option.

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, eine Kombination aus Rollen oder eine bestimmte Person, indem Sie Jetzt anzeigen als auswählen. Hier sehen Sie wichtige Details zu den Berechtigungen der zu testenden Person oder Rolle. Weitere Informationen dazu, wie Berechtigungen mit RLS interagieren, finden Sie unter RLS-Benutzeroberfläche.

Screenshot of Now viewing as dropdown for a specific person.

Testen Sie andere Berichte, die mit dem semantischen Modell verbunden sind, indem Sie im Seitenkopf die Option Ansicht auswählen. Sie können nur Berichte testen, die sich im selben Arbeitsbereich wie Ihr semantisches Modell befinden.

Screenshot of Viewing to select a different report to test.

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. Darüber hinaus können nicht alle Aspekte eines Berichts im Feature „Testen als Rolle“ überprüft werden, einschließlich Q&A-Visualisierungen, Quick Insights-Visualisierungen und Copilot.

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.

Beachten Sie, dass, wenn ein Power BI-Bericht auf eine Zeile mit konfiguriertem RLS verweist, dieselbe Meldung wie für ein gelöschtes oder nicht vorhandenes Feld angezeigt wird. Für diese Benutzer sieht es so aus, als sei der Bericht beschädigt.

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.

Haben Sie Fragen? Stellen Sie Ihre Frage in der Power BI-Community Vorschläge? Einbringen von Ideen zur Verbesserung von Power BI