Freigeben über


Sicherheit auf Zeilenebene auf dem Power BI-Berichtsserver

Wenn Sie die Sicherheit auf Zeilenebene (Row Level Security, RLS) auf dem Power BI-Berichtsserver einrichten, können Sie den Datenzugriff für bestimmte Benutzer einschränken. Filter beschränken den Datenzugriff auf Zeilenebene, und Sie können Filter in Rollen definieren. Wenn Sie die Standardberechtigungen auf dem Power BI-Berichtsserver verwenden, kann jeder Benutzer, der über die Berechtigung „Publisher“ (Herausgeber) oder „Content Manager“ (Inhalts-Manager) für einen Power BI-Bericht verfügt, Mitglieder zu Rollen für diesen Bericht hinzufügen.

Sie konfigurieren die RLS für Berichte, die mithilfe von Power BI Desktop in Power BI importiert wurden. Sie können die RLS auch für Berichte konfigurieren, die DirectQuery verwenden, z. B. SQL Server. Denken Sie daran, dass die RLS nicht berücksichtigt wird, wenn Ihre DirectQuery-Verbindung die integrierte Authentifizierung für Leser des Berichts verwendet. Für Liveverbindungen von Analysis Services konfigurieren Sie die RLS auf dem lokalen Modell. 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. 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. Verwenden Sie in diesem Ausdrucksfeld Kommas, um DAX-Funktionsargumente zu trennen, auch wenn Sie ein Gebietsschema verwenden, das normalerweise Semikolonstrennzeichen wie Französisch oder Deutsch verwendet.

  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

    Verwenden Sie in diesem Ausdrucksfeld Kommas, um DAX-Funktionsargumente zu trennen, auch wenn Sie ein Gebietsschema verwenden, das normalerweise Semikolonstrennzeichen wie Französisch oder Deutsch verwendet.

  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.

Bidirektionale Kreuzfilterung

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.

  • Wählen Sie die Beziehung aus, und aktivieren Sie das Kontrollkästchen Sicherheitsfilter in beide Richtungen anwenden.

    Anwenden eines Sicherheitsfilters

Aktivieren Sie dieses Kontrollkästchen, wenn Sie die dynamische Sicherheit auf Zeilenebene basierend auf dem Benutzernamen oder der Anmelde-ID implementieren.

Weitere Informationen finden Sie unter Bidirektionale Kreuzfilterung mithilfe von DirectQuery in Power BI Desktop und im Whitepaper Securing the Tabular BI Semantic Model (Sichern des semantischen BI-Tabellenmodells).

Ü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 der Registerkarte „Modellierung” mit der hervorgehobenen Option „Anzeigen als”.

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

    Screenshot des Fenster „Als Rolle anzeigen“ mit Auswahl von „Keine“.

  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 des Fensters „Als Rollen anzeigen“ mit einem eingegebenen Beispielbenutzer.

    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.

Hinzufügen von Mitgliedern zu Rollen

Nachdem Sie Ihren Bericht im Power BI-Berichtsserver gespeichert haben, verwalten Sie die Sicherheit und fügen Mitglieder auf dem Server hinzu bzw. entfernen sie. Die Option für Sicherheit auf Zeilenebene ist nur für Benutzer mit der Berechtigung „Herausgeber“ oder „Inhalts-Manager“ für den Bericht verfügbar und nicht ausgegraut.

Wenn für den Bericht nicht die erforderlichen Rollen verfügbar sind, müssen Sie den Bericht in Power BI Desktop öffnen und die Rollen hinzufügen oder ändern. Anschließend müssen Sie den Bericht wieder auf dem Power BI-Berichtsserver speichern.

  1. Speichern Sie den Bericht in Power BI Desktop auf dem Power BI-Berichtsserver. Sie müssen die Version von Power BI Desktop für den Power BI-Berichtsserver verwenden.

  2. Wählen Sie auf dem Power BI-Berichtsserver die Auslassungspunkte ( ... ) neben dem Bericht aus.

  3. Wählen Sie Verwalten>Sicherheit auf Zeilenebene aus.

    Verwalten der Sicherheit auf Zeilenebene

    Auf der Seite Sicherheit auf Zeilenebene fügen Sie Mitglieder zu einer Rolle hinzu, die Sie in Power BI Desktop erstellt haben.

  4. Klicken Sie auf Mitglied hinzufügen, um ein Mitglied hinzuzufügen.

  5. Geben Sie den Benutzer oder die Gruppe im Benutzernamensformat (DOMÄNE\Benutzer) in das Textfeld ein, und wählen Sie die Rollen aus, die zugewiesen werden sollen. Das Mitglied muss sich in Ihrer Organisation befinden.

    Hinzufügen eines Mitglieds zu einer Rolle

    Je nachdem, wie Sie Active Directory konfiguriert haben, funktioniert diese Methode auch, wenn Sie den Benutzerprinzipalnamen eingeben. In diesem Fall zeigt der Berichtsserver den entsprechenden Benutzernamen in der Liste an.

  6. Klicken Sie auf OK, um diese Einstellung zu übernehmen.

  7. Wenn Sie Mitglieder entfernen möchten, aktivieren Sie das Kontrollkästchen neben den Mitgliedsnamen, und klicken Sie auf Löschen. Sie können mehrere Mitglieder gleichzeitig löschen.

    Löschen von Mitgliedern

