Configuration de l'authentification (préversion)
Remarque
Pour configurer les paramètres d’authentification suivants dans le guide d’installation, un rôle d’administrateur général est requis.
Pour pouvoir travailler avec l'authentification, vous devez mettre en place les trois éléments qui la composent :
Pour travailler avec l'authentification dans Fabric, suivez ce guide.
Approvisionnement de service Stockage Azure
L’exemple montre comment stocker et lire des données en provenance et à destination des lakehouses. Cela nécessite la génération de jetons pour le service Stockage Azure dans les flux OBO. Pour générer des jetons, les utilisateurs doivent donner leur consentement à l’application à l’aide de Stockage Azure. Pour donner son consentement, Stockage Azure doit être approvisionné dans le locataire.
Pour vous assurer que Stockage Azure est approvisionné dans le client :
Connectez-vous au portail Azure
Sélectionnez Microsoft Entra ID>Applications d’entreprise
Dans les filtres, choisissez type d’application = toutes les applications. L’ID d’application commence par e406a681-f3d4-42a8-90b6-c2b029497af1
Si vous voyez l’application Stockage Azure, cela signifie qu’elle est déjà configurée et que vous pouvez passer à l’étape suivante. Si ce n’est pas le cas, un administrateur général doit la configurer.
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 travailler avec l’authentification, vous devez avoir une application enregistrée dans Microsoft Entra ID. Si vous n’avez pas d’application inscrite, suivez ce guide pour créer une application.
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. Cette configuration est nécessaire pour notre support de consentement. Vous pouvez ajouter d’autres URI de redirection comme vous le souhaitez.
Remarque
- L’URI de redirection doit être un URI qui ferme simplement la page lors de sa navigation. L’URI
http://localhost:60006/close
est déjà configuré dans l’exemple front-end et vous pouvez le modifier dans Frontend/src/index.ts (si vous le modifiez, assurez-vous qu’il correspond à celui configuré pour votre application). - Vous pouvez configurer l’URI de redirection après avoir créé l’application dans le menu Gérer sous Authentification.
- L’URL de redirection doit retourner une page HTML qui appelle JS « windows.close() ».
Modifiez l'URI d'identification de l'application pour votre application. Accédez à Gérer>l’exposition d’une API et modifiez l’URI d’ID d’application de votre application :
Pour le scénario de développement, l’URI de l’ID d’application doit commencer par :
api://localdevinstance/<Workload publisher's tenant ID in lower case (the tenant ID of the user used in Fabric to run the sample)>/<Name of your workload>
et un sous-chemin facultatif à la fin qui commence par/
(voir des exemples).Où :
- Le nom de la charge de travail est 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’URL d’ID, il peut y avoir un sous-chemin facultatif constitué d'une chaîne de lettres minuscules ou majuscules anglais, de chiffres et de tirets, d'une longueur maximale de 36 caractères.
Conseil
Pour savoir comment rechercher votre ID de client, consultez Comment trouver votre ID de client Microsoft Entra.
Par exemple, si l’ID client de l’éditeur est 853d9f4f-c71b-4420-b6ec-60e503458946 et que le nom de la charge de travail est Fabric.WorkloadSample, puis :
Les URI suivants sont valides
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/abc
Les URI suivants ne sont pas valides
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/af/
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/af/a
- URI d’ID qui ne commence pas par
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
Ajouter une étendue pour CRUD/tâches
Pour utiliser les API Créer, Lire, Mettre à jour et Supprimer pour 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 pour indiquer que votre API (l’étendue que vous avez créée) approuve Fabric :
Sous Exposer une API, sélectionnez Ajouter une étendue. Nommez l’étendue FabricWorkloadControl et fournissez les détails nécessaires.
Sous Applications clientes autorisées, sélectionnez Ajouter une application cliente. Ajoutez
d2450708-699c-41e3-8077-b0c8341509aa
(client Fabric pour l’application des charges 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, exposées par l’API de plan de données. Dans l'exemple de backend, nous fournissons quatre exemples. Vous pouvez les voir dans Backend/src/Constants/scopes.cs. Les étendues sont les suivantes :
Item1.Read.All
: utilisé pour lire les éléments de charge de travailItem1.ReadWrite.All
: utilisé pour lire/écrire des éléments de charge de travailFabricLakehouse.Read.All
: utilisé pour lire des fichiers lakehouseFabricLakehouse.ReadWrite.All
: utilisé pour la lecture/écriture des fichiers lakehouse
Préautoriser 871c010f-5e61-4fb1-83ac-98610a7e9110
(l’application cliente Fabric) pour ces étendues.
Les ID d’application de ces applications se trouvent sous Microsoft Power BI et le service Power BI.
Voici à quoi doit ressembler la section Exposer une API dans votre application. Dans cet exemple, l’ID URL est api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
:
Générez un secret pour votre application
Sous Certificats et secrets, sélectionnez l'onglet Secrets et ajoutez un secret. Donnez-lui le nom souhaité et enregistrez-le. Utilisez ce secret lors de la configuration de l’exemple de back-end.
Ajouter une revendication facultative « idtyp »
Sous Configuration du jeton, sélectionnez Ajoutez une revendication facultative. Choisissez jeton d’accès et ajoutez idtyp.
Ajouter des autorisations API
Sous Autorisations d’API, ajoutez les autorisations souhaitées pour votre application. Pour l'exemple de backend, ajoutez Stockage user_impersonation (pour les API OneLake) et Power BI Workspace.Read.all (pour les API de contrôle de la charge 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.
Vérifiez que votre application est définie pour fonctionner avec le jeton d’authentification v1
Sous Manifeste, assurez-vous que accessTokenAcceptedVersion
est défini sur null ou « 1 ».
Configurer automatiquement votre application dans Microsoft Entra Identity à l'aide d'un script
Pour une configuration simplifiée de votre application dans Microsoft Entra Identity, vous pouvez choisir d'utiliser un script PowerShell automatisé. Suivez les étapes suivantes pour configurer votre application :
- Installer Azure CLI : Commencez par installer la interface de ligne de commande Azure (CLI) Installer Azure CLI pour Windows | Microsoft Learn2.
- Exécutez 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.
- Fournissez les informations requises : Lorsque vous y êtes invité, entrez le nom souhaité pour votre demande, le nom de la charge de travail (préfixé par "Org.") et votre numéro d'identification de locataire.
Une fois le script exécuté avec succès, il fournit tous les détails nécessaires à la configuration de votre charge de travail. En outre, il fournit 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 "cb1f79ad-7930-43c0-8d84-c1bf8d15c8c7"
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'identifiant du locataire fourni est un exemple et doit être remplacé par l'identifiant de votre locataire.
Configuration de votre charge de travail (back-end)
Dans l’exemple backend, accédez au fichier
src/appsettings.json
dans le référentiel et configurez les paramètres :PublisherTenantId
: L’ID client de l’éditeurClientId
: votre ID d’application (vous pouvez le trouver dans Microsoft Entra ID sous vue d'ensemble).ClientSecret
: le secret que vous avez créé lors de la configuration de l’application Microsoft Entra.Audience
: l’URI d’ID que nous avons configuré dans l’application Microsoft Entra.
Configurez votre workloadManifest.xml. Accédez au fichier
src/Packages/manifest/files/WorkloadManifest.xml
dans le référentiel et configurez vosAppId
,redirectUri
etResourceId
(URL d’ID) sous AADApps.
<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 au scénario devmode.
Après avoir configuré votre application, mettez à jour les configurations suivantes dans le fichier de configuration .env.dev
situé dans le dossier Frontend :
"DEV_AAD_CONFIG_AUDIENCE": "", // The ID URI configured in your application for 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
Pour comprendre comment utiliser l’authentification dans les charges de travail, consultez Lignes directrices pour l'authentification des charges de travail et exploration approfondie.