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.
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.
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.
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.
Dans la section Propriétés , copiez l’ID d’objet .
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 :
Installez le kit de développement logiciel (SDK) Microsoft Graph PowerShell.
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.
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) :
- Dans le portail Azure, accédez à Microsoft Entra ID>Utilisateurs et groupes>Paramètres des utilisateurs.
- 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.
- 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 authorityUri
paramè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 | |
Paramètres non valides | paramètre powerbiToken non spécifié | N/A | |
Échec du chargement du rapport | Échec de l’initialisation - Impossible de résoudre le cluster | 403 | |
PowerBINotAuthorizedException | Réception d’une notification d’échec du rapport | 401 | |
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 | |
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 |
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 | |
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 | |
É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 | |
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 |
É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é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 .
Contenu connexe
Foire aux questions sur Power BI Embedded
Plus de questions ? Demander à la communauté Power BI