Sicherheit auf Zeilenebene (row-level security; RLS) mit Power BIRow-level security (RLS) with 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.Row-level security (RLS) with Power BI can be used to restrict data access for given users. Filter beschränken den Datenzugriff auf Zeilenebene, und Sie können Filter in Rollen definieren.Filters restrict data access at the row level, and you can define filters within roles. Beachten Sie, dass Mitglieder eines Arbeitsbereichs im Power BI-Dienst über Zugriff auf die Datasets im Arbeitsbereich verfügen.Be aware that in the Power BI service, members of a workspace have access to datasets in the workspace. RLS schränkt den Zugriff auf diese Daten nicht ein.RLS doesn't restrict this data access.

Sie können RLS für Datenmodelle konfigurieren, die mithilfe von Power BI Desktop in Power BI importiert wurden.You can configure RLS for data models imported into Power BI with Power BI Desktop. Sie können auch RLS für Datasets konfigurieren, die DirectQuery verwenden, z. B. SQL Server.You can also configure RLS on datasets that are using DirectQuery, such as SQL Server. Bisher konnte RLS nur in lokalen Analysis Services-Modellen außerhalb von Power BI implementiert werden.Previously, you were only able to implement RLS within on-premises Analysis Services models outside of Power BI. Für Liveverbindungen von Analysis Services konfigurieren Sie RLS auf dem lokalen Modell.For Analysis Services live connections, you configure Row-level security on the on-premises model. Die Sicherheitsoption wird nicht für Liveverbindungsdatasets angezeigt.The security option will not show up for live connection datasets.

Definieren von Rollen und Regeln in Power BI DesktopDefine roles and rules within Power BI Desktop

Sie können Rollen und Regeln in Power BI Desktop definieren.You can define roles and rules within Power BI Desktop. Wenn Sie etwas in Power BI veröffentlichen, werden auch die Rollendefinitionen veröffentlicht.When you publish to Power BI, it will also publish the role definitions.

Gehen Sie wie folgt vor, um Sicherheitsrollen zu definieren:To define security roles, you can do the following.

  1. Importieren Sie Daten in Ihren Power BI Desktop-Bericht, oder konfigurieren Sie eine DirectQuery-Verbindung.Import data into your Power BI Desktop report, or configure a DirectQuery connection.

    Hinweis

    Sie können in Power BI Desktop keine Rollen für Analysis Services-Liveverbindungen definieren.You cannot define roles within Power BI Desktop for Analysis Services live connections. Sie müssen sie im Analysis Services-Modell definieren.You will need to do that within the Analysis Services model.

  2. Wählen Sie die Registerkarte Modellierung aus.Select the Modeling tab.

  3. Wählen Sie Rollen verwalten aus.Select Manage Roles.

  4. Wählen Sie Erstellen aus.Select Create.

  5. Geben Sie einen Namen für die Rolle an.Provide a name for the role.

  6. Wählen Sie die Tabelle aus, auf die eine DAX-Regel angewendet werden soll.Select the table that you want to apply a DAX rule.

  7. Geben Sie die DAX-Ausdrücke ein.Enter the DAX expressions. Dieser Ausdruck muss TRUE oder FALSE zurückgeben.This expression should return a true or false. Zum Beispiel: [Entitäts-ID] = "Wert".For example: [Entity ID] = “Value”.

    Hinweis

    Sie können username() innerhalb dieses Ausdrucks verwenden.You can use username() within this expression. Beachten Sie, dass username() in Power BI Desktop das Format DOMÄNE\Benutzername aufweist.Be aware that username() will have the format of DOMAIN\username within Power BI Desktop. Im Power BI-Dienst weist es das Format des UPN des Benutzers auf.Within the Power BI service, it will be in the format of the user's UPN. Alternativ können Sie userprincipalname() verwenden, wodurch der Benutzer immer im Format seines Benutzerprinzipalnamens zurückgegeben wird.Alternatively, you can use userprincipalname(), which always returns the user in the format of their user principal name.

  8. Wählen Sie nach der Erstellung des DAX-Ausdrucks das Häkchen über dem Ausdrucksfeld aus, um den Ausdruck zu überprüfen.After you have created the DAX expression, you can select the check above the expression box to validate the expression.

  9. Wählen Sie Speichern.Select Save.

