Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’APPLIQUE À : L’application possède des données
L’utilisateur possède des données
L’identité basée sur les jetons permet à un éditeur de logiciels indépendants d’utiliser un jeton d’accès Microsoft Entra pour transmettre l’identité d’un client à une base de données Azure SQL gérée dans le locataire du client.
Les éditeurs de logiciels indépendants (ISV) dont les clients stockent et gèrent leurs données dans Azure SQL Database peuvent sécuriser ces données dans leur espace de locataire lorsqu’ils intègrent Power BI Embedded dans l’application ISV.
Lors de la génération du jeton intégré, spécifiez l’identité de l’utilisateur dans Azure SQL en transmettant le jeton d’accès Microsoft Entra de cet utilisateur pour le serveur Azure SQL. Le jeton d’accès est ensuite utilisé pour extraire uniquement les données pertinentes pour cet utilisateur à partir d’Azure SQL pour cette session spécifique.
Important
Limites du modèle SSO « App-owns-data » :
- Dans les scénarios app-owns-data (principal de service ou authentification utilisateur maître), l’authentification unique pour les sources de données DirectQuery est prise en charge uniquement avec Azure SQL Database.
- Lors de la génération d’un jeton incorporé avec l’authentification unique, vous devez fournir une
IdentityBlobpour chaque source de données avec l’authentification unique activée. L’omission de IdentityBlob entraîne l’échec de la génération de jetons ou de l’exécution de requête.
Configurer l’identité basée sur les jetons
L'identité basée sur les jetons fonctionne uniquement pour les modèles DirectQuery sur une capacité connectée à une base de données Azure SQL qui est configurée pour autoriser l'authentification Microsoft Entra. La source de données du modèle sémantique doit être configurée pour utiliser les informations d’identification OAuth2 des utilisateurs finaux, en vue d’utiliser l’identité basée sur les jetons. En savoir plus sur l’authentification Microsoft Entra pour Azure SQL Database.
Avant de configurer l’identité basée sur un jeton, vérifiez :
- Votre source de données DirectQuery est Azure SQL Database (la seule source de données d’authentification unique prise en charge pour les scénarios app-owns-data).
- Le Azure SQL Database est configuré pour l’authentification Microsoft Entra.
- Vous disposez du jeton d'accès Microsoft Entra de l'utilisateur à transmettre au serveur Azure SQL en tant que
IdentityBlob.
Dans le portail Power BI, sélectionnez modèle sémantique > Plus d’options (trois points) > Paramètres > Informations d’identification de la source de données > Modifier les informations d’identification.
Cochez la case de l’option OAuth2.
Générer un jeton d'identité
Pour créer un jeton d’accès pour Azure SQL, l’application doit disposer de la permission déléguée Accéder à Azure SQL Database et Data Warehouse à l’API Azure SQL Database pour la configuration de l’inscription d’application Microsoft Entra dans le portail Azure.
Authentifier et acquérir un jeton pour l’utilisateur à partir du point de terminaison Azure AD v2 pour l’étendue suivante : https://database.windows.net/.default
Consultez les exemples de code MSAL suivants pour obtenir de l’aide :
- Exemples de code pour l’authentification et l’autorisation de la plateforme d’identité Microsoft : Microsoft | Microsoft Learn
- Plateforme d’identités Microsoft et flux de code d’autorisation OAuth 2.0
Générer un jeton d’incorporation
Pour intégrer un rapport avec une identité basée sur un jeton, générez un jeton d'incorporation qui contient l'identité de base du jeton de l'utilisateur ISV souhaité. Les exemples suivants permettent de générer des jetons d'incorporation pour différents scénarios.
Note
Vous devez inclure une entrée datasourceIdentities avec une identityBlob valide pour chaque source de données Azure SQL sur laquelle l'authentification unique est activée. Si une source de données prenant en charge l’authentification unique est dépourvue de son identityBlob, l'appel de génération du jeton d'intégration échouera ou l'exécution de la requête renverra une erreur.
- Rapport Power BI avec authentification unique
- Le rapport paginé avec authentification unique
- Rapport Power BI avec l’authentification unique et RLS sur le modèle sémantique
- Rapport paginé connecté à un modèle sémantique Power BI avec RLS, et source de données SSO connectée avec DirectQuery à un autre jeu de données Power BI
{
"datasets": [
{
"id": "66ba5010-xxxx-xxxx-xxxx-f2bf0125abeb",
}
],
"reports": [
{
"allowEdit": false,
"id": "9e6da541-xxxx-xxxx-xxxx-7d9442827cce"
}
],
"datasourceIdentities": [
{
"identityBlob": "eyJ…",
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "YourServerName.database.windows.net",
"database": "YourDataBaseName"
}
}
]
}
]
}
L'exemple suivant montre un rapport Power BI intégré avec authentification unique et RLS appliqués au jeu de données :