username() und userprincipalname()

Sie können die DAX-Funktionen 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, verwendet der Power BI-Berichtsserver diese.

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-Berichtsserver geben username() und userprincipalname() jeweils den Benutzerprinzipalnamen des Benutzers zurück. Das format ähnelt einer E-Mail-Adresse.

Wenn Sie die benutzerdefinierte Authentifizierung auf dem Power BI-Berichtsserver verwenden, wird das Format des Benutzernamens zurückgegeben, das Sie für Benutzer eingerichtet haben.

Überlegungen und Einschränkungen

Nachfolgend finden Sie die aktuellen Einschränkungen für die Sicherheit auf Zeilenebene für Power BI-Modelle.

Benutzer, die Berichte besessen haben, die die DAX-Funktion username() verwendet haben, bemerken ein neues Verhalten: der Benutzerprinzipalname (UPN) wird zurückgegeben, es sei denn, der DirectQuery-Modus mit integrierter Sicherheit wird verwendet. Da die RLS in diesem Szenario nicht berücksichtigt wird, bleibt das Verhalten in diesem Szenario unverändert.

Sie können die RLS nur in den mithilfe von Power BI Desktop erstellten Datasets definieren. Wenn Sie die 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 über das Konvertieren von Excel-Dateien.

Es werden nur Verbindungen zum Extrahieren, Transformieren und Laden (ETL) und DirectQuery-Verbindungen unterstützt, die gespeicherte Anmeldeinformationen verwenden. Liveverbindungen zu Analysis Services und DirectQuery-Verbindungen über die integrierte Authentifizierung werden in den zugrunde liegenden Datenquellen behandelt.

Wenn sie die integrierte Sicherheit mit DirectQuery verwenden, könnte Ihren Benutzern Folgendes auffallen:

  • Die RLS ist deaktiviert, und alle Daten werden zurückgegeben.
  • Benutzer können Ihre Rollenzuweisung nicht aktualisieren und erhalten eine Fehlermeldung auf der Seite zur RLS-Verwaltung.
  • Für die DAX-Benutzernamensfunktion erhalten Sie weiterhin den Benutzernamen als DOMÄNE\Benutzer.

Berichtsautoren haben keine Berechtigung, die Berichtsdaten auf dem Power BI-Berichtsserver anzuzeigen. Dies ist erst dann möglich, wenn sie sich selbst entsprechend Rollen zugewiesen haben, nachdem Sie den Bericht hochgeladen haben.

Rollenzuweisungen über Gruppenmitgliedschaften werden nur unterstützt, wenn der Power BI-Berichtsserver für die Ausführung mit NTLM- oder Kerberos-Authentifizierung konfiguriert ist. Für Server mit benutzerdefinierter Authentifizierung oder Windows-Standardauthentifizierung müssen Benutzer explizit zu Rollen zugewiesen werden.

Häufig gestellte Fragen

Kann ich solche Rollen für Analysis Services-Datenquellen erstellen?

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. Die RLS wird im lokalen Analysis Services-Modell definiert.

Kann ich mit der RLS die Spalten oder Measures einschränken, auf die Benutzer Zugriff haben?

Nein. Wenn ein Benutzer Zugriff auf eine bestimmte Datenzeile hat, sind alle Datenspalten dieser Zeile für ihn sichtbar.

Kann ich mit der RLS Detaildaten in Visuals ausblenden und Zugriff auf in Visuals zusammengefasste Daten erteilen?

Nein. Sie sichern einzelne Datenzeilen, für die Benutzer werden jedoch immer entweder die Details oder die zusammengefassten Daten angezeigt.

Kann ich in Power BI Desktop neue Rollen hinzufügen, wenn bereits Rollen vorhanden und Mitglieder zugewiesen sind?

Ja, wenn Sie bereits vorhandene Rollen auf dem Power BI-Berichtsserver definiert und Mitglieder zugewiesen haben, können Sie zusätzliche Rollen erstellen und Ihren Bericht erneut veröffentlichen, ohne dass dies Auswirkungen auf Ihre aktuellen Zuweisungen hat.

Weitere Fragen? Stellen Sie Ihre Frage in der Power BI-Community.