Einbetten eines Berichts in ein sicheres Portal oder eine sichere Website
Mit der Option Einbetten für Power BI-Berichte können Sie Berichte ohne großen Aufwand und sicher in interne Webportale einbetten. Diese Portale können cloudbasiert sein oder lokal gehostet werden (z. B. SharePoint 2019). Eingebettete Berichte respektieren alle Elementberechtigungen und die Datensicherheit durch Sicherheit auf Zeilenebene (RLS) und Sicherheit auf Objektebene (OLS) im Analysis Services-Tabellenmodell. Diese Option ermöglicht ohne Programmieraufwand das Einbetten in beliebige Portale, die URL oder iFrame akzeptieren.
Die Option Einbetten unterstützt URL-Filter und URL-Einstellungen. Sie ermöglicht mit geringem Programmieraufwand, für den nur grundlegende HTML- und JavaScript-Kenntnisse benötigt werden, eine Integration in Portale.
Wichtig
Aufgrund fortlaufender Chromium-Sicherheitsupdates funktioniert die Option Einbetten nicht mehr genau so wie ursprünglich, und Benutzer werden möglicherweise mehrmals aufgefordert, sich zu authentifizieren. Um dies zu beheben, sollten Sie in Betracht ziehen, eine eigene eingebettete Power BI-Lösung zu erstellen.
Einbetten von Power BI-Berichten in Portale
Öffnen Sie einen Bericht im Power BI-Dienst.
Klicken Sie im Menü Datei auf Bericht einbetten>Website oder Portal.
Wählen Sie im daraufhin angezeigten Dialogfeld "Sicherer Einbettungscode " den Wert unter "Hier ein Link" aus, mit dem Sie diesen Inhalt einbetten können. Wenn Sie alternativ einen iFrame in einem Blog oder einer Website verwenden möchten, wählen Sie den Wert unter HTML-Code zum Einfügen in eine Website aus.
Unabhängig davon, ob ein Benutzer eine Berichts-URL direkt öffnet oder einen eingebetteten Bericht in einem Webportal öffnet, ist eine Authentifizierung für den Zugriff auf den Bericht erforderlich. Der folgende Bildschirm wird angezeigt, wenn ein Benutzer sich in seiner Browsersitzung nicht bei Power BI angemeldet hat. Wenn dieser Benutzer auf Anmelden klickt, sollte ein neues Browserfenster oder eine Registerkarte geöffnet werden. Weisen Sie die Benutzer an, Popupblocker zu überprüfen, wenn ihnen keine Anmeldeaufforderung angezeigt wird.
Nachdem sich der Benutzer angemeldet hat, wird der Bericht mit den Daten geöffnet. Anschließend kann er zwischen den Seiten navigieren und Filter festlegen. Nur Benutzer mit Leseberechtigung können den Bericht in Power BI anzeigen. Alle Regeln der Sicherheit auf Zeilenebene werden ebenfalls angewendet. Die Benutzer*innen müssen über die richtige Lizenz verfügen. Sie benötigen Power BI Pro- oder Power BI Premium-Einzelbenutzerlizenzen, oder die Inhalte müssen sich in einem Arbeitsbereich in einer Power BI Premium-Kapazität befinden. Benutzer*innen müssen sich beim Öffnen eines neuen Browserfensters jedes Mal neu anmelden. Nach der Anmeldung werden weitere Berichte jedoch automatisch geladen.
Wenn Sie einen iFrame verwenden, müssen Sie möglicherweise die Werte für Höhe und Breite anpassen, damit er auf die Webseite Ihres Portals passt.
<iframe width="1080" height="760" src="https://app.powerbi.com/reportEmbed?reportId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true" frameborder="0" allowFullScreen="true"></iframe>
Gewähren des Zugriffs auf den Bericht
Wenn Sie die Option Einbetten verwenden, erhalten Benutzer nicht automatisch die Berechtigung zum Anzeigen des Berichts. Die Leseberechtigungen werden im Power BI-Dienst festgelegt.
Im Power BI-Dienst können Sie eingebettete Berichte für Benutzer freigeben, die Zugriff benötigen. Wenn Sie eine Microsoft 365-Gruppe verwenden, können Sie Benutzer als Arbeitsbereichsmitglieder aufführen.
Lizenzierung
Zum Anzeigen des eingebetteten Berichts benötigen Sie entweder eine Power BI Pro-Lizenz oder Premium-Einzelbenutzerlizenz (PPU). Alternativ muss sich der Inhalt in einem Arbeitsbereich innerhalb einer Power BI Premium-Kapazität (EM- oder P-SKU) befinden.
Anpassen Ihrer Einbettungsbenutzeroberfläche über URL-Einstellungen
Sie können die Benutzeroberfläche mithilfe der Eingabeeinstellungen der Einbettungs-URL anpassen. Im bereitgestellten iFrame können Sie die src-Einstellungen der URL aktualisieren.
Eigenschaft | Beschreibung |
---|---|
pageName | Sie können den Abfragezeichenfolgenparameter pageName verwenden, um festzulegen, welche Berichtsseite geöffnet werden soll. Diesen Wert finden Sie am Ende der Berichts-URL, wenn Sie einen Bericht im Power BI-Dienst anzeigen, wie weiter unten in diesem Artikel gezeigt. |
URL-Filter | Sie können URL-Filter in der Einbettungs-URL verwenden, die Sie aus der Benutzeroberfläche von Power BI empfangen haben, um die eingebetteten Inhalte zu filtern. Auf diese Weise lassen sich Integrationen mit geringem Programmieraufwand erstellen, für die nur grundlegende Kenntnisse in HTML und JavaScript erforderlich sind. |
Festlegen der geöffneten Seite für einen eingebetteten Bericht
Den Wert pageName finden Sie am Ende der Berichts-URL, wenn Sie einen Bericht im Power BI-Dienst anzeigen.
Öffnen Sie den Bericht über den Power BI-Dienst in Ihrem Webbrowser, und kopieren Sie dann die URL aus der Adressleiste.
https://app.powerbi.com/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/reports/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ReportSection2
Fügen Sie die pageName-Eigenschaft und ihren Wert am Ende der URL an.
https://app.powerbi.com/reportEmbed?reportId=/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true&pageName=ReportSection2
Filtern der Berichtsinhalte mit URL-Filtern
Sie können URL-Filter verwenden, um verschiedene Berichtsansichten bereitzustellen. Beispielsweise filtert die folgende URL den Bericht, um Daten für die Energiebranche anzuzeigen.
Die Kombination von pageName und URL-Filter erlaubt besonders ausgefeilte Funktionen. Mit einfachem HTML und JavaScript lassen sich verschiedene Benutzeroberflächen gestalten.
Beispielsweise sehen Sie hier eine Schaltfläche, die Sie zu einer HTML-Seite hinzufügen können:
<button class="textLarge" onclick='show("ReportSection", "Energy");' style="display: inline-block;">Show Energy</button>
Bei Auswahl dieser Schaltfläche wird eine Funktion aufgerufen, um den iFrame mit einer aktualisierten URL zu versehen, die den Filter für die „Energy“-Branche enthält.
function show(pageName, filterValue)
{
var newUrl = baseUrl + "&pageName=" + pageName;
if(null != filterValue && "" != filterValue)
{
newUrl += "&$filter=Industries/Industry eq '" + filterValue + "'";
}
//Assumes there's an iFrame on the page with id="iFrame"
var report = document.getElementById("iFrame")
report.src = newUrl;
}
https://app.powerbi.com/reportEmbed?reportId=/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true&pageName=ReportSection&filter=Industries/Industry eq 'Energy'
Sie können beliebig viele Schaltflächen hinzufügen, um mit geringem Programmieraufwand eine individuelle Benutzeroberfläche zu erstellen.
Überlegungen und Einschränkungen
Paginierte Berichte werden mit sicheren Einbettungsszenarios unterstützt, und paginierte Berichte mit URL-Parametern werden ebenfalls unterstützt. Weitere Informationen finden Sie unter Übergeben eines Berichtsparameters in einer URL für einen paginierten Bericht in Power BI.
Die Option zur sicheren Einbettung funktioniert für Berichte, die im Power BI-Dienst veröffentlicht werden.
Um eingebettete Inhalte sicher zu hosten, müssen Benutzer HTTPS für die Seite auf oberster Ebene verwenden. Die Verwendung einer ungeschützten Hostseite für den Zugriff auf sicher eingebettete Inhalte wird nicht unterstützt.
Die Benutzerin oder der Benutzer muss sich anmelden, um den Bericht anzuzeigen, wenn sie oder er ein neues Browserfenster oder eine Registerkarte öffnet.
Für die Authentifizierung müssen Benutzer Popupfenster aktiviert haben.
Wenn Benutzer in der Vergangenheit erfolgreich auf Berichte zugreifen konnten, aber jetzt Probleme auftreten, sollten sie ihren Browsercache löschen.
Bei einigen Browsern müssen Sie die Seite nach der Anmeldung aktualisieren, insbesondere bei Verwendung des InPrivate- oder Inkognitomodus.
Möglicherweise treten Probleme auf, wenn Sie nicht unterstützte Browserversionen verwenden. Eine Liste der von Power BI unterstützten Browser finden Sie unter Unterstützte Browser für Power BI.
Wenn Ihre Website den Header cross-Origin-Opener-Policy (COOP) auf "same-origin" festlegt, können Sie sich nicht anmelden, um Ihre eingebetteten Inhalte anzuzeigen, da MSAL diesen Header nicht unterstützt. Wählen Sie stattdessen entweder „restrict-properties“ (für Chromium-basierte Browser) oder „same-origin-allow-popups“ aus. Wenn Sie die Cross-Origin-Opener-Policy nicht ändern können, können Sie alternativ direkt eine Verknüpfung mit der eingebetteten URL herstellen, anstatt sie in einen iframe einzubetten.
Der klassische SharePoint-Server wird nicht unterstützt, da er eine niedrigere Version als Internet Explorer 11 oder das Aktivieren des Kompatibilitätsansichtsmodus erfordert.
Einmaliges Anmelden wird unterstützt, wenn Sie die Option In SharePoint Online einbetten verwenden oder über die Einbettungsmethode Benutzer ist Besitzer der Daten eine benutzerdefinierte Integration erstellen.
Die Funktion zur automatischen Authentifizierung, die von der Option Einbetten unterstützt wird, kann nicht mit der Power BI-JavaScript-API verwendet werden. Sie werden ab Version 2.10.4 im eingebetteten PBI-Client-SDK blockiert. Verwenden Sie zum Einbetten mit der Power BI-JavaScript-API die Einbettungsmethode Benutzer ist Besitzer der Daten.
Die automatischen Authentifizierungsfunktionen funktionieren nicht, wenn sie in Anwendungen (mobile und Desktopanwendungen eingeschlossen) eingebettet sind.
Die Lebensdauer des Authentifizierungstokens wird basierend auf Ihren Microsoft Entra-Einstellungen gesteuert. Wenn das Authentifizierungstoken abläuft, muss der Benutzer sich erneut anmelden, um ein aktualisiertes Authentifizierungstoken zu erhalten. Die Standardlebensdauer beträgt eine Stunde. Sie kann in Ihrer Organisation aber auch kürzer oder länger sein. Sie können das Token in diesem Szenario nicht automatisch aktualisieren.