Vue d'ensemble de l’authentification (préversion)
Les charges de travail Fabric s’appuient sur l’intégration à Microsoft Entra ID pour l’authentification et l’autorisation.
Toutes les interactions entre les charges de travail et d’autres composants Fabric ou Azure doivent être accompagnées d’une prise en charge d’authentification appropriée pour les demandes reçues ou envoyées. Les jetons envoyés doivent être générés correctement, et les jetons reçus doivent également être validés correctement.
Il est recommandé de vous familiariser avec les plateforme Microsoft Identity avant de commencer à utiliser des charges de travail Fabric. Il est également recommandé de passer en meilleures pratiques et recommandations de la plateforme d’identités Microsoft.
Flux
De la charge de travail front-end à la charge de travail back-end
Un exemple d’une telle communication est n’importe quelle API de plan de données. Cette communication s’effectue avec un jeton Objet (jeton délégué).
Pour plus d’informations sur l’acquisition d’un jeton dans la charge de travail FE, lisez l’API d’authentification. De plus, veillez à passer à la validation des jetons dans l’aperçu de l’authentification et de l’autorisation back-end.
Du back-end Fabric au back-end de charge de travail
Un exemple de telle communication est Créer un élément de charge de travail. Cette communication est effectuée avec un jeton SubjectAndApp, qui est un jeton spécial qui inclut un jeton d’application et un jeton d’objet combiné (consultez Aperçu de l’authentification et de l’autorisation du back-end pour en savoir plus sur ce jeton).
Pour que cette communication fonctionne, l’utilisateur utilisant cette communication doit donner son consentement à l’application Microsoft Entra.
Du back-end de charge de travail au back-end Fabric
Cela est effectué avec un jeton SubjectAndApp pour les API de contrôle de charge de travail (par exemple ResolveItemPermissions) ou avec un jeton Sujet (pour d’autres API Fabric).
De la charge de travail back-end aux services externes
Un exemple de telle communication consiste à écrire dans un fichier Lakehouse. Cela est effectué avec le jeton Objet ou un jeton d’application, en fonction de l’API.
Si vous envisagez de communiquer avec des services à l’aide d’un jeton Objet, assurez-vous que vous êtes familiarisé avec Pour le compte des flux.
Reportez-vous au didacticiel d’authentification pour configurer votre environnement pour qu’il fonctionne avec l’authentification.
API Javascript d’authentification
Le front-end Fabric offre une API Javascript pour les charges de travail Fabric afin d’acquérir un jeton pour son application dans Microsoft Entra ID. Avant de travailler avec l'API JavaScript d'authentification, veillez à consulter la documentation de l'API JavaScript d'authentification.
Consentements
Pour comprendre pourquoi les consentements sont requis, vérifiez le consentement de l’utilisateur et de l’administrateur dans Microsoft Entra ID.
Comment fonctionnent les consentements dans les charges de travail Fabric ?
Pour accorder un consentement pour une application spécifique, Fabric FE crée une instance MSAL configurée avec l’ID d’application de la charge de travail et demande un jeton pour les étendues fournies (additionalScopesToConsent - consultez AcquireAccessTokenParams).
Lorsque vous demandez un jeton avec l’application de charge de travail pour une étendue spécifique, l’ID Microsoft Entra affiche un consentement contextuel en cas d’absence, puis redirige la fenêtre contextuelle vers l’URI de redirection configuré dans l’application.
En règle générale, l’URI de redirection se trouve dans le même domaine que la page qui a demandé le jeton, afin que la page puisse accéder à la fenêtre contextuelle et la fermer.
Dans notre cas, ce n'est pas dans le même domaine puisque Fabric demande le jeton et que l'URI de redirection de la charge de travail n'est pas dans le domaine Fabric, donc lorsque la boîte de dialogue de consentement s'ouvre, elle doit être fermée manuellement après la redirection - nous n'utilisons pas le code renvoyé dans l'URI de redirection, et donc nous la fermons automatiquement (lorsque Microsoft Entra ID redirige la fenêtre contextuelle vers l'URI de redirection, elle se ferme).
Vous pouvez voir le code/configuration de l’URI de redirection dans le fichier index.ts. Ce fichier se trouve dans Microsoft-Fabric-workload-development-sample, sous le dossier front-end.
Voici un exemple de fenêtre contextuelle de consentement pour notre application « mon application de charge de travail » et ses dépendances (stockage et Power BI) que nous avons configurées lors de la configuration de l’authentification :