Freigeben über


Vorgehensweise: Aktivieren Sie die Sicherheit auf Zeilenebene in Power BI auf Power Pages

Genauso wie Power Pages das Werkzeug der Wahl ist, um Ihre Microsoft Dataverse Bereitstellung in Form einer Website schnell der Öffentlichkeit zugänglich zu machen, ist das Power BI das Werkzeug der Wahl, um elegante datengesteuerte Visualisierungen zu rendern. Die Schönheit des Power Platform liegt in seiner Fähigkeit, beides nahtlos zu verschmelzen. Um einen Power BI Bericht auf einer Webseite darzustellen, mussten Administratoren in der Vergangenheit den Bericht im Web veröffentlichen und ihn in eine iFrame einbetten. Selbst wenn man Seitenberechtigungen anwendet, um die Seite mit dem Bericht zu sperren, könnte jeder, wenn eine Person über den Link verfügt, der zum Einbetten des Berichts verwendet wird, immer noch außerhalb der Website darauf zugreifen.

Der Zweck von Im Web veröffentlichen besteht darin, es jeder Person im Web zu ermöglichen, die Daten zu nutzen und den Bericht sogar erneut zu teilen.

Warnung

Wenn Sie Im Web veröffentlichen verwenden, kann jedermann Ihren veröffentlichten Bericht oder Ihr veröffentliches Visual im Internet ansehen. Die Ansicht erfordert keine Authentifizierung. Dies gilt auch für das Anzeigen von Daten auf Detailebene, die Ihre Berichte aggregiert. Vergewissern Sie sich vor dem Veröffentlichen eines Berichts, dass die öffentliche Weitergabe der Daten und Visuals in Ihrem Sinne ist. Veröffentlichen Sie keine vertraulichen oder geschützten Informationen. Überprüfen Sie vor der Veröffentlichung im Zweifelsfall die Richtlinien Ihrer Organisation.

Mit Power BI Embedded kann man Benutzern kontextabhängig Power BI Komponenten bereitstellen, automatische Filter mithilfe eines Filterparameters übergeben und Sicherheitsfunktionen auf Zeilenebene aktivieren, um einer Organisation zu ermöglichen, die für Benutzer sichtbaren Daten wirkungsvoll zu schützen und nur das anzuzzeigen, was sie sehen sollen.

Anmerkung

Sicherheit auf Zeilenebene ist nur unterstützt für Power BI Embedded.

Anforderungen

Szenario

Sie arbeiten für ein Gruppenfitnessstudio und verwenden Dataverse , um Gruppenfitnesskurse und deren Teilnahme zu verfolgen. Die Gruppenfitnesstrainer sind nicht bei Ihrem Mandant ansässig, da jeder als Auftragnehmer behandelt wird. Diese Gruppenfitnesstrainer können Ihre Website nutzen, um sich anzumelden und den Verlauf ihrer unterrichteten Kurse, ihren bevorstehenden Zeitplan und die Teilnehmergebühren einzusehen. Sie sollten jedoch nur die Kurse sehen können, die sie selbst unterrichtet haben, und nicht die aller anderen.

Die Instruktoren werden vom Kontakt-Datensatz in Dataverse dargestellt. Beim Zugriff auf die Power Pages Website, tun sie dies, während der Kontakt aufgezeichnet wird. Die Daten, die sie auf der Website sehen müssen, stammen aus unserer benutzerdefinierten Tabelle Klassen. Die Klassentabelle hat eine N*:1-Beziehung zu einem Kontakt, da das Klassenformular über ein Nachschlagefeld mit dem Namen Lehrer verfügt, was für die Kontakttabelle gilt.

Eine Aufzeichnung einer Klasse in Dataverse.

Damit die Sicherheit auf Zeilenebene für Power Pages Benutzer (Kontakte) funktioninert, muss eine direkte Beziehung zwischen dem Kontakt und der Tabelle, gegen die Sie berichten betehen. Unten finden Sie ein Beispiel eines Datenmodells für dieses Szenario:

Kontaktbeziehung zur Klassentabelle.