In Power BI Desktop ist es nicht möglich, Benutzer einer Rolle zuzuweisen.You cannot assign users to a role within Power BI Desktop. Dies ist nur im Power BI-Dienst möglich.This is done within the Power BI service. Sie können die dynamische Sicherheit in Power BI Desktop aktivieren, indem Sie username()- oder userprincipalname()-DAX-Funktionen verwenden und die richtigen Beziehungen konfigurieren.You can enable dynamic security within Power BI Desktop by making use of the username() or userprincipalname() DAX functions and having the proper relationships configured.

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.By default, row-level security filtering uses single-directional filters, regardless of whether the relationships are set to single direction or bi-directional. 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.You can manually enable bi-directional cross-filter with row-level security by selecting the relationship and checking the Apply security filter in both directions checkbox. Sie sollten dieses Kontrollkästchen aktivieren, wenn Sie dynamische Sicherheit auf Zeilenebene implementieren und dabei die Sicherheit auf Zeilenebene auf Grundlage eines Benutzernamens oder der Anmelde-ID bereitstellen.You should check this box when implementing dynamic row-level security, wherein you provide row-level security based on user name or login ID.

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).For more information, see Bidirectional cross-filtering using DirectQuery in Power BI Desktop and the Securing the Tabular BI Semantic Model technical article.

Anwenden eines Sicherheitsfilters

Überprüfen der Rolle in Power BI DesktopValidating the role within Power BI Desktop

Nachdem Sie Ihre Rolle erstellt haben, können Sie die Ergebnisse der Rolle in Power BI Desktop testen.After you have created your role, you can test the results of the role within Power BI Desktop. Wählen Sie dazu Als Rollen anzeigen aus.To do this, select View As Roles.

Mit dem Dialog Als Rollen anzeigen können Sie die Ansicht für einen bestimmten Benutzer oder eine bestimmte Rolle ändern.The View as roles dialog lets you change the view of what you're seeing for that specific user or role. Sie können die Rollen sehen, die Sie erstellt haben.You can see the roles you've created.

Wählen Sie die Rolle aus, die Sie erstellt haben, und klicken Sie anschließend auf OK, um diese Rolle auf die vor Ihnen liegende Ansicht anzuwenden.Select the role you created and then select OK to apply that role to what you're viewing. Die Berichte werden nur die für diese Rolle relevanten Daten rendern.The reports only render the data relevant for that role.

Sie können auch Anderer Benutzer auswählen und einen bestimmten Benutzer angeben.You can also select Other user and supply a given user. Am besten geben Sie den Benutzerprinzipalnamen (User Principal Name; UPN) an, da der Power BI-Dienst diesen verwendet.It is best to supply the User Principal Name (UPN) as that is what the Power BI service uses. Klicken Sie auf OK, und die Berichte rendern auf Grundlage dessen, was dem Benutzer angezeigt wird.Select OK and the reports render based on what that user can see.

Hinweis

In Power BI Desktop werden auf diesem Weg nur dann unterschiedliche Ergebnisse angezeigt, wenn Sie die dynamische Sicherheit basierend auf Ihren DAX-Ausdrücken verwenden.Within Power BI Desktop, this only displays different results if you are using dynamic security based on your DAX expressions.

Verwalten der Sicherheitseinstellungen Ihres ModellsManage security on your model

Zum Verwalten der Sicherheitseinstellungen Ihres Datenmodells sollten Sie wie folgt vorgehen:To manage security on your data model, you will want to do the following.

  1. Wählen Sie die Ellipse (...) für ein Dataset aus.Select the ellipse (…) for a dataset.

  2. Wählen Sie Sicherheit aus.Select Security.

Dadurch gelangen Sie zur RLS-Seite, wo Sie Mitglieder zu einer Rolle hinzufügen können, die Sie in Power BI Desktop erstellt haben.This will take you to the RLS page for you to add members to a role you created in Power BI Desktop. Die Sicherheit ist nur für die Besitzer des Datasets verfügbar.Only the owners of the dataset will see Security available. Wenn das Dataset zu einer Gruppe gehört, können nur Administratoren der Gruppe die Sicherheitsoption sehen.If the dataset is in a Group, only Administrators of the group will see the security option.

Sie können Rollen nur in Power BI Desktop erstellen oder ändern.You can only create or modify roles within Power BI Desktop.

Arbeiten mit MitgliedernWorking with members

Hinzufügen von MitgliedernAdd members

Sie können der Rolle ein Mitglied hinzufügen, indem Sie die E-Mail-Adresse oder den Namen des Benutzers, der Sicherheitsgruppe oder der Verteilerliste eingeben, den bzw. die Sie hinzufügen möchten.You can add a member to the role by typing in the email address, or name, of the user, security group or distribution list you want to add. Dieses Mitglied muss sich in Ihrer Organisation befinden.This member has to be within your organization. Sie können keine in Power BI erstellten Gruppen hinzufügen.You cannot add Groups created within Power BI.

