Problembehandlung bei eingebetteten Anwendungen
In diesem Artikel werden einige häufige Probleme erläutert, die beim Einbetten von Inhalten aus Power BI auftreten können.
Problembehandlungstools
Fiddler-Ablaufverfolgung
Fiddler ist ein kostenloses Tool von Telerik, das den HTTP-Datenverkehr überwacht. Sie können den Datenverkehr mit den Power BI-APIs vom Clientcomputer anzeigen. Dieses Tool zeigt möglicherweise Fehler und andere verwandte Informationen an.
F12 im Browser für das Frontend-Debugging
Mit der Taste F12 wird das Entwicklerfenster in Ihrem Browser gestartet. Mit diesem Tool können Sie den Netzwerkdatenverkehr betrachten und weitere wertvolle Informationen anzeigen.
Extrahieren von Fehlerdetails aus der Power BI-Antwort
Dieser Codeausschnitt zeigt, wie die Fehlerdetails aus einer HTTP-Ausnahme extrahiert werden:
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 Fehlerdetails zur Problembehandlung) zu protokollieren. Geben Sie beim Aufrufen des Microsoft-Supports die Anforderungs-ID an.
App-Registrierung
Fehler bei der App-Registrierung
Fehlermeldungen im Azure-Portal oder auf der Registrierungsseite der Power BI-App benachrichtigen Sie, wenn Sie nicht über ausreichende Berechtigungen zum Registrieren Ihrer App verfügen. Um eine Anwendung zu registrieren, müssen Sie ein Administrator im Microsoft Entra-Mandanten sein, oder Anwendungsregistrierungen müssen für Nicht-Administratorbenutzer aktiviert sein.
Power BI-Dienst wird beim Registrieren einer neuen App nicht im Azure-Portal angezeigt
Mindestens ein Benutzer muss für Power BI registriert sein. Wenn der Power BI-Dienst nicht in der API-Liste aufgeführt wird, ist keine benutzende Person für Power BI registriert.
Was ist der Unterschied zwischen einer Anwendungsobjekt-ID und einer Prinzipalobjekt-ID?
Beim Registrieren einer Microsoft Entra-App gibt es zwei Parameter, die als Objekt-ID bezeichnet werden. In diesem Abschnitt wird der Zweck der einzelnen Parameter und deren Abrufen erläutert.
Anwendungsobjekt-ID
Das Anwendungsobjekt ID, auch als Objekt-IDbezeichnet, ist die eindeutige ID Ihres Microsoft Entra-Anwendungsobjekts.
Um die Anwendungsobjekt-ID abzurufen, navigieren Sie zu Ihrer Microsoft Entra-App, und kopieren Sie sie aus der Übersicht.
Prinzipalobjekt-ID
Die Prinzipalobjekt-ID, auch bekannt als Objekt-ID, ist die eindeutige ID des Dienstprinzipalobjekts, das Ihrer Microsoft Entra-Anwendung zugeordnet ist.
Um Ihre Hauptobjekt-ID abzurufen, navigieren Sie zu Ihrer Microsoft Entra-App, und wählen Sie unter Übersichtden App-Link in Verwaltete Anwendung im lokalen Verzeichnisaus.
Kopieren Sie im Abschnitt Eigenschaften die Objekt-ID.
Authentifizierung
Fehler bei der Authentifizierung mit AADSTS70002 oder AADSTS50053
(AADSTS70002: Fehler beim Überprüfen der Anmeldeinformationen. AADSTS50053: Sie haben versucht, sich zu oft mit einer falschen Benutzer-ID oder einem falschen Kennwort anzumelden)
Wenn Sie power BI Embedded und die direkte Microsoft Entra-Authentifizierung verwenden, erhalten Sie möglicherweise eine Meldung wie die vorherige Nachricht, wenn Sie versuchen, sich anzumelden, da die direkte Authentifizierung nicht aktiviert ist.
Sie können die direkte Authentifizierung mithilfe einer Microsoft Entra-Richtlinie reaktivieren, die für die Organisation oder einen Dienstprinzipal gilt.
Es wird empfohlen, diese Richtlinie nur pro App zu aktivieren.
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 das Microsoft Graph PowerShell SDK.
Führen Sie die folgenden PowerShell-Befehlszeilenbefehle aus (stellen Sie sicher, 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.
- Der Benutzername wurde nicht angegeben.
- Es wurde keine Rolle angegeben.
DatasetId
wurde nicht bereitgestellt.- Der Benutzer verfügt nicht über die richtigen Berechtigungen.
Führen Sie die folgenden Schritte aus, um das Problem zu ermitteln:
- Führen Sie aus, um den Datensatzabzurufen. Ist die Eigenschaft
IsEffectiveIdentityRequired
wahr? - Der Benutzername ist für jedes
EffectiveIdentity
erforderlich. - Wenn
IsEffectiveIdentityRolesRequired
true ist, muss eine Rolle angegeben werden. DatasetId
ist für jedesEffectiveIdentity
erforderlich.- Für Analysis Services muss der Hauptbenutzer ein Gatewayadministrator sein.
AADSTS90094: Die Erteilung erfordert Administratorberechtigungen.
Symptome:
Wenn ein Nicht-Administrator versucht, sich zum ersten Mal bei einer Anwendung anzumelden, während er die Zustimmung erteilt, wird eine der folgenden Fehler angezeigt:
-
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 Administratorbenutzer kann sich anmelden und die Zustimmung erfolgreich erteilen.
Ursache:
Die Zustimmung des Benutzers ist für den Mandanten deaktiviert.
Es sind mehrere Korrekturen möglich:
- Benutzergenehmigung für den gesamten Mandanten aktivieren (alle Benutzer, alle Anwendungen):
- Navigieren Sie im Azure-Portal zu Microsoft Entra ID>Benutzer und Gruppen>Benutzereinstellungen.
- Aktivieren Sie die -Einstellung "Benutzer können Apps die Zustimmung erteilen, in ihrem Namen auf Unternehmensdaten zuzugreifen" und speichern Sie die Änderungen.
- Ein Administrator kann der Anwendung Berechtigungen erteilen – entweder für den gesamten Mandanten oder einen bestimmten Benutzer.
CS1061-Fehler
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 Organisationeinbetten, müssen Sie die Mandanten-ID im parameter authorityUri
angeben, damit Microsoft Entra-Gastbenutzer auf Ihre Inhalte zugreifen können.
URL für die Authentifizierung beim Mandanten Ihrer Organisation:
https://login.microsoftonline.com/common/v2.0
URL für die Authentifizierung eines Microsoft Entra-Gastbenutzers:
https://login.microsoftonline.com/<tenant ID>
Um Ihre Mandanten-ID zu finden, können Sie die Instruktionen in zum Suchen der Microsoft Entra-Mandanten-ID und des Hauptdomänennamensverwenden.
Weitere Informationen finden Sie unter Mehrinstanzenfähigkeit Ihrer Anwendung.
Datenquellen
ISV möchte unterschiedliche Anmeldeinformationen für dieselbe Datenquelle haben
Eine Datenquelle kann über einen einzelnen Satz von Anmeldeinformationen für einen Masterbenutzer verfügen. Wenn Sie unterschiedliche Anmeldeinformationen verwenden müssen, erstellen Sie weitere Masterbenutzer. Weisen Sie dann den unterschiedlichen Kontexten der Hauptbenutzer die verschiedenen Anmeldeinformationen zu, und betten Sie sie mithilfe des Microsoft Entra-Tokens dieses Benutzers ein.
Problembehandlung ihrer eingebetteten Anwendung mit dem IError-Objekt
Verwenden Sie das IError-Objekt, das vom Fehlerereignis aus dem JavaScript SDK- zurückgegeben wird, um Ihre Anwendung zu debuggen und die Ursache Ihrer Fehler besser zu verstehen.
Nach dem Abrufen des IError-Objekts sollten Sie sich die entsprechende allgemeine Fehlertabelle ansehen, die dem verwendeten Einbettungstyp entspricht. Vergleichen Sie die IError-Eigenschaften mit den Eigenschaften in der Tabelle, und suchen Sie die möglichen Gründe für den Fehler.
Typische Fehler beim Einbetten für Power BI-Benutzer
Nachricht | Detaillierte Nachricht | Fehlercode | Mögliche Gründe |
---|---|---|---|
TokenExpired | Zugriffstoken ist abgelaufen, übermitteln Sie es erneut mit einem neuen Zugriffstoken. | 403 | Abgelaufenes Token |
PowerBIEntityNotFound | Fehler beim Abrufen des Berichts. | 404 | |
Ungültige Parameter | powerbiToken-Parameter nicht angegeben | N/A | |
LoadReportFailed | Fehler beim Initialisieren : Cluster konnte nicht aufgelöst werden | 403 | |
PowerBINotAuthorizedException | Fehler beim Abrufen des Berichts. | 401 | |
TokenExpired | Das Zugriffstoken ist abgelaufen. Senden Sie es erneut mit einem neuen Zugriffstoken. Ein Berichtsvisual mit dem folgenden Titel konnte nicht gerendert werden: Titel des Visuals | N/A | |
OpenConnectionError | Das visuelle Element kann nicht angezeigt werden. Ein Berichtsvisual mit dem folgenden Titel konnte nicht gerendert werden: Titel des Visuals | N/A | 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 Sie über eine Verbindung mit dem Server verfügen, und versuchen Sie es erneut. | N/A |
Typische Fehler beim Einbetten für Nicht-Power BI-Benutzer (mit einem Einbettungstoken)
Nachricht | Detaillierte Nachricht | Fehlercode | Mögliche Gründe |
---|---|---|---|
TokenExpired | Zugriffstoken ist abgelaufen, übermitteln Sie es erneut mit einem neuen Zugriffstoken. | 403 | Abgelaufenes Token |
LoadReportFailed | Fehler beim Abrufen des Berichts. | 404 | |
LoadReportFailed | Fehler beim Abrufen des Berichts. | 403 | Berichts-ID stimmt nicht mit dem Token überein. |
LoadReportFailed | Fehler beim Abrufen des Berichts. | 500 | Bericht-ID ist keine GUID |
Ungültige Parameter | powerbiToken-Parameter nicht angegeben | N/A | |
LoadReportFailed | Fehler beim Initialisieren : Cluster konnte 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. Senden Sie es erneut mit einem neuen Zugriffstoken. Ein Berichtsvisual mit dem folgenden Titel konnte nicht gerendert werden: Titel des Visuals | N/A | |
OpenConnectionError | Das visuelle Element kann nicht angezeigt werden. Ein Berichtsvisual mit dem folgenden Titel konnte nicht gerendert werden: Titel des Visuals | N/A | 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 Sie über eine Verbindung mit dem Server verfügen, und versuchen Sie es erneut. | N/A |
Fehler beim Abrufen des Berichts – Fehler 401 – löst sich selbst
Manchmal erhalten Benutzende im Szenario User Owns Data den Fehler 401, der sich nach dem Zugriff auf das Power BI-Portal selbst löst. Wenn der Fehler 401 auftritt, fügen Sie den RefreshUser Permissions Aufruf in der App hinzu, wie in Aktualisierung der Benutzerberechtigungenerläutert.
Semantische Modelle
Verwalten, welchen Teil der Daten Ihre Benutzer sehen können
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 Semantikmodell steuern.
Um zu verwalten, welchen Teil der Daten Ihre Benutzer anzeigen können, verwenden Sie eine der folgenden Methoden:
Filterung auf Zeilenebene mithilfe von Power BI Sicherheit auf Zeilenebene (RLS).
Trennen Sie die Daten in verschiedene Semantikmodelle. Sie können z. B. ein Semantikmodell erstellen, das nur aggregierte Daten enthält, und Ihren Benutzern nur Zugriff auf dieses semantische Modell gewähren.
Inhaltsrendering
Um Renderingprobleme in eingebetteten Power BI-Elementen (z. B. Berichten und Dashboards) zu beheben, lesen Sie diesen Abschnitt.
Überprüfen, ob das Power BI-Element im Power BI-Dienst geladen wird
Um Probleme mit Ihrer Anwendung oder der einbettenden APIsauszuschließen, überprüfen Sie, ob das Element im Power BI-Dienst (powerbi.com) angezeigt werden kann.
Überprüfen Sie, ob das Power BI-Element in der eingebetteten Power BI-Analyse-Spielwiese geladen wird.
Um Probleme mit Ihrer Anwendung auszuschließen, stellen Sie sicher, dass das Power BI-Element im eingebetteten Power BI-Analyse-Playgroundangezeigt werden kann.
Überprüfen, ob Ihr Zugriffstoken nicht abgelaufen ist
Für Sicherheitszwecke haben Zugriffstoken (ein Microsoft Entra-Token oder ein Einbettungstoken) eine begrenzte Lebensdauer. Sie sollten Ihr Zugriffstoken ständig überwachen und bei Bedarf aktualisieren. Weitere Informationen finden Sie unter Aktualisieren des Zugriffstokens.
Leistung
Um leistungsfähige eingebettete Inhalte zu erhalten, sollten die Bewährten Methoden für Power BI Embedded Analytics eingehalten werden.
Verwandte Inhalte
Power BI Embedded– häufig gestellte Fragen
Weitere Fragen? Fragen sie die Power BI Community-