Incorporer un rapport dans un site web ou portail sécurisé
Avec l’option Incorporer pour les rapports Power BI, vous pouvez incorporer des rapports dans les portails web internes de manière simple et sécurisée. Ces portails peuvent être basés sur le cloud ou hébergés localement, à l’image de SharePoint 2019. Les rapports incorporés respectent toutes les autorisations d’élément et la sécurité des données via la sécurité au niveau des lignes (RLS) et la sécurité au niveau des objets (OLS) du modèle tabulaire Analysis Services. Ils fournissent l’intégration sans code dans le portail de votre choix qui accepte une URL ou un iframe.
L’option Incorporer prend en charge les filtres URL et les paramètres d’URL. Cela permet d’intégrer les portails via une approche low-code qui nécessite uniquement une connaissance élémentaire de HTML et de JavaScript.
Important
En raison des mises à jour de sécurité en cours de Chromium, l’option Incorporer ne fonctionne plus exactement comme avant et les utilisateurs peuvent être invités à s’authentifier plusieurs fois. Pour résoudre ce problème, envisagez de créer votre propre solution Power BI Embedded.
Comment incorporer des rapports Power BI dans des portails
Ouvrez un rapport dans le service Power BI.
Dans le menu Fichier, sélectionnez Incorporer un rapport>Site web ou portail.
Dans la boîte de dialogue Code incorporé sécurisé qui s’affiche, sélectionnez la valeur sous Voici un lien que vous pouvez utiliser pour incorporer ce contenu. Si vous souhaitez utiliser un iframe dans un blog ou un site web, vous pouvez sélectionner la valeur sous Code HTML que vous pouvez coller dans un site web.
Qu’un utilisateur ouvre directement une URL de rapport ou une URL incorporée dans un portail web, l’accès aux rapports nécessite une authentification. L’écran suivant s’affiche si un utilisateur ne s’est pas connecté à Power BI dans sa session de navigateur. Quand il sélectionne Connexion, une nouvelle fenêtre de navigateur ou un nouvel onglet doit s’ouvrir. Faites en sorte qu’il vérifie les bloqueurs de fenêtres contextuelles s’il n’est pas invité à se connecter.
Une fois que l’utilisateur s’est connecté, le rapport s’ouvre, affichant les données et permettant de naviguer entre les pages et de définir des filtres. Seuls les utilisateurs qui disposent de l’autorisation d’affichage peuvent voir le rapport dans Power BI. Toutes les règles de sécurité au niveau des lignes (RLS) sont également appliquées. Les utilisateurs doivent disposer de la licence appropriée. Ils doivent avoir une licence Power BI Pro ou Premium par utilisateur, ou bien le contenu doit se trouver dans un espace de travail d’une capacité Power BI Premium. Les utilisateurs doivent se connecter chaque fois qu’ils ouvrent une nouvelle fenêtre de navigateur. Toutefois, une fois que les utilisateurs sont connectés, les autres rapports se chargent automatiquement.
Quand vous utilisez un iframe, vous pouvez souhaiter modifier les valeurs de hauteur et de largeur afin de l’ajuster à la page web de votre portail.
<iframe width="1080" height="760" src="https://app.powerbi.com/reportEmbed?reportId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true" frameborder="0" allowFullScreen="true"></iframe>
Accorder l’accès au rapport
L’option Incorporer ne permet pas automatiquement aux utilisateurs de voir le rapport. Les autorisations de consultation sont définies dans le service Power BI.
Dans le service Power BI, vous pouvez partager des rapports incorporés avec des utilisateurs qui ont besoin de l’accès. Si vous utilisez un groupe Microsoft 365, vous pouvez indiquer l’utilisateur comme membre de l’espace de travail.
Licence
Pour afficher le rapport incorporé, vous avez besoin d’une licence Power BI Pro ou Premium par utilisateur (PPU). Ou bien le contenu doit être dans un espace de travail qui se trouve dans une capacité Power BI Premium (référence SKU EM ou P).
Personnaliser votre expérience d’incorporation à l’aide des paramètres d’URL
Vous pouvez personnaliser l’expérience utilisateur à l’aide des paramètres d’entrée de l’URL d’incorporation. Dans l’iframe fourni, vous pouvez mettre à jour les paramètres src de l’URL.
Propriété | Description |
---|---|
pageName | Vous pouvez utiliser le paramètre de chaîne de requête pageName pour définir la page de rapport à ouvrir. Vous trouverez cette valeur à la fin de l’URL du rapport quand vous affichez un rapport dans le service Power BI, comme indiqué ultérieurement dans cet article. |
Filtres d’URL | Vous pouvez utiliser des filtres d’URL dans l’URL d’incorporation que vous avez reçue à partir de l’interface utilisateur de Power BI pour filtrer le contenu d’incorporation. Ainsi, vous pouvez créer des intégrations avec peu de code et des connaissances de base de HTML et de JavaScript. |
Définir la page qui s’ouvre pour un rapport incorporé
Vous trouverez la valeur pageName à la fin de l’URL du rapport quand vous affichez un rapport dans le service Power BI.
Ouvrez le rapport à partir du service Power BI dans votre navigateur web et copiez l’URL de la barre d’adresses.
https://app.powerbi.com/groups/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/reports/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ReportSection2
Ajoutez la propriété pageName et sa valeur à la fin de l’URL.
https://app.powerbi.com/reportEmbed?reportId=/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true&pageName=ReportSection2
Filtrer le contenu du rapport à l’aide de filtres d’URL
Vous pouvez utiliser des filtres d’URL pour fournir différentes vues du rapport. L’URL ci-dessous filtre par exemple le rapport afin d’afficher les données pour le secteur de l’énergie.
L’utilisation de la combinaison de pageName et de filtres d’URL peut être très puissante. Vous pouvez créer des expériences à l’aide de code HTML et JavaScript de base.
Par exemple, voici un bouton que vous pouvez ajouter à une page HTML :
<button class="textLarge" onclick='show("ReportSection", "Energy");' style="display: inline-block;">Show Energy</button>
Quand l’utilisateur le sélectionne, le bouton appelle une fonction pour mettre à jour l’iframe avec une URL mise à jour, qui inclut le filtre pour le secteur de l’énergie.
function show(pageName, filterValue)
{
var newUrl = baseUrl + "&pageName=" + pageName;
if(null != filterValue && "" != filterValue)
{
newUrl += "&$filter=Industries/Industry eq '" + filterValue + "'";
}
//Assumes there's an iFrame on the page with id="iFrame"
var report = document.getElementById("iFrame")
report.src = newUrl;
}
https://app.powerbi.com/reportEmbed?reportId=/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&autoAuth=true&pageName=ReportSection&filter=Industries/Industry eq 'Energy'
Vous pouvez ajouter autant de boutons que vous le souhaitez pour créer une expérience personnalisée avec peu de code.
Considérations et limitations
Les rapports paginés sont pris en charge avec les scénarios d’incorporation sécurisée, et les rapports paginés avec des paramètres d’URL sont également pris en charge. Pourplus d’informations, consultez Passer un paramètre de rapport dans une URL pour un rapport paginé dans Power BI.
L’option d’incorporation sécurisée fonctionne pour les rapports qui sont publiés sur le service Power BI.
Pour héberger du contenu incorporé en toute sécurité, les utilisateurs doivent utiliser HTTPS pour leur page de niveau supérieur. L’utilisation d’une page hôte non sécurisée pour accéder au contenu incorporé en toute sécurité n’est pas prise en charge.
L’utilisateur doit se connecter pour voir le rapport à chaque fois qu’il ouvre une nouvelle fenêtre de navigateur ou un nouvel onglet.
Pour l’authentification, les utilisateurs doivent activer les fenêtres contextuelles.
Si les utilisateurs ont accédé à des rapports dans le passé mais rencontrent maintenant des problèmes, ils doivent effacer leur cache de navigateur.
Certains navigateurs nécessitent d’actualiser la page après la connexion, notamment quand vous utilisez les modes de navigation privée ou InPrivate.
Des problèmes peuvent survenir si la version de votre navigateur n’est pas prise en charge. Pour obtenir la liste des navigateurs pris en charge par Power BI, consultez Navigateurs pris en charge pour Power BI.
Si votre site web définit l’en-tête Cross-Origin-Opener-Policy (COOP) sur « same-origin », vous ne pouvez pas vous connecter pour afficher votre contenu incorporé, car MSAL ne prend pas en charge cet en-tête. Au lieu de cela, choisissez « restrict-properties » (pour des navigateurs Chromium) ou « same-origin-allow-popups ». Sinon, si vous ne pouvez pas modifier Cross-Origin-Opener-Policy, effectuez une liaison à l’URL incorporée directement au lieu de l’incorporer directement dans un iframe.
La version classique de SharePoint Server n’est pas prise en charge, car elle nécessite des versions d’Internet Explorer antérieures à la version 11 ou l’activation du mode Affichage de compatibilité.
Pour une expérience d’authentification unique, utilisez l’option Incorporer dans SharePoint Online, ou générez une intégration personnalisée en suivant la méthode d’incorporation L’utilisateur est propriétaire des données.
Les fonctionnalités d’authentification automatique fournies avec l’option Incorporer ne fonctionnent pas avec l’API JavaScript Power BI. Ils sont bloqués dans le SDK client incorporé PBI à partir de la version 2.10.4. Pour l’API JavaScript Power BI, utilisez la méthode d’incorporation L’utilisateur est propriétaire des données.
Les fonctionnalités d’authentification automatique ne fonctionnent pas si elles sont incorporées dans des applications, notamment dans des applications de bureau et mobiles.
La durée de vie du jeton d’authentification est contrôlée en fonction de vos paramètres Microsoft Entra. Quand le jeton d’authentification expire, l’utilisateur doit se reconnecter pour recevoir un jeton d’authentification mis à jour. La durée de vie par défaut est d’une heure, mais elle peut être plus courte ou plus longue dans votre organisation. Dans ce scénario, vous ne pouvez pas actualiser automatiquement le jeton.