Anhand der Zahl in Klammern neben dem Rollennamen oder neben „Mitglieder“ können Sie zudem sehen, wie viele Mitglieder Teil der Rolle sind.You can also see how many members are part of the role by the number in parenthesis next to the role name, or next to Members.

Entfernen von MitgliedernRemove members

Sie können Mitglieder entfernen, indem Sie das „X“ neben ihrem Namen auswählen.You can remove members by selecting the X next to their name.

Überprüfen der Rolle im Power BI-DienstValidating the role within the Power BI service

Sie können überprüfen, ob die von Ihnen definierte Rolle ordnungsgemäß funktioniert, indem Sie sie testen.You can validate that the role you defined is working correctly by testing the role.

  1. Wählen Sie das Auslassungszeichen (...) neben der Rolle aus.Select the ellipsis (...) next to the role.
  2. Wählen Sie Daten als Rolle testen aus.Select Test data as role

Es werden dann die für diese Rolle verfügbaren Berichte angezeigt.You will then see reports that are available for this role. Dashboards werden in dieser Ansicht nicht angezeigt.Dashboards are not presented in this view. Auf der blauen Leiste oben sehen Sie, was angewendet wird.In the blue bar above, you will see what is being applied.

Sie können andere Rollen oder eine Kombination von Rollen testen, indem Sie Now viewing as (Jetzt anzeigen als) auswählen.You can test other roles, or combination of roles, by selecting Now viewing as.

Sie können auch Daten als eine bestimmte Person anzeigen oder eine Kombination der verfügbaren Rollen auswählen, um deren ordnungsgemäße Funktion zu überprüfen.You can choose to view data as a specific person, or you can select a combination of available roles to validate they are working.

Um zur normalen Ansicht zurückzukehren, wählen Sie Zurück zur Sicherheit auf Zeilenebene aus.To return to normal viewing, select Back to Row-Level Security.

Verwenden der DAX-Funktion „username()“ oder „userprincipalname()“Using the username() or userprincipalname() DAX function

Sie können die DAX-Funktion username() oder userprincipalname() in Ihrem Dataset verwenden.You can take advantage of the DAX functions username() or userprincipalname() within your dataset. Sie können beide Funktionen in Ausdrücken in Power BI Desktop verwenden.You can use them within expressions in Power BI Desktop. Wenn Sie Ihr Modell veröffentlichen, wird es im Power BI-Dienst verwendet.When you publish your model, it will be used within the Power BI service.

In Power BI Desktop gibt username() einen Benutzer im Format DOMÄNE\Benutzer und userprincipalname() einen Benutzer im Format user@contoso.com zurück.Within Power BI Desktop, username() will return a user in the format of DOMAIN\User and userprincipalname() will return a user in the format of user@contoso.com.

Im Power BI-Dienst geben sowohl username() als auch userprincipalname() den Benutzerprinzipalnamen (User Principal Name, UPN) des Benutzers zurück.Within the Power BI service, username() and userprincipalname() will both return the user's User Principal Name (UPN). Dieser ähnelt einer E-Mail-Adresse.This looks similar to an email address.

Verwenden von RLS mit App-Arbeitsbereichen in Power BIUsing RLS with app workspaces in Power BI

Wenn Sie Ihren Power BI Desktop-Bericht in einem App-Arbeitsbereich im Power BI-Dienst veröffentlichen, werden die Rollen auf Mitglieder mit Lesezugriff angewendet.If you publish your Power BI Desktop report to an app workspace within the Power BI service, the roles will be applied to read-only members. Sie müssen in den Einstellungen angeben, dass Mitglieder die Power BI-Inhalte nur im App-Arbeitsbereich anzeigen können.You will need to indicate that members can only view Power BI content within the app workspace settings.

Warnung

Wenn Sie den App-Arbeitsbereich so konfiguriert haben, dass deren Mitglieder über Bearbeitungsberechtigungen verfügen, werden die RLS-Rollen nicht auf diese angewendet.If you have configured the app workspace so that members have edit permissions, the RLS roles will not be applied to them. Benutzer können dann alle Daten einsehen.Users will be able to see all of the data.

EinschränkungenLimitations

