Configuration de l’authentification
Cet article décrit comment utiliser l’authentification dans Microsoft Fabric.
Pour authentifier une charge de travail personnalisée dans Fabric, vous devez d’abord configurer trois composants :
Remarque
Pour configurer les paramètres d’authentification décrits dans cet article, vous devez disposer du rôle Administrateur général.
Approvisionnement de Stockage Azure
Dans cet article, l’exemple d’authentification montre comment stocker et lire des données dans une architecture lakehouse. Pour cela, vous devez générer des jetons pour le service Stockage Azure dans les flux On-Behalf-Of (OBO). Pour générer des jetons, vous devez accepter d’utiliser Stockage Azure avec votre application. Pour ce faire, Stockage Azure doit être approvisionné dans le locataire.
Pour vous assurer que Stockage Azure est approvisionné dans le locataire :
Connectez-vous au portail Azure.
Sélectionnez Microsoft Entra ID>Applications d’entreprise.
Dans les filtres de recherche, choisissez Type d’application = toutes les applications. L’ID de l’application commence par
e406a681-f3d4-42a8-90b6-c2b029497af1
.
Si l’application Stockage Azure apparaît dans les résultats de la recherche, cela signifie qu’elle a déjà été configurée et que vous pouvez passer à l’étape suivante. Dans le cas contraire, un administrateur général doit la configurer.
Pour approvisionner Stockage Azure, ouvrez Windows PowerShell en tant qu’administrateur, puis exécutez les commandes suivantes :
Install-Module az
Import-Module az
Connect-AzureAD
New-AzureADServicePrincipal -AppId e406a681-f3d4-42a8-90b6-c2b029497af1
Configurer manuellement votre application dans Microsoft Entra ID
Pour authentifier une charge de travail, l’application dédiée doit être inscrite dans Microsoft Entra ID. Si aucune application n’est inscrite, créez une application. Effectuez ensuite les tâches suivantes :
Appliquer les configurations suivantes à votre application :
- Définissez l’application comme application multi-locataire.
- Pour les applications de développement, configurez l'URI de redirection comme
http://localhost:60006/close
avec la plateforme SPA (application monopage). Cette configuration est nécessaire pour supporter le consentement Microsoft. Vous pouvez ajouter d’autres URI de redirection.
Remarque
- L’URI de redirection doit être un URI qui ferme simplement la page lorsque vous y accédez. L’URI
http://localhost:60006/close
a déjà été configuré dans l’exemple de front-end. Vous pouvez modifier l’URI de redirection dans Frontend/src/index.ts. Si vous le modifiez, assurez-vous que l’URI correspond à celui configuré pour votre application. - Vous pouvez configurer l’URI de redirection après avoir créé l’application. Pour modifier les paramètres de l’URI de redirection, accéder à Authentification>Gérer.
- L’URL de redirection doit retourner une page HTML qui appelle uniquement JavaScript
windows.close()
.
Modifiez l’URI d’identification de l’application pour votre application. Accédez à Gérer>Exposer une API et modifiez la valeur URI d’ID d’application de votre application.
Pour le scénario en mode développeur, l’URI de l’ID d’application doit commencer par
api://localdevinstance/<Workload publisher's tenant ID in lowercase (the tenant ID of the user used in Fabric to run the sample)>/<Name of your workload>
et se terminer par un sous-chemin facultatif qui commence par/
(voir les exemples plus bas).Paramètres de l’URI d’ID d’application :
- Le nom de la charge de travail doit être exactement tel qu’il est spécifié dans le manifeste.
- L’URI d’ID ne se termine pas par une barre oblique (
/
). - La fin de l’URI d’ID peut avoir un sous-chemin facultatif identifié par une chaîne contenant jusqu’à 36 caractères. Il ne peut contenir que des lettres anglaises (minuscules et majuscules), des chiffres et des tirets.
Conseil
Découvrez comment trouver votre ID de locataire Microsoft Entra.
Par exemple, si l’ID de locataire de l’éditeur est
aaaabbbb-0000-cccc-1111-dddd2222eeee
et que le nom de la charge de travail estFabric.WorkloadSample
, alors :Les URI et suivants sont valides :
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/abc
Les URI et suivants ne sont pas valides :
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/a
- URI d’ID qui ne commence pas par
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
Ajouter une étendue pour les API et les tâches CRUD
Pour utiliser les API CRUD (pour Create, Read, Update et Delete) avec les éléments de charge de travail et effectuer d’autres opérations avec des tâches, ajoutez une étendue. En outre, ajoutez deux applications Fabric dédiées aux applications pré-autorisées pour cette étendue afin d’indiquer que votre API (l’étendue que vous avez créée) approuve Fabric.
Pour ajouter une étendue :
Sous Exposer une API, sélectionnez Ajouter une étendue. Nommez l’étendue
FabricWorkloadControl
et saisissez les informations requises.Sous Applications clientes autorisées, sélectionnez Ajouter une application cliente. Ajoutez
d2450708-699c-41e3-8077-b0c8341509aa
(client Fabric pour l’application de charge de travail) et sélectionnez votre étendue.
Ajouter des étendues pour l’API de plan de données
D’autres étendues doivent être inscrites pour représenter des groupes d’opérations qui sont exposés par l’API de plan de données.
Dans l'exemple de backend, nous fournissons quatre exemples. Vous pouvez en consulter un exemple dans Backend/src/Constants/scopes.cs.
Les étendues sont les suivantes :
Item1.Read.All
: permet de lire les éléments de charge de travailItem1.ReadWrite.All
: permet de lire/écrire des éléments de charge de travailFabricLakehouse.Read.All
: permet de lire des fichiers lakehouseFabricLakehouse.ReadWrite.All
: permet de lire/écrire des fichiers lakehouse
Préautoriser 871c010f-5e61-4fb1-83ac-98610a7e9110
(l’application cliente Fabric) pour ces étendues.
Vous trouverez les ID d’application de ces applications sous Microsoft Power BI et service Power BI dans ID d’application des applications Microsoft couramment utilisées.
Voici à quoi doit ressembler la section Exposer une API dans votre application. Dans cet exemple, l’URI d’identification est api://localdevinstance/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/Fabric.WorkloadSample
.
Générez un secret pour votre application
Sous Certificats et secrets, sélectionnez l'onglet Secrets et ajoutez un secret. Entrez le nom que à utiliser, puis enregistrez-le. Utilisez ce secret lorsque vous configurez l’exemple de back-end.
Ajouter une revendication facultative
Sous Configuration du jeton, sélectionnez Ajoutez une revendication facultative. Pour Types de jetons, sélectionnez Accéder, puis cliquez sur idtyp.
Ajouter des autorisations API
Sous Autorisations d’API, ajoutez les autorisations nécessaires à l’application. Pour l'exemple de back-end, ajoutez « Azure Storage user_impersonation » (pour les API OneLake) et « Power BI Service Workspace.Read.all » (pour les API de contrôle des charges de travail) :
Pour en savoir plus sur les autorisations d’API, consultez Mettre à jour les autorisations demandées par une application dans Microsoft Entra ID.
Configurer votre application pour qu’elle fonctionne avec le jeton d’authentification v1
Sous Manifeste, assurez-vous que accessTokenAcceptedVersion
est défini sur null
ou 1
.
Utiliser un script pour configurer votre application dans Microsoft Entra ID
Pour une configuration simplifiée de votre application dans Microsoft Entra ID, vous pouvez utiliser un script PowerShell automatisé (facultatif).
- Installer Azure CLI : pour commencer, installer Azure CLI pour Windows.
- Exécuter le script CreateDevAADApp.ps1 : exécutez le script CreateDevAADApp. Vous êtes invité à vous connecter en utilisant les informations d’identification du compte d’utilisateur sous lequel vous avez l’intention de créer l’application.
- Fournir les informations requises : Lorsque vous y êtes invité, entrez le nom à utiliser pour votre application, le nom de la charge de travail (avec Org. comme préfixe) et votre ID de locataire.
Lorsque le script s’exécute correctement, il retourne toutes les informations nécessaires pour configurer votre charge de travail. Il fournit également une URL directe vers votre application et une URL de consentement administratif pour l’autorisation de l’application à l’échelle du locataire.
Exemple d’utilisation
Pour créer une application nommée « myWorkloadApp » avec le nom de charge de travail « Org.Myworkload » pour le locataire spécifié, exécutez la commande suivante dans PowerShell :
powershell .\CreateDevAADApp.ps1 -applicationName "myWorkloadApp" -workloadName "Org.Myworkload" -tenantId "bbbbcccc-1111-dddd-2222-eeee3333ffff"
Cet exemple montre comment utiliser le script CreateDevAADApp.ps1 avec des arguments de ligne de commande pour automatiser le processus d'installation de l'application. L’ID de locataire est fourni à titre d’exemple uniquement. Remplacez l’ID de locataire de l’exemple par le vôtre.
Configurer votre charge de travail (back-end)
Dans l’exemple de back-end, accédez au fichier src/appsettings.json dans le référentiel et configurez les paramètres :
PublisherTenantId
: l’ID client de l’éditeur.ClientId
: votre ID d’application (vous pouvez le trouver dans la vue d'ensemble Microsoft Entra ID).ClientSecret
: le secret que vous avez créé lorsque vous avez configuré l’application Microsoft Entra.Audience
: l’URI d’identification que vous avez configuré dans l’application Microsoft Entra.
Configurez votre fichier workloadManifest.xml. Dans le référentiel, accédez au fichier src/Packages/manifest/files/WorkloadManifest.xml. Sous
AADApp
, configurezAppId
,redirectUri
etResourceId
(l’URI d’identification).
<AADApp>
<AppId>YourApplicationId</AppId>
<RedirectUri>YourRedirectUri</RedirectUri>
<ResourceId>YourResourceId</ResourceId>
</AADApp>
Configurer le manifeste local de la charge de travail
Remarque
Cette étape s’applique uniquement dans un scénario en mode développeur.
Après avoir configuré votre application, mettez à jour les configurations suivantes dans le fichier de configuration .env.dev qui se trouve dans le dossier Frontend :
"DEV_AAD_CONFIG_AUDIENCE": "", // The ID URI configured in your application for a developer scenario
"DEV_AAD_CONFIG_REDIRECT_URI": "http://localhost:60006/close", // Or the path you configured in index.ts
"DEV_AAD_CONFIG_APPID": "" // Your app ID
Contenu connexe
- Découvrez comment utiliser l’authentification dans les charges de travail.