Problembehandlung bei Embedded-Anwendungen
In diesem Artikel werden einige gängige Probleme erläutert, die beim Einbetten von Inhalten über Power BI auftreten können.
Problembehandlungstools
Fiddler-Ablaufverfolgung
Fiddler ist ein kostenloses Tool von Telerik, mit dem HTTP-Datenverkehr überwacht wird. Sie können den Datenverkehr zwischen den Power BI-APIs und dem Clientcomputer verfolgen. Dieses Tool kann ggf. Fehler und ähnliche Informationen anzeigen.
F12 im Browser zum Debuggen des Front-Ends
Über die Taste F12 wird das Entwicklerfenster im Browser geöffnet. Mit diesem Tool können Sie den Netzwerkdatenverkehr untersuchen und andere nützliche Informationen einsehen.
Extrahieren von Fehlerdetails aus einer Power BI-Antwort
Dieses Codeschnipsel veranschaulicht, wie Sie die Fehlerdetails aus der HTTP-Ausnahme extrahieren:
public static string GetExceptionText(this HttpOperationException exc)
{
var errorText = string.Format("Request: {0}\r\nStatus: {1} ({2})\r\nResponse: {3}",
exc.Request.Content, exc.Response.StatusCode, (int)exc.Response.StatusCode, exc.Response.Content);
if (exc.Response.Headers.ContainsKey("RequestId"))
{
var requestId = exc.Response.Headers["RequestId"].FirstOrDefault();
errorText += string.Format("\r\nRequestId: {0}", requestId);
}
return errorText;
}
Es wird empfohlen, die Anforderungs-ID (und die Fehlerdetails für die Problembehandlung) zu protokollieren. Geben Sie die Anforderungs-ID an, wenn Sie sich an den Microsoft-Support wenden.
App-Registrierung
Fehler bei der App-Registrierung
Fehlermeldungen im Azure-Portal oder auf der Registrierungsseite für Power BI-Apps informieren Sie, wenn Sie keine ausreichenden Berechtigungen für die Registrierung Ihrer App haben. Um eine Anwendung zu registrieren, müssen Sie als Administrator im/in der Microsoft Entra-Mandanten*in fungieren, oder die Anwendungsregistrierung muss für Nicht-Administratorbenutzer aktiviert sein.
Power BI-Dienst wird beim Registrieren einer neuen App im Azure-Portal nicht aufgeführt
Mindestens ein Benutzer muss bei Power BI registriert sein. Wenn der Power BI-Dienst nicht in der API-Liste aufgeführt wird, ist kein Benutzer für Power BI registriert.
Inwiefern unterscheiden sich eine Anwendungsobjekt-ID und Prinzipalobjekt-ID?
Beim Registrieren einer Microsoft Entra-App gibt es zwei Parameter, die als Objekt-ID bezeichnet werden. In diesem Abschnitt wird erläutert, welchen Zweck die Parameter erfüllen und wie sie abgerufen werden.
Anwendungsobjekt-ID
Die Anwendungsobjekt-ID, die auch einfach als Objekt-ID bezeichnet wird, ist die eindeutige ID Ihres Microsoft Entra-Anwendungsobjekts.
Zum Abrufen der Anwendungsobjekt-ID navigieren Sie zu Ihrer Microsoft Entra-App, und kopieren Sie sie aus der Übersicht.
Prinzipalobjekt-ID
Die Prinzipalobjekt-ID, die ebenfalls auch einfach als Objekt-ID bezeichnet wird, ist die eindeutige ID des Dienstprinzipalobjekts, das Ihrer Microsoft Entra-Anwendung zugeordnet ist.
Zum Abrufen der Prinzipalobjekt-ID navigieren Sie zu Ihrer Microsoft Entra-App und klicken in der Übersicht auf den App-Link unter Verwaltete Anwendung in lokalem Verzeichnis.
Kopieren Sie im Abschnitt Eigenschaften die Objekt-ID.
Authentifizierung
Authentifizierung schlägt mit AADSTS70002 oder AADSTS50053 fehl
(AADSTS70002: Fehler beim Überprüfen der Anmeldeinformationen. AADSTS50053: Sie haben zu oft versucht, sich mit einem falschen Benutzernamen oder Kennwort anzumelden.)
Wenn Sie Power BI Embedded und die direkte Microsoft Entra-Authentifizierung verwenden, erhalten Sie beim Versuch, sich anzumelden, möglicherweise eine ähnliche Meldung wie oben, da die direkte Authentifizierung deaktiviert ist.
Sie können die direkte Authentifizierung mithilfe einer Microsoft Entra-Richtlinie reaktivieren, die für die Organisation oder einen Dienstprinzipal gilt.
Es empfiehlt sich, die Aktivierung der Richtlinie nur App-spezifisch vorzunehmen.
Zum Erstellen dieser Richtlinie müssen Sie ein globaler Administrator des Verzeichnisses sein, in dem Sie die Richtlinie erstellen und zuweisen. Hier sehen Sie ein Beispielskript zum Erstellen der Richtlinie und zum Zuweisen dieser Richtlinie zum SP der Anwendung:
Installieren Sie Microsoft Graph-PowerShell-SDK.
Führen Sie die folgenden PowerShell-Befehle Zeile für Zeile aus. (Achten Sie dabei darauf, dass die Variable
$sp
nicht mehr als eine Anwendung als Ergebnis hat.)Connect-MgGraph -Scopes "Directory.Read.All","Policy.ReadWrite.ApplicationConfiguration" $sp = Get-MgServicePrincipal -Filter "DisplayName eq 'Name_Of_Application'" $policy = New-MgBetaPolicyActivityBasedTimeoutPolicy -Definition @("{`"AllowCloudPasswordValidation`":true}") ` -DisplayName EnableDirectAuth -IsOrganizationDefault:$false $params = @{ "@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/$policy.Id" } New-MgBetaServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId $sp.Id ` -BodyParameter $params
Warten Sie nach der Zuweisung der Richtlinie zwischen 15 und 20 Sekunden, bis die Zuweisung weitergegeben wurde, bevor Sie sie testen.
Fehler beim Generieren des Tokens bei der Bereitstellung der effektiven Identität
Bei GenerateToken
kann bei Angabe einer effektiven Identität aus verschiedenen Gründen ein Fehler auftreten:
- Das semantische Modell unterstützt keine effektive Identität.
- Es wurde kein Benutzername angegeben.
- Es wurde keine Rolle angegeben.
DatasetId
wurde nicht angegeben.- Der Benutzer verfügt nicht über die richtigen Berechtigungen.
Um das Problem zu ermitteln, versuchen Sie die folgenden Schritte:
- Führen Sie get dataset aus. Ist die Eigenschaft
IsEffectiveIdentityRequired
true? - Benutzername ist für
EffectiveIdentity
erforderlich. - Wenn
IsEffectiveIdentityRolesRequired
true ist, muss eine Rolle angegeben werden. DatasetId
ist fürEffectiveIdentity
erforderlich.- Bei Analysis Services muss der Masterbenutzer auch Gatewayadministrator sein.
AADSTS90094: Die Erteilung erfordert eine Administratorberechtigung.
Symptome:
Wenn ein Benutzer ohne Administratorrechte versucht, sich zum ersten Mal bei einer Anwendung anzumelden und seine Einwilligung zu erteilen, erhält er einen der folgenden Fehler:
-
ConsentTest needs permission to access resources in your organization that only an admin can grant. Ask an admin to grant permission to this app before you can use it.
-
AADSTS90094: The grant requires admin permission.
Ein Administrator kann sich anmelden und die Einwilligung gewähren.
Grundursache:
Das Einwilligen des Benutzers ist für den Mandanten deaktiviert.
Es gibt mehrere Lösungen:
- Aktivieren Sie die Benutzereinwilligung für den gesamten Mandanten (alle Benutzer, alle Anwendung):
- Navigieren Sie im Azure-Portal zu Microsoft Entra ID>Benutzer und Gruppen>Benutzereinstellungen.
- Aktivieren Sie die Option Benutzer können Apps den Zugriff auf Unternehmensdaten in ihrem Namen gestatten, und speichern Sie die Änderungen.
- Ein Administrator kann der Anwendung Berechtigungen erteilen, entweder für den gesamten Mandanten oder einen bestimmten Benutzer.
Fehler „CS1061“
Laden Sie Microsoft.IdentityModel.Clients.ActiveDirectory herunter, wenn der folgende Fehler auftritt:
'AuthenticationContext' does not contain a definition for 'AcquireToken' and no accessible 'AcquireToken' accepting a first argument of type 'AuthenticationContext' could be found (are you missing a using directive or an assembly reference?)
Microsoft Entra-Token für einen anderen Mandanten (Gastbenutzer)
Wenn Sie für Ihre Organisation einbetten, um Microsoft Entra-Gastbenutzern den Zugriff auf Ihre Inhalte zu ermöglichen, müssen Sie die Mandanten-ID im Parameter authorityUri
angeben.
URL für die Authentifizierung beim Mandanten Ihrer Organisation:
https://login.microsoftonline.com/common/v2.0
URL zum Authentifizieren einer*s Microsoft Entra-Gastbenutzerin*s:
https://login.microsoftonline.com/<tenant ID>
Zum Auffinden Ihrer Mandant*inen-ID können Sie die Anweisungen unter Suchen der Microsoft Entra-Mandant*inen-ID und des primären Domänennamens verwenden.
Weitere Informationen finden Sie im Thema zum Erstellen einer mehrinstanzenfähigen Anwendung.
Datenquellen
ISV möchte unterschiedliche Anmeldeinformationen für die gleiche Datenquelle verwenden
Eine Datenquelle kann für einen Masterbenutzer eine einzelne Kombination von Anmeldeinformation besitzen. Wenn Sie verschiedene Anmeldeinformationen verwenden müssen, erstellen Sie zusätzliche Masterbenutzer. Weisen Sie anschließend die anderen Anmeldeinformationen im Kontext jeder*s einzelnen Masterbenutzerin*s zu und betten sie mit dem Microsoft Entra-Token des entsprechenden Benutzerin*s ein.
Problembehandlung bei Embedded-Anwendungen mit dem IError-Objekt
Verwenden Sie das IError-Objekt, das vom Ereigniserror aus dem JavaScript SDK zurückgegeben wird, um Ihre Anwendung zu debuggen und die Ursache der Fehler zu ermitteln.
Nach dem Abruf des IError-Objekts sollten Sie die relevante Tabelle häufiger Fehler überprüfen, die dem verwendeten Einbettungstyp entspricht. Vergleichen Sie die IError-Eigenschaften mit denen in der Tabelle, und ermitteln Sie die möglichen Fehlerursachen.
Typische Fehler bei der Einbettung für Power BI-Benutzer
Nachricht | Detaillierte Meldung | Fehlercode | Mögliche Ursachen |
---|---|---|---|
TokenExpired | Das Zugriffstoken ist abgelaufen. Wiederholen Sie die Übermittlung mit einem neuen Zugriffstoken. | 403 | Abgelaufenes Token |
PowerBIEntityNotFound | Fehler beim Abrufen des Berichts. | 404 | |
Ungültige Parameter | powerbiToken-Parameter nicht angegeben. | Nicht zutreffend | |
LoadReportFailed | Fehler beim Initialisieren: Cluster kann nicht aufgelöst werden. | 403 | |
PowerBINotAuthorizedException | Fehler beim Abrufen des Berichts. | 401 | |
TokenExpired | Das Zugriffstoken ist abgelaufen. Wiederholen Sie die Übermittlung mit einem neuen Zugriffstoken. Ein Berichtsvisual mit dem folgenden Titel konnte nicht gerendert werden: Titel des Visuals | Nicht zutreffend | |
OpenConnectionError | Das Visual kann nicht angezeigt werden. Ein Berichtsvisual mit dem folgenden Titel konnte nicht gerendert werden: Titel des Visuals | N/V | Kapazität angehalten oder gelöscht, während ein Bericht mit Bezug zur Kapazität in einer Sitzung geöffnet war |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Das diesem Bericht zugeordnete Modellschema konnte nicht geladen werden. Stellen Sie sicher, dass eine Verbindung mit dem Server besteht, und versuchen Sie es noch mal. | Nicht zutreffend |
Typische Fehler bei der Einbettung für Nicht-Power BI-Benutzer (mithilfe eines Einbindungstokens)
Nachricht | Detaillierte Meldung | Fehlercode | Ursachen |
---|---|---|---|
TokenExpired | Das Zugriffstoken ist abgelaufen. Wiederholen Sie die Übermittlung mit einem neuen Zugriffstoken. | 403 | Abgelaufenes Token |
LoadReportFailed | Fehler beim Abrufen des Berichts. | 404 | |
LoadReportFailed | Fehler beim Abrufen des Berichts. | 403 | Bericht-ID stimmt nicht mit Token überein |
LoadReportFailed | Fehler beim Abrufen des Berichts. | 500 | Bericht-ID ist keine GUID |
Ungültige Parameter | powerbiToken-Parameter nicht angegeben. | Nicht zutreffend | |
LoadReportFailed | Fehler beim Initialisieren: Cluster kann nicht aufgelöst werden. | 403 | Falscher Tokentyp oder ungültiges Token |
PowerBINotAuthorizedException | Fehler beim Abrufen des Berichts. | 401 | Falsche/nicht autorisierte Gruppen-ID |
TokenExpired | Das Zugriffstoken ist abgelaufen. Wiederholen Sie die Übermittlung mit einem neuen Zugriffstoken. Ein Berichtsvisual mit dem folgenden Titel konnte nicht gerendert werden: Titel des Visuals | Nicht zutreffend | |
OpenConnectionError | Das Visual kann nicht angezeigt werden. Ein Berichtsvisual mit dem folgenden Titel konnte nicht gerendert werden: Titel des Visuals | N/V | Kapazität angehalten oder gelöscht, während ein Bericht mit Bezug zur Kapazität in einer Sitzung geöffnet war |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Das diesem Bericht zugeordnete Modellschema konnte nicht geladen werden. Stellen Sie sicher, dass eine Verbindung mit dem Server besteht, und versuchen Sie es noch mal. | Nicht zutreffend |
Fehler beim Abrufen des Berichts – Fehler 401 – löst sich selbst
Manchmal erhalten Benutzer im Szenario User Owns Data den Fehler 401, der sich nach dem Zugriff auf das Power BI-Portal selbst löst. Fügen Sie der App den Aufruf RefreshUserPermissions hinzu, wenn der Fehler 401 auftritt (siehe Benutzerberechtigungen aktualisieren).
Semantische Modelle
Verwalten der für Benutzer sichtbaren Daten
Jeder Benutzer mit Leseberechtigungen für ein semantisches Modell kann das gesamte Schema (Tabellen, Spalten und Measures) und alle Daten anzeigen. Sie können die Anzeigeberechtigungen für unformatierte und aggregierte Daten nicht separat im selben semantischen Modell steuern.
Verwenden Sie eine der folgenden Methoden, um zu verwalten, welche Daten Benutzer anzeigen können:
Filtern auf Zeilenebene mithilfe der Sicherheit auf Zeilenebene (Row-level Security, RLS) von Power BI
Trennen Sie die Daten in verschiedene semantische Modelle. Beispielsweise können Sie ein semantisches Modell erstellen, das nur aggregierte Daten enthält, und Ihren Benutzern dann nur Zugriff auf dieses Dataset geben.
Inhaltsrendering
In diesem Abschnitt finden Sie Informationen zum Beheben von Problemen beim Rendering von eingebetteten Power BI-Elementen (z. B. Berichten und Dashboards).
Stellen Sie sicher, dass das Power BI-Element im Power BI-Dienst geladen wird.
Um Probleme mit Ihrer Anwendung oder den APIs für die Einbettung auszuschließen, überprüfen Sie zunächst, ob das Element im Power BI-Dienst (powerbi.com) angezeigt werden kann.
Vergewissern Sie sich, dass das Power BI-Element im Power BI Embedded Analytics-Playground geladen wird.
Um Probleme mit Ihrer Anwendung auszuschließen, vergewissern Sie sich, dass das Power BI-Element im Power BI Embedded Analytics-Playground angezeigt werden kann.
Stellen Sie sicher, dass Ihr Zugriffstoken nicht abgelaufen ist.
Aus Sicherheitsgründen haben Zugriffstoken (Microsoft Entra- oder Einbettungstoken) eine begrenzte Lebensdauer. Sie sollten Ihr Zugriffstoken permanent überwachen und bei Bedarf aktualisieren. Weitere Informationen finden Sie unter Zugriffstoken aktualisieren.
Leistung
Um leistungsfähige eingebettete Inhalte zu erhalten, sollten die Bewährten Methoden für Power BI Embedded Analytics eingehalten werden.
Einbettungssetuptool
Sie können mit dem Einbettungssetuptool schnell eine Beispielanwendung herunterladen. Anschließend können Sie Ihre Anwendung mit dem Beispiel vergleichen.
Voraussetzungen
Überprüfen Sie, ob Sie alle Voraussetzungen erfüllen, bevor Sie das Einbettungssetuptool verwenden. Sie benötigen ein Power BI Pro-Konto und ein Microsoft Azure-Abonnement.
- Wenn Sie noch nicht bei Power BI Pro registriert sind, registrieren Sie sich für eine kostenlose Testversion, bevor Sie beginnen.
- Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
- Sie müssen über ein eigenes Microsoft Entra-Mandant*inen-Setup verfügen.
- Visual Studio muss installiert sein (Version 2013 oder höher).
Häufige Probleme
Es gibt einige gängige Probleme, die auftreten können, wenn Sie das Einbettungssetuptool testen:
Verwenden der Beispielanwendung „Einbetten für Ihre Kunden“
Wenn Sie mit dem Szenario Einbetten für Ihre Kunden arbeiten, speichern und entzippen Sie die Datei PowerBI-Developer-Samples.zip. Öffnen Sie anschließend den Ordner PowerBI-Developer-Samples-master\App Owns Data, und führen Sie die Datei PowerBIEmbedded_AppOwnsData.sln aus.
- Wenn Sie Berechtigungen erteilen (der Schritt „Berechtigung erteilen“) ausführen, wird folgender Fehler ausgegeben:
AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
Sie beheben das Problem, indem Sie das Popupfenster schließen, ein paar Sekunden warten, und es dann nochmal versuchen. Möglicherweise müssen Sie diese Aktion ein paar Mal durchführen. Der Fehler wird durch das Zeitintervall verursacht, das vom Registrierungsprozess der Anwendung bis zur Verfügbarkeit für externe APIs eingestellt ist.
- Die folgende Fehlermeldung wird angezeigt, wenn Sie die Beispiel-App ausführen:
Password is empty. Please fill password of Power BI username in web.config.
Dieser Fehler wird ausgelöst, da der einzige Wert, der nicht in die Beispielanwendung eingeführt wird, Ihr Benutzerkennwort ist. Öffnen Sie die Web.config-Datei in der Lösung, und geben Sie das Kennwort Ihres Benutzers in das Feld pbiPassword
ein.
- Wenn Sie eine Fehlermeldung erhalten, müssen Sie Folgendes tun:
AADSTS50079: The user is required to use multi-factor authentication.
Sie müssen ein Microsoft Entra-Konto verwenden, für das MFA nicht aktiviert ist.
Verwenden der Beispielanwendung „Einbetten für Ihre Organisation“
Wenn Sie mit dem Szenario Einbetten für Ihre Organisation arbeiten, speichern und entzippen Sie die Datei PowerBI-Developer-Samples.zip. Öffnen Sie dann den Ordner PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app, und führen Sie die Datei pbi-saas-embed-report.sln aus.
- Wenn Sie die Beispiel-App Einbetten für Ihre Organisation ausführen, wird folgender Fehler ausgegeben:
AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
Dieser Fehler entsteht, weil die Umleitungs-URL, die für die Webserveranwendung angegeben ist, sich von der URL des Beispiels unterscheidet. Wenn Sie die Beispielanwendung registrieren möchten, verwenden Sie https://localhost:13526/
als Umleitungs-URL.
Wenn Sie die registrierte Anwendung bearbeiten möchten, aktualisieren Sie die bei Microsoft Entra registrierte Anwendung so, dass die Anwendung Zugriff auf die Web-APIs ermöglicht.
Wenn Sie Ihr Power BI-Benutzerprofil oder Ihre Daten bearbeiten möchten, erfahren Sie, wie Sie Ihre Power BI-Daten bearbeiten können.
- Wenn Sie eine Fehlermeldung erhalten, müssen Sie Folgendes tun:
AADSTS50079: The user is required to use multi-factor authentication.
Sie müssen ein Microsoft Entra-Konto verwenden, für das MFA nicht aktiviert ist.
Weitere Informationen finden Sie unter Häufig gestellte Fragen zu Power BI Embedded.
Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Support, oder erstellen Sie im Azure-Portal ein Supportticket, und geben Sie die Fehlermeldungen an, die Sie erhalten.
Zugehöriger Inhalt
Häufig gestellte Fragen zu Power BI Embedded
Weitere Fragen? Fragen an die Power BI-Community