Teilen über


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

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 der Registerkarte „Modellierung” mit der hervorgehobenen Option „Rollen verwalten”.

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

    Screenshot des Fensters Rollen verwalten, wobei die Schaltfläche Neue Rolle erstellen hervorgehoben wird.

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

    Screenshot des Fensters Rollen verwalten, in dem das Umbenennen einer Rolle hervorgehoben wird.

    Hinweis

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

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

  6. 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 des Standard-Editors im Fenster Rollen verwalten für die Definition der Sicherheit auf Zeilenebene.

    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.

  7. Wählen Sie optional Zum DAX-Editor wechseln aus, um ihre Rolle mit dem DAX-Editor zu definieren. DAX-Ausdrücke geben einen Wert von true oder false zurück. Beispiel: [Entity ID] = “Value” Der DAX-Editor ist mit einer Autovervollständigung für Formeln ausgestattet (Intellisense). Sie können das Häkchen über dem Ausdrucksfeld setzen, um den Ausdruck zu bestätigen, und die Schaltfläche X über dem Ausdrucksfeld anklicken, um Änderungen rückgängig zu machen.

    Screenshot des Fensters „Rollen verwalten” mit hervorgehobenem DAX-Beispielausdruck.

    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. Verwenden Sie in diesem Ausdrucksfeld außerdem Kommas, um DAX-Funktionsargumente zu trennen, auch wenn Sie ein Gebietsschema verwenden, das normalerweise Semikolon-Trennzeichen verwendet (z. B. Französisch oder Deutsch).

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

    Screenshot des Dialogs, in dem Sie bestätigen, dass Sie zum Standard-Editor wechseln möchten.

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

  9. 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 der Einstellung für die Modellbeziehung zur Anwendung des Sicherheitsfilters in beide Richtungen.

Verwalten der Sicherheitseinstellungen Ihres Modells

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

  1. Wählen Sie in Fabric das Menü Weitere Optionen für ein semantisches Modell aus. Dieses Menü wird angezeigt, wenn Sie mit dem Mauszeiger auf einen Semantikmodell-Namen gehen.

    Screenshot: Menü „Weitere Optionen” im Navigationsmenü.

  2. Wählen Sie Sicherheit aus.

    Screenshot: Menü „Weitere Optionen”, wobei die Option „Sicherheit” ausgewählt ist.

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, dass Microsoft 365-Gruppen nicht unterstützt werden und nicht zu Rollen hinzugefügt werden können.

Screenshot: Hinzufügen von Mitgliedern

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

Screenshot: Mitglieder in einer Rolle

Entfernen von Mitgliedern

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

Screenshot: Entfernen von Mitgliedern

Ü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: Option „Als Rolle testen”.

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 der jetzt angezeigten Dropdownliste für eine bestimmte 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 der Anzeige, um einen anderen zu testenden Bericht auszuwählen.

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