Konfigurieren Sie einen Power BI-Bericht oder ein -Dashboard,

  1. Öffnen Sie Ihren Power BI Bericht oder das Dashboard in Power BI Desktop.

    Power BI Bericht des Instruktors.

  2. Wir müssen die Beziehung zwischen Kontakt und unserer Tabelle (Klassen in diesem Szenario) ändern, um bidirektionale Filterung zu verwenden. Wählen Sie dazu in der Registerkarte Modell auf der linken Seite aus.

    Modelloptionen in Power BI.

  3. Wählen Sie die Zeile aus, die Ihre Kontakttabelle mit der Tabelle verknüpft, die die Daten Ihres Berichts enthält – im Beispielfall ist dies vbd_class, da wir über Kurse berichten.

  4. Im Fenster Beziehung bearbeiten gibt es zwei Auswahllisten. Wählen Sie oben die Tabelle aus, über die Sie berichten (vbd_class) und wählen Sie die Spalte mit der eindeutigen Kennung des Datensatzes aus.

  5. Wählen Sie in der unteren Auswahlliste die Tabelle Kontakt und die Spalte Kontakt aus.

  6. Kardinalität gibt viele zu eins (*:1) an. Ändern Sie den Wert Filterrichtung kreuzen auf Beide.

    Verknüpfung zwischen Tabellen bearbeiten.

  7. Wählen Sie OK aus.

  8. Während wir die Sicherheit auf Zeilenebene (RLS) implementieren, müssen wir unsere Rolle erstellen. Wählen Sie im Start Menüband Rollen verwalten aus.

  9. Klicken Sie unter Rollen auf erstellen. Name der Rolle. Im Beispielszenario wurde pagesuser verwendet.

  10. Wählen aus der Spalte Tabellen Kontakt aus.

  11. Füllen Sie das Textfeld rechts mit dem DAX-Ausdruck:

    [User Name] = username()

    Anmerkung

    Das Feld [Username] befindet sich in der Kontakttabelle und ist kein tatsächlicher Benutzername. Dies verweist auf die Tabelle adx_externalidentity , die von Power Pages verwendet wird. Dies hat die GUID, die in der Funktion username() an Power BI gesendet wird.

    Rollen verwalten in Power BI.

  12. Wählen Sie Speichern aus, und speichern Sie Ihre Datei.

  13. Klicken Sie im Menüband Start auf Veröffentlichen.

  14. Wählen Sie einen Organisationsarbeitsbereich aus, dessen Eigentümer Sie sind und der von der Power Pages-Integration verwendet wird. Wählen Sie Auswählen.

Power BI-Integration konfigurieren

Lesen Sie Einrichten der Power BI Integration, um Ihre Website für die Power BI Integration zu aktivieren.