Es folgt eine Liste der aktuellen Einschränkungen für die Sicherheit auf Zeilenebene für Cloudmodelle.Following is a list of the current limitations for row-level security on cloud models.

  • Wenn Sie bereits Rollen und Regeln im Power BI-Dienst definiert haben, müssen Sie diese in Power BI Desktop neu erstellen.If you previously defined roles and rules in the Power BI service, you must re-create them in Power BI Desktop.

  • Sie können Sicherheit auf Zeilenebene (Row Level Security, RLS) nur auf den mithilfe von Power BI Desktop erstellten Datasets definieren.You can define RLS only on the datasets created with Power BI Desktop. 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.If you want to enable RLS for datasets created with Excel, you must convert your files into Power BI Desktop (PBIX) files first. Weitere InformationenLearn more

  • Es werden nur ETL- und DirectQuery-Verbindungen unterstützt.Only ETL and DirectQuery connections are supported. Live-Verbindungen zu Analysis Services werden im lokalen Modell verarbeitet.Live connections to Analysis Services are handled in the on-premises model.

  • RLS unterstützt derzeit Q&A und Cortana nicht.Q&A and Cortana are not supported with RLS at this time. Das Q&A-Eingabefeld für Dashboards wird nicht angezeigt, wenn für alle Modelle RLS konfiguriert ist.You will not see the Q&A input box for dashboards if all models have RLS configured. Das ist zwar geplant, jedoch können wir noch keinen Zeitplan nennen.This is on the roadmap, but a timeline is not available.

Bekannte ProblemeKnown issues

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.There is a known issue where you'll get an error message if you try to publish a previously published report from Power BI Desktop. Das Szenario lautet wie folgt:The scenario is as follows.

  1. Anna verfügt über ein Dataset, das im Power BI-Dienst veröffentlicht und für RLS konfiguriert wurde.Anna has a dataset that is published to the Power BI service and has configured RLS.

  2. Anna aktualisiert den Bericht in Power BI Desktop und veröffentlicht ihn erneut.Anna updates the report in Power BI Desktop and republishes.

  3. Anna erhält eine Fehlermeldung.Anna receives an error.

Problemumgehung: Veröffentlichen Sie die Power BI Desktop-Datei erneut im Power BI-Dienst, bis dieses Problem behoben ist.Workaround: Republish the Power BI Desktop file from the Power BI service until this issue is resolved. Sie erreichen dies, indem Sie auf Daten abrufen > Dateien klicken.You can do that by selecting Get Data > Files.

HÄUFIG GESTELLTE FRAGENFAQ

Frage: Was passiert, wenn ich im Power BI-Dienst bereits Rollen und Regeln für ein Dataset erstellt habe?Question: What if I had previously created roles and rules for a dataset in the Power BI service? Werden sie weiterhin funktionieren, wenn ich sie so belasse?Will they still work if I do nothing?
Antwort: Nein.Answer: No. Visualisierungen werden nicht ordnungsgemäß gerendert.Visuals will not render properly. Sie müssen die Rollen und Regeln in Power BI Desktop neu erstellen und anschließend im Power BI-Dienst veröffentlichen.You will have to re-create the roles and rules within Power BI Desktop and then publish to the Power BI service.

Frage: Kann ich solche Rollen für Analysis Services-Datenquellen erstellen?Question: Can I create these roles for Analysis Services data sources?
Antwort: Das ist möglich, wenn Sie die Daten in Power BI Desktop importiert haben.Answer: You can if you imported the data into Power BI Desktop. Wenn Sie eine Liveverbindung verwenden, werden Sie RLS nicht im Power BI-Dienst konfigurieren können.If you are using a live connection, you will not be able to configure RLS within the Power BI service. Dies wird im lokalen Analysis Services-Modell definiert.This is defined within the Analysis Services model on-premises.

Frage: Kann ich mit RLS die Spalten oder Measures beschränken, auf die Benutzer Zugriff haben?Question: Can I use RLS to limit the columns or measures accessible by my users?
Antwort: Nein.Answer: No. Wenn ein Benutzer Zugriff auf eine bestimmte Datenzeile hat, sind alle Datenspalten dieser Zeile für ihn sichtbar.If a user has access to a particular row of data, they can see all the columns of data for that row.

Frage: Kann ich bei RLS Detaildaten in Visuals ausblenden und Zugriff auf in Visuals zusammengefasste Daten erteilen?Question: Does RLS let me hide detailed data but give access to data summarized in visuals?
Antwort: Nein. Sie sichern einzelne Datenzeilen, für die Benutzer werden jedoch immer entweder die Details oder die zusammengefassten Daten angezeigt.Answer: No, you secure individual rows of data but users can always see either the details or the summarized data.

Nächste SchritteNext steps

Sicherheit auf Zeilenebene (Row-Level Security; RLS) mit Power BI DesktopRow-level security (RLS) with Power BI Desktop

Weitere Fragen?More questions? Stellen Sie Ihre Frage in der Power BI-Community.Try asking the Power BI Community