Partager via


Résoudre les problèmes liés à votre application incorporée

Cet article traite de certains problèmes courants qui peuvent se produire lors de l’incorporation de contenu à partir de Power BI.

Outils de résolution des problèmes

Trace Fiddler

Fiddler est un outil gratuit de Telerik qui surveille le trafic HTTP. Vous pouvez voir le trafic avec les API Power BI à partir de l’ordinateur client. Cet outil peut afficher des erreurs et d’autres informations connexes.

Capture d’écran de la fenêtre de sortie de l’outil Fiddler, qui affiche le trafic HTTP de l’API Power BI.

F12 dans le navigateur pour le débogage frontal

La touche F12 lance la fenêtre développeur dans votre navigateur. Cet outil vous permet d’examiner le trafic réseau et d’afficher d’autres informations précieuses.

Capture d’écran de l’onglet Réseau de la fenêtre du développeur du navigateur web, qui affiche le trafic réseau.

Extraire les détails de l’erreur de la réponse Power BI

Cet extrait de code montre comment extraire les détails d’erreur d’une exception HTTP :

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;
}

Nous vous recommandons de journaliser l’ID de demande (et les détails de l’erreur pour la résolution des problèmes). Fournissez l’ID de demande lors de l’approche du support Microsoft.

Inscription d’application

Échec de l’inscription de l’application

Les messages d’erreur dans le portail Azure ou la page d’inscription d’application Power BI vous avertiront si vous n’avez pas suffisamment de privilèges pour inscrire votre application. Pour inscrire une application, vous devez être administrateur dans le locataire Microsoft Entra, ou les inscriptions d’applications doivent être activées pour les utilisateurs non administrateurs.

Le service Power BI n’apparaît pas dans le portail Azure lors de l’inscription d’une nouvelle application

Au moins un utilisateur doit être inscrit à Power BI. Si vous ne voyez pas service Power BI répertorié dans la liste des API, aucun utilisateur n’est inscrit à Power BI.

Quelle est la différence entre un ID d’objet d’application et un ID d’objet principal ?

Lorsque vous inscrivez une application Microsoft Entra, il y a deux paramètres appelés ID d'objet. Cette section explique l’objectif de chaque paramètre et comment l’obtenir.

ID d’objet d’application

L’objet d’application ID, également connu sous le nom d’ID d’objet , est l’ID unique de votre objet d’application Microsoft Entra.

Pour obtenir l’ID d’objet de l’application, accédez à votre application Microsoft Entra et copiez-la à partir de l'Vue d’ensemble.

Capture d’écran de la fenêtre du portail Azure, qui affiche l’ID d’objet dans le panneau Vue d’ensemble d’une application Microsoft Entra.

ID d’objet principal

L’ID d’objet principal, également connu sous le nom d’ID d’objet , est l’ID unique de l’objet principal de service associé à votre application Microsoft Entra.

Pour accéder à votre ID d’objet principal, accédez à votre application Microsoft Entra, puis dans la Vue d’ensemble, sélectionnez le lien de l’application dans Application managée dans le répertoire local.

Capture d’écran de la fenêtre du portail Azure, qui montre l’application gérée dans l’option répertoire local dans le panneau Vue d’ensemble d’une application Microsoft Entra.

Dans la section Propriétés , copiez l’ID d’objet .

Capture d’écran de la fenêtre du portail Azure, qui affiche l’ID d’objet principal dans la section Propriétés du panneau Vue d’ensemble d’une application Microsoft Entra.

Authentification

Échec de l’authentification avec AADSTS70002 ou AADSTS50053

(AADSTS70002 : Erreur lors de la validation des informations d’identification. AADSTS50053 : vous avez essayé de vous connecter trop de fois avec un ID d’utilisateur ou un mot de passe incorrect)

Si vous utilisez l’authentification directe Power BI Embedded et Microsoft Entra, vous pouvez recevoir un message comme le message précédent lorsque vous essayez de vous connecter, car l’authentification directe n’est pas activée.

Vous pouvez réactiver l’authentification directe en utilisant une politique Microsoft Entra dont l’étendue peut être limitée à l’organisation ou à un principal de service.

Nous vous recommandons d’activer cette stratégie uniquement par application.

Pour créer cette politique, vous devez être administrateur général du répertoire dans lequel vous créez et affectez la politique. Voici un exemple de script pour créer la stratégie et l’affecter au fournisseur de services pour cette application :

  1. Installez le kit de développement logiciel (SDK) Microsoft Graph PowerShell.

  2. Exécutez les commandes PowerShell suivantes ligne par ligne (en veillant à ce que la variable $sp n’ait pas plus d’une application par conséquent).

    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
    

Après avoir affecté la stratégie, attendez environ 15 à 20 secondes pour la propagation avant le test.

La génération du jeton échoue lors de la livraison de l’identité effective