Einbetten des Power BI-Berichts

  1. Navigieren zu Power Pages. Suchen Sie die Power Pages Website, in die Sie den Bericht einbetten möchten, und wählen Sie dann Bearbeiten aus, um das Power Pages Designstudio zu öffnen.

  2. Wählen Sie im Arbeitsbereich Seiten die Webseite aus, auf der Sie den Bericht einbetten möchten.

  3. Fügen Sie einen Abschnitt zum Hauptteil der Webseite hinzu.

  4. Wählen Sie das Symbol Power BI aus, wenn Sie aufgefordert werden, auszuwählen, welche Komponente Sie innerhalb des Abschnitts hinzufügen möchten.

    Hinzufügen eines Abschnitts zu einer Webseite.

  5. Wenn die Komponente den Abschnitt füllt, wählen Sie in der oberen linken Ecke Bearbeiten Power BI aus.

  6. Zugriffstyp auswählen. Folgende Optionen sind verfügbar:

    1. Für Ihre Kundschaft einbetten: Ermöglicht die sichere Freigabe von Power BI für externe Benutzende ohne eine Power BI-Lizenz oder die Microsoft Entra-Authentifizierungseinrichtung.

    2. Für Ihre Organisation einbetten: Dabei wird die Microsoft Entra Authentifizierung verwendet, um den Bericht von Power BI zu teilen, damit interne Benutzer ihn sehen können.

    3. Im Web veröffentlichen: Dies ermöglicht allen, auf Berichte und Daten im Internet zuzugreifen.

    Vorsicht

    Stellen Sie sicher, dass es sich hierbei nicht um vertrauliche Informationen handelt!

    Zusätzliche Informationen: Im Web veröffentlichen

    Wählen Sie Für Ihre Kunden einbetten.

  7. Wählen Sie Ihren Arbeitsbereich aus, der den Bericht oder das Dashboard enthält, geben Sie den Typ als Bericht oder Dashboard an und wählen Sie dann den Bericht oder das Dashboard aus der letzten Dropdown-Liste aus. Wenn es sich um einen Bericht handelt, müssen Sie angeben, welche Seite Sie einbetten.

    Bericht auswählen.

  8. Um den Code anzuzeigen, der den Bericht oder das Dashboard eingebettet hat, wählen Sie in der oberen rechten Ecke des Studios Code bearbeiten aus.

    Code bearbeiten.

  9. Wenn Sie aufgefordert werden, wählen Sie Visual Studio Code öffnen. Auf der linken Seite ist unter PowerPages (Arbeitsbereich) der Name der Power Pages Website mit einem Dropdown-Menü zur Webseite. In diesem Abschnitt sehen Sie eine CSS-Datei, eine JS-Datei und die HTML-Kopie. Stellen Sie sicher, dass Sie sich in der HTML-Kopierdatei befinden.

    VS Code.

  10. Wählen Sie STRG+F und suchen Sie nach {% damit wir schnell den Code identifizieren können, der den Verweis auf unser Power BI Dashboard oder enthält Bericht. {% zeigt das Öffnen eines Tags an, das Logik für die Sprache Liquid erstellt. Liquid ist unsere Brücke zwischen Dataverse und dem, womit Benutzer auf der Website interagieren. Wenn wir den Studio-Editor zum Einbetten von Komponenten verwenden, wird automatisch ein Stück Liquid-Code im Quellcode der Webseite erstellt. Weitere Informationen zum Power BI Liquid-Tag finden Sie hier: Dataverse Liquid-Tags und Hinzufügen Power BI melden.

  11. Die vollständige Zeile des Liquid-Codes, die Sie sehen, sieht folgendermaßen aus:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
    
  12. Schließen Sie die Registerkarte Visual Studio Code für das Web .

  13. Wählen Sie im Power Pages Designstudio die eingebettete Power BI Komponente und wählen Sie Power BI bearbeiten.

  14. Scrollen Sie nach unten, um Rollen anwenden auf wahr/ja umzuschalten.

  15. Geben Sie im Textfeld Rollen den Namen der Rolle ein, die Sie in Power BI Desktop erstellt haben.

    Rollen einer Power BI Komponente hinzufügen.

  16. Um die Änderungen am Code anzuzeigen, der den Bericht oder das Dashboard eingebettet hat, wählen Sie in der oberen rechten Ecke des Studios Code bearbeiten aus.

  17. Die vollständige Zeile des Liquid-Codes, die Sie sehen, sieht jetzt folgendermaßen aus:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection" roles:"pagesuser" %}
    
  18. Schließen Sie die Registerkarte Visual Studio Code, um zum Designstudio zurückzukehren.

  19. Zeigen Sie eine Vorschau des resultierenden eingebetteten Berichts oder Dashboards in Ihrem Browser an, indem Sie oben rechts Synchronisieren und dann Vorschau > Desktop auswählen.

  20. Um den Bericht zu testen, können Sie, wenn kein Benutzer angemeldet ist, sehen, dass das RLS angewendet wurde, da beim Navigieren zur Power Pages Website keine Datensätze zurückgegeben werden:

    Leerer Bericht.

    Dieser Bericht enthält zugrunde liegende Daten, wie wenn Sie ihn über Power BI Desktop ohne die Anwendung des RLS anzeigen. Sie können sehen, dass es insgesamt mehrere Datensätze gibt, die jedoch mit einem Kontaktdatensatz verknüpft sind.

  21. Um dies weiter zu testen: Wenn wir uns mit einem Benutzer auf der Website anmelden, der über einen entsprechenden Kontakt mit zugehörigen Daten verfügt, können Sie auf der Webseite nur die Datensätze sehen, die sich auf den angemeldeten Benutzer beziehen:

    Klassenbericht auf der Webseite.

Übersicht

Sie haben einen eingebetteten Power BI Bericht oder ein Dashboard, das Sicherheit auf Zeilenebene in Ihrer Power Pages Webseite verwendet!

Der Filterbereich wird standardmäßig angezeigt. Zum Ausblenden des Filterbereichs ist JavaScript erforderlich. Die Schritte dazu sind hier dokumentiert: Fügen Sie einen Power BI Bericht oder ein Dashboard zu einer Webseite in einem Portal hinzu.