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.

Screenshot of the Fiddler tool output window, which shows the Power BI API HTTP traffic.

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.

Screenshot of the web browser developer window's Network tab, which shows the network traffic.

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.

Screenshot of the Azure portal window, which shows the object ID in the Overview blade of a Microsoft Entra application.

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.

Screenshot of the Azure portal window, which shows the Managed application in local directory option in the Overview blade of a Microsoft Entra application.

Kopieren Sie im Abschnitt Eigenschaften die Objekt-ID.

Screenshot of the Azure portal window, which shows the principal object ID in the properties section in the Overview blade of a Microsoft Entra application.

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:

  1. Installieren Sie Microsoft Graph-PowerShell-SDK.

  2. 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ür EffectiveIdentity 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.
    

    Screenshot of the Azure portal window sign in dialog, which shows the Consent Test permission error.

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):
  1. Navigieren Sie im Azure-Portal zu Microsoft Entra ID>Benutzer und Gruppen>Benutzereinstellungen.
  2. Aktivieren Sie die Option Benutzer können Apps den Zugriff auf Unternehmensdaten in ihrem Namen gestatten, und speichern Sie die Änderungen.

Screenshot of the Azure portal.

  • 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
  • Falsche Berichts-ID
  • Bericht nicht vorhanden
  • Ungültige Parameter powerbiToken-Parameter nicht angegeben. Nicht zutreffend
  • Kein Zugriffstoken angegeben
  • Keine Berichts-ID angegeben
  • LoadReportFailed Fehler beim Initialisieren: Cluster kann nicht aufgelöst werden. 403
  • Ungültiges Zugriffstoken
  • Einbettungstyp stimmt nicht mit Tokentyp überein
  • PowerBINotAuthorizedException Fehler beim Abrufen des Berichts. 401
  • Falsche Gruppen-ID
  • Nicht autorisierte Gruppe
  • 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
  • Daten abfragen
  • Abgelaufenes Token
  • 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
  • Kapazität angehalten
  • Kapazität gelöscht
  • 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
  • Falsche Berichts-ID
  • Bericht nicht vorhanden
  • 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
  • Kein Zugriffstoken angegeben
  • Keine Berichts-ID angegeben
  • 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
  • Daten abfragen
  • Abgelaufenes Token
  • 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
  • Kapazität angehalten
  • Kapazität gelöscht
  • 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:

    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.

    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.

    Weitere Fragen? Fragen an die Power BI-Community