GenerateToken peut échouer, quand une identité effective est fournie, pour différentes raisons :

  • Le modèle sémantique ne prend pas en charge l’identité effective.
  • Le nom d’utilisateur n’a pas été fourni.
  • Le rôle n’a pas été fourni.
  • DatasetId n’a pas été fourni.
  • L’utilisateur n’a pas les autorisations appropriées.

Pour déterminer le problème, essayez les étapes suivantes :

  • Exécutez pour obtenir le jeu de données. La propriété IsEffectiveIdentityRequired est-elle vraie ?
  • Le nom d'utilisateur est requis pour n'importe quel EffectiveIdentity.
  • Si IsEffectiveIdentityRolesRequired a la valeur vraie, le rôle est requis.
  • DatasetId est requis pour tout ce qui concerneEffectiveIdentity.
  • Pour Analysis Services, l’utilisateur maître doit être un administrateur de passerelle.

AADSTS90094 : l’octroi nécessite une autorisation d’administrateur

symptômes :

Lorsqu’un utilisateur non administrateur tente de se connecter à une application pour la première fois lors de l’octroi du consentement, obtient l’une des erreurs suivantes :

  •   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.
    

    Capture d’écran de la boîte de dialogue de connexion du portail Azure, qui affiche l’erreur d’autorisation de test de consentement.

Un utilisateur administrateur peut se connecter et accorder le consentement avec succès.

Cause racine :

Le consentement de l’utilisateur est désactivé pour le locataire.

Plusieurs correctifs sont possibles :

  • Activez le consentement de l’utilisateur pour l’ensemble du locataire (tous les utilisateurs, toutes les applications) :
  1. Dans le portail Azure, accédez à Microsoft Entra ID>Utilisateurs et groupes>Paramètres des utilisateurs.
  2. Activez le paramètre Les utilisateurs peuvent donner leur consentement aux applications accédant aux données de l'entreprise en leur nom et enregistrez les modifications.

Capture d’écran du portail Azure.

  • Un administrateur peut accorder des autorisations à l’application , soit pour l’ensemble du locataire, soit pour un utilisateur spécifique.

Erreur CS1061

Téléchargez Microsoft.IdentityModel.Clients.ActiveDirectory si vous rencontrez l’erreur suivante :

'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?)

Jeton Microsoft Entra pour un autre locataire (utilisateur invité)

Lorsque vous incorporez pour votre organisation, pour permettre aux utilisateurs invités de Microsoft Entra d'accéder à votre contenu, vous devez spécifier l'ID du tenant dans le authorityUriparamètre correspondant.

  • URL pour l'authentification dans le tenant de votre organisation :

    https://login.microsoftonline.com/common/v2.0

  • URL pour l’authentification d’un utilisateur Microsoft Entra invité :

    https://login.microsoftonline.com/<tenant ID>

Pour trouver votre ID de locataire, vous pouvez utiliser les instructions de Rechercher l’ID de locataire Microsoft Entra et le nom de domaine principal.

Pour en savoir plus, consultez Convertir votre application en application multitenant.

Sources de données

L’ISV souhaite disposer d’informations d’identification différentes pour la même source de données

Une source de données peut avoir un seul ensemble d’informations d’identification pour un utilisateur maître. Si vous avez besoin d’utiliser différentes informations d’identification, créez d’autres utilisateurs maîtres. Ensuite, assignez les différentes informations d'identification à chacun des contextes des utilisateurs principaux, puis incorporez en utilisant le jeton Microsoft Entra de cet utilisateur.

Résoudre les problèmes liés à votre application incorporée avec l’objet IError

Utilisez l’objet IError retourné par l’événement d’erreur du Kit de développement logiciel (SDK) JavaScript pour déboguer votre application et mieux comprendre la cause de vos erreurs.

Après avoir acquis l’objet IError, vous devez examiner la table d’erreurs courantes appropriée qui correspond au type d’incorporation que vous utilisez. Comparez les propriétés IError avec celles de la table et recherchez la ou les raisons possibles de l’échec.

Erreurs classiques lors de l’incorporation pour les utilisateurs De Power BI

Message Message détaillé Code d’erreur Raison(s) possible(s)
TokenExpired Le jeton d’accès a expiré, resubmit avec un nouveau jeton d’accès 403 Jeton expiré
Entité PowerBI introuvable Réception d’une notification d’échec du rapport 404
  • ID de rapport incorrect
  • Le rapport n’existe pas
  • Paramètres non valides paramètre powerbiToken non spécifié N/A
  • Aucun jeton d’accès fourni
  • Aucun ID de rapport fourni
  • Échec du chargement du rapport Échec de l’initialisation - Impossible de résoudre le cluster 403
  • Jeton d’accès incorrect
  • Le type d’incorporation ne correspond pas au type de jeton
  • PowerBINotAuthorizedException Réception d’une notification d’échec du rapport 401
  • ID de groupe incorrect
  • Groupe non autorisé
  • TokenExpired Le jeton d’accès a expiré, resubmit avec un nouveau jeton d’accès. Impossible de rendre un visuel de rapport intitulé : titre du visuel N/A
  • Interroger des données
  • Jeton expiré
  • OpenConnectionError Impossible d’afficher le visuel. Impossible de rendre un visuel de rapport intitulé : titre du visuel N/A Capacité suspendue ou supprimée pendant qu’un rapport lié à la capacité a été ouvert dans une session
    ExplorationContainer_FailedToLoadModel_DefaultDetails Impossible de charger le schéma de modèle associé à ce rapport. Vérifiez que vous disposez d’une connexion au serveur et réessayez. N/A
  • Capacité suspendue
  • Capacité supprimée
  • Erreurs classiques lors de l’incorporation pour les utilisateurs non-Power BI (à l’aide d’un jeton incorporé)

    Message Message détaillé Code d’erreur Raison(s) possible(s)
    TokenExpired Le jeton d’accès a expiré, resubmit avec un nouveau jeton d’accès 403 Jeton expiré
    Échec du chargement du rapport Réception d’une notification d’échec du rapport 404
  • ID de rapport incorrect
  • Le rapport n’existe pas
  • LoadReportFailed Réception d’une notification d’échec du rapport 403 L’ID du rapport ne correspond pas au jeton
    Échec du chargement du rapport Réception d’une notification d’échec du rapport 500 Le rapport indique que l’ID n’est pas un GUID
    Paramètres non valides paramètre powerbiToken non spécifié N/A
  • Aucun jeton d’accès fourni
  • Aucun ID de rapport fourni
  • Échec du chargement du rapport Échec de l’initialisation - Impossible de résoudre le cluster 403 Type de jeton incorrect ou jeton invalide
    PowerBINotAuthorizedException Réception d’une notification d’échec du rapport 401 ID de groupe incorrect/non autorisé
    TokenExpired Le jeton d’accès a expiré, resubmit avec un nouveau jeton d’accès. Impossible de rendre un visuel de rapport intitulé : titre du visuel N/A
  • Interroger des données
  • Jeton expiré
  • OpenConnectionError Impossible d’afficher le visuel. Impossible de rendre un visuel de rapport intitulé : titre du visuel N/A Capacité suspendue ou supprimée pendant qu’un rapport lié à la capacité a été ouvert dans une session
    ExplorationContainer_FailedToLoadModel_DefaultDetails Impossible de charger le schéma de modèle associé à ce rapport. Vérifiez que vous disposez d’une connexion au serveur et réessayez. N/A
  • Capacité suspendue
  • Capacité supprimée
  • Échec de l’obtention du rapport - erreur 401 - se résout d’elle-même

    Dans le scénario où l’utilisateur possède des données , il arrive que les utilisateurs obtiennent une erreur 401 qui se résout après avoir accédé au portail Power BI. En cas d’erreur 401, ajoutez l’appel RefreshUser Permissions dans l’application, comme expliqué dans Mettre à jour les autorisations de l’utilisateur.

    Modèles sémantiques

    Gérer la partie des données que vos utilisateurs peuvent voir

    Tout utilisateur disposant d’autorisations de lecture pour un modèle sémantique peut voir l’intégralité du schéma (tables, colonnes et mesures) et toutes les données. Vous ne pouvez pas contrôler les autorisations d’affichage des données brutes et agrégées séparément dans le même modèle sémantique.

    Pour gérer la partie des données que vos utilisateurs peuvent afficher, utilisez l’une des méthodes suivantes :

    • Filtrage au niveau des lignes en utilisant la sécurité au niveau des lignes (SNL) de Power BI.

    • sécurité au niveau de l’objet (OLS).

    • Séparez les données en différents modèles sémantiques. Par exemple, vous pouvez créer un modèle sémantique qui contient uniquement des données agrégées et accorder à vos utilisateurs l’accès à ce modèle sémantique uniquement.

    Restitution du contenu

    Pour résoudre les problèmes de rendu dans les éléments Power BI incorporés (tels que les rapports et les tableaux de bord), consultez cette section.

    Vérifier que l’élément Power BI se charge dans le service Power BI

    Pour exclure les problèmes liés à votre application ou aux API d’incorporation, vérifiez que l’élément peut être consulté dans le service Power BI (powerbi.com).

    Vérifier que l’élément Power BI se charge dans le laboratoire d’analytique incorporée Power BI

    Pour éliminer les problèmes liés à votre application, vérifiez que l’élément Power BI peut être affiché dans le laboratoire d’analytique incorporée Power BI.

    Vérifiez que votre jeton d’accès n’a pas expiré

    À des fins de sécurité, les jetons d’accès (un jeton Microsoft Entra ou un jeton incorporé) ont une durée de vie limitée. Vous devez surveiller constamment votre jeton d’accès et l’actualiser si nécessaire. Pour plus d'informations, consultez Actualiser le jeton d'accès.

    Analyse des performances

    Pour obtenir le contenu incorporé le mieux performant, nous vous recommandons de suivre les meilleures pratiques d’analytique incorporée power BI .

    Foire aux questions sur Power BI Embedded

    Plus de questions ? Demander à la communauté Power BI