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. Mitglieder eines Arbeitsbereichs im Power BI-Dienst können auf die DataSets im Arbeitsbereich zugreifen. RLS schränkt den Zugriff auf diese Daten nicht ein.

Sie können RLS für Datenmodelle konfigurieren, die mithilfe von Power BI Desktop in Power BI importiert wurden. Sie können auch RLS für Datasets konfigurieren, die DirectQuery verwenden, z. B. SQL Server. 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 Liveverbindungsdatasets 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.

Gehen Sie folgendermaßen vor, wenn Sie Sicherheitsrollen definieren möchten.

  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.

    Klicken auf „Rollen verwalten“

  3. Klicken Sie im Fenster Rollen verwalten auf Erstellen.

    Wählen Sie „Erstellen“ aus.

  4. Geben Sie unter Rollen der Rolle einen Namen.

  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”

    Fenster „Rollen verwalten“

    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 (Benutzername@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.

    Ein gültiger DAX-Ausdruck

    Hinweis

    In diesem Ausdrucksfeld verwenden Sie Kommas, um Argumente der DAX-Funktion zu trennen, auch wenn Sie ein Gebietsschema verwenden, das normalerweise Semikolontrennzeichen 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. 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).

Anwenden eines Sicherheitsfilters

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

    Klicken auf „Als Rollen anzeigen“

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

    Fenster „Als Rollen anzeigen“

  2. Wählen Sie eine von Ihnen erstellte Rolle aus, und klicken Sie anschließend auf OK, 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.

    Klicken auf „Anderer Benutzer“

    Es wird empfohlen, den Benutzerprinzipalnamen (User Principal Name; UPN) anzugeben, da der Power BI-Dienst und der Power BI-Berichtsserver 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.

  4. Wählen Sie OK aus.

    Die Berichte werden auf Grundlage dessen gerendert, was dem Benutzer angezeigt wird.

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:

  1. Wählen Sie im Power BI-Dienst das Menü Weitere Optionen für ein DataSet aus. Dieses Menü wird angezeigt, wenn Sie auf einen DataSet-Namen zeigen. Dies gilt im Navigationsmenü ebenso wie auf der Arbeitsbereichsseite.

    Menü „Weitere Optionen“ im Arbeitsbereich

    Menü „Weitere Optionen“ im Navigationsmenü

  2. Wählen Sie Sicherheit aus.

    Auswählen von „Sicherheit“ im Menü „Weitere Optionen“

Über „Sicherheit“ gelangen Sie zur RLS-Seite, wo Sie Mitglieder einer Rolle hinzufügen können, die Sie in Power BI Desktop erstellt haben. Nur die Besitzer des Datasets sehen Sicherheit. Wenn das DataSet zu einer Gruppe gehört, wird nur Administratoren der Gruppe die Option „Sicherheit“ angezeigt.

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
  • Sicherheitsgruppe

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

Hinzufügen eines Mitglieds

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

Mitglieder in der Rolle

Entfernen von Mitgliedern

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

Entfernen eines Mitglieds

Ü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 Daten als Rolle testen aus.

Als Rolle testen

Die für diese Rolle verfügbaren Berichte werden angezeigt. Dashboards werden in dieser Ansicht nicht angezeigt. Im Seitenkopf wird die angewandte Rolle angezeigt.

Anzeige als

Testen Sie andere Rollen oder eine Kombination von Rollen, indem Sie Anzeige als auswählen.

Testen von anderen Rollen

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.

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 neuen Arbeitsbereich im Power BI-Dienst veröffentlichen, werden die RLS-Rollen auf Mitglieder angewendet, die der Betrachterrolle im Arbeitsbereich zugeordnet sind. Auch wenn Betrachter Buildberechtigungen für das Dataset erhalten, gilt weiterhin RLS. Wenn beispielsweise Viewer mit Buildberechtigungen in Excel analysieren verwenden, wird Ihre Ansicht der Daten durch RLS geschützt. Arbeitsbereichs Mitglieder, denen Administrator, Mitglied oder Mitwirkender zugewiesen werden, verfügen über die Berechtigung Bearbeiten für das DataSet, 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 Rollen in den neuen Arbeitsbereichen.

Warnung

Wenn Sie den klassischen Arbeitsbereich so konfiguriert haben, dass die Mitglieder über Bearbeitungsberechtigungen verfügen, werden die RLS-Rollen nicht auf sie angewandt. Benutzer können alle Daten einsehen. Lesen Sie mehr über klassische Arbeitsbereiche.

Gruppeneinstellungen

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 Sicherheit auf Zeilenebene (Row Level Security, RLS) nur auf den mithilfe von Power BI Desktop erstellten Datasets definieren. Wenn Sie RLS für mit Excel erstellte Datasets aktivieren möchten, müssen Sie Ihre Dateien zunächst in PBIX-Dateien (Power BI Desktop) konvertieren. Erfahren Sie mehr.

  • Es werden nur Import- und DirectQuery-Verbindungen unterstützt. Live-Verbindungen zu Analysis Services werden im lokalen Modell verarbeitet.

Bekannte Probleme

Wenn Sie versuchen, einen Bericht in Power BI Desktop zu veröffentlichen, der zuvor bereits veröffentlicht wurde, erhalten Sie eine Fehlermeldung. Dieses Problem ist bekannt. Das Szenario sieht folgendermaßen aus:

  1. Anna verfügt über ein Dataset, das im Power BI-Dienst veröffentlicht und für RLS konfiguriert wurde.

  2. Anna aktualisiert den Bericht in Power BI Desktop und veröffentlicht ihn erneut.

  3. Anna erhält eine Fehlermeldung.

Problemumgehung: Veröffentlichen Sie die Power BI Desktop-Datei erneut im Power BI-Dienst, bis dieses Problem behoben ist. Sie erreichen dies, indem Sie auf Daten abrufen > Dateien klicken.

Häufig gestellte Fragen

Frage: Was passiert, wenn ich im Power BI-Dienst bereits Rollen und Regeln für ein Dataset erstellt habe? Werden sie weiterhin funktionieren, wenn ich sie so belasse?
Antwort: Nein. Visuals 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: Das ist möglich, wenn Sie die Daten in Power BI Desktop importiert haben. Wenn Sie eine Liveverbindung verwenden, werden Sie RLS nicht im Power BI-Dienst konfigurieren können. Dies wird im lokalen Analysis Services-Modell definiert.

Frage: Kann ich mit der RLS die Spalten oder Measures einschrä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.

Frage: Kann ich mit der 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). Worin besteht die Beziehung zwischen diesen 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.

Nächste Schritte