Partager via


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 :

  1. Connectez-vous au portail Azure.

  2. Sélectionnez Microsoft Entra ID>Applications d’entreprise.

  3. Dans les filtres de recherche, choisissez Type d’application = toutes les applications. L’ID de l’application commence par e406a681-f3d4-42a8-90b6-c2b029497af1.

    Capture d’écran montrant l’approvisionnement de Stockage Azure dans le portail Azure.

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 :

  1. Appliquer les configurations suivantes à votre application :

    1. Définissez l’application comme application multi-locataire.
    2. 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().

    Capture d’écran de l’IU d’inscription d’application.

  2. 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 est Fabric.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 :

  1. Sous Exposer une API, sélectionnez Ajouter une étendue. Nommez l’étendue FabricWorkloadControl et saisissez les informations requises.

  2. 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 travail
  • Item1.ReadWrite.All : permet de lire/écrire des éléments de charge de travail
  • FabricLakehouse.Read.All : permet de lire des fichiers lakehouse
  • FabricLakehouse.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.

Capture d’écran montrant ce à quoi votre section Exposer une API doit ressembler.

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.

Capture d’écran de la boîte de dialogue Générer des secrets.

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.

Capture d’écran montrant l’ajout d’idtyp de revendication.

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) :

Une capture d’écran montrant l’ajout des autorisations des API.

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).

  1. Installer Azure CLI : pour commencer, installer Azure CLI pour Windows.
  2. 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.
  3. 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)

  1. Dans l’exemple de back-end, accédez au fichier src/appsettings.json dans le référentiel et configurez les paramètres :

  2. Configurez votre fichier workloadManifest.xml. Dans le référentiel, accédez au fichier src/Packages/manifest/files/WorkloadManifest.xml. Sous AADApp, configurez AppId, redirectUriet ResourceId (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

Capture d’écran montrant la configuration d’un fichier .env.dev.