Utiliser l’authentification de serveur à serveur multi-utilisateurs

Il s’agit du scénario d’application le plus courant et celui qui est utilisé pour les applications distribuées avec Microsoft AppSource, mais vous pouvez également utiliser l’authentification multi-utilisateurs sans répertorier votre application avec Microsoft AppSource.

Chaque organisation Microsoft Dataverse est associée à un client Microsoft Entra ID. Votre application ou service Web est enregistrée avec son propre client Microsoft Entra ID.

Dans ce scénario, un client Dataverse peut potentiellement utiliser votre application multi-utilisateurs après l’avoir autorisée à accéder aux données de son client.

Configuration requise

Pour créer et tester une application à plusieurs utilisateurs qui utilise l’authentification de serveur à serveur (S2S) vous aurez besoin de :

  • Un client Microsoft Entra ID que vous utiliserez pour publier votre application ou service.

  • Deux (2) Abonnements Dataverse

    • L’un doit être associé à un client Microsoft Entra ID que vous utiliserez pour publier votre application ou service.
    • L’autre peut être un abonnement d’évaluation à utiliser pour tester la manière dont un abonné accédera à votre application.

Vue d’ensemble : Développer et tester votre application

L’application que vous allez créer doit être enregistrée auprès du client Microsoft Entra ID que vous utiliserez lorsque vous publierez l’application.

À un niveau supérieur, le processus se compose des éléments suivants :

  1. Créez une application Web à plusieurs utilisateurs enregistrée auprès de votre client Microsoft Entra ID.
  2. Créez un utilisateur de l’application associé à l’application enregistrée dans votre client Dataverse
  3. Créer un rôle de sécurité personnalisé et attribuez-le à l’utilisateur de l’application de votre client Dataverse
  4. Tester votre application au moyen de votre client Dataverse
  5. Tester votre application au moyen d’un client Dataverse distinct

Créez une application Web à plusieurs utilisateurs enregistrée auprès de votre client Microsoft Entra ID

Vous allez créer une application Web ou un service à plusieurs utilisateurs qui utilise Microsoft Entra ID comme fournisseur d’authentification.

Cette rubrique ne traitera pas de la procédure exacte. Bien des méthodes permettent d’aborder cela et de faire des choix adaptés à vos besoins ou préférences. Pour plus d’informations et d’exemples, voir les liens suivants :

Microsoft Entra ID nécessite les valeurs suivantes pour enregistrer votre application :

Valeur Description
URI de l’ID d’application Identificateur d’une application. Cette valeur est envoyée à Microsoft Entra ID pendant l’authentification pour indiquer pour quelle application l’appelant souhaite un jeton. En outre, cette valeur est incluse dans le jeton afin que l’application sache qu’il était la cible prévue.
URL de réponse et URI de redirection Dans le cas d’une API web ou d’une application Web, l’URL de réponse est l’emplacement où Microsoft Entra ID enverra la réponse d’authentification, notamment un jeton si l’authentification a réussi.
ID client ID d’une application, qui est généré par Microsoft Entra ID lorsque l’application est enregistrée. Lors de la demande d’un code d’autorisation ou d’un jeton, l’ID client et une clé sont envoyés à Microsoft Entra ID pendant l’authentification.
Touche Clé qui est envoyée avec un ID client lors de l’authentification auprès de Microsoft Entra ID pour appeler une API web.

Lorsque l’application sera enregistrée un Id d’objet ID d’objet Microsoft Entra ID (identificateur unique de l’application enregistrée) lui sera attribué.

Si vous créez une application MVC ASP.NET avec Visual Studio vous aurez des options pour spécifier que l’application peut prendre en charge la fonctionnalité à plusieurs utilisateurs. Le modèle d’une application MVC fournit la possibilité de spécifier le type d’authentification ayant lieu. Vous aurez la possibilité de choisir la méthode d’authentification en configurant les propriétés de votre projet lors de la création. Le diagramme suivant illustre les options disponibles :

Boîte de dialogue Authentification de modification MVC ASP.NET.

Lorsque vous configurerez un projet avec ces options il sera configuré pour utiliser le logiciel intermédiaire OWIN et la génération de modèles automatique pour une application de base qui prend en charge ce scénario. Avec quelques modifications de base il peut être adapté pour utiliser Dataverse.

Lors du processus de création et d’enregistrement de votre application à des fins de développement vous utiliserez probablement https://localhost comme valeurs de URL de connexion et de URL de réponse afin de pouvoir tester et déboguer votre application localement avant de la publier. Vous devrez modifier ces valeurs avant de publier votre application.

Lorsque vous enregistrez votre application vous devez générer une clé, également appelée ClientSecret. Ces clés sont configurées pour une durée d’un ou deux ans. En tant qu’hôte de l’application vous devez traiter cette valeur comme un mot de passe et il est de votre responsabilité de gérer le renouvellement des clés avant qu’elles expirent. Vous pouvez utiliser Key Vault. Pour plus d’informations, voir https://azure.microsoft.com/services/key-vault/

Accorder vos droits d’application pour accéder aux données Dataverse

C’est la raison pour laquelle votre client Dataverse doit être associé à votre locataire Microsoft Entra ID. Si votre client Microsoft Entra ID n’est pas associé à un client Dataverse, vous ne pourrez pas procéder comme suit.

  1. Accédez à https://portal.azure.com et sélectionnez Microsoft Entra ID.
  2. Cliquez sur Inscriptions d’application et recherchez l’application que vous avez créée à l’aide de Visual Studio.
  3. Vous devez attribuer à vos privilèges d’application l’accès aux données Dataverse. Dans la zone Accès API, cliquez sur Autorisations requises. Vous devriez voir qu’il possède déjà des autorisations pour Windows Azure Active Directory.
  4. Dans Ajouter, puis sur Sélectionner une API. Dans la liste, sélectionnez Dynamics 365, puis cliquez sur le bouton Sélectionner.
  5. Dans Sélectionner les autorisations, sélectionnez Accéder à Dynamics 365 en tant qu’utilisateurs de l’organisation. Cliquez ensuite sur le bouton Sélectionner.
  6. Cliquez sur Terminé pour ajouter ces autorisations. Lorsque vous avez terminé vous devez voir les autorisations appliquées.

Accorder les autorisations Dynamics 365 à l’application.

Créez un utilisateur de l’application associé à l’application enregistrée dans Dataverse

Lorsque votre application accède aux données Dataverse d’un des abonnés de votre application, elle nécessite un utilisateur de l’application dans l’organisation Dataverse de l’abonné. Comme tout utilisateur Dataverse, cet utilisateur de l’application doit être associé à au moins un rôle de sécurité qui définit les données auxquelles l’utilisateur a accès.

La Table SystemUser inclut trois nouvelles colonnes pour stocker ces données.

Nom du schéma Nom d’affichage Type Description
ApplicationId ID d’application UniqueidentifierType Identificateur de l’application. Il permet d’accéder à des données dans une autre application.
ApplicationIdUri URI de l’ID d’application StringType URI utilisé comme identificateur logique unique de l’application externe. Il peut être utilisé pour valider l’application
AzureActiveDirectoryObjectId ID d’objet Azure AD UniqueidentifierType Il s’agit de l’ID d’objet du répertoire d’application.

Cette valeur de propriété systemuser``AzureActiveDirectoryObjectId doit être une référence à l’ID d’objet Microsoft Entra ID de votre application enregistrée. Cette référence sera définie dans Dataverse lorsque l’utilisateur de l’application est créé en fonction de la valeur ApplicationId.

Notes

Lorsque vous développez initialement votre application avec votre propre client Dataverse et le locataire Microsoft Entra ID qui y est associé, vous pouvez simplement créer l’utilisateur de l’application car l’application enregistrée fait déjà partie de votre locataire Microsoft Entra ID.

Toutefois, afin de créer l’utilisateur de l’application dans une autre organisation à des fins de tests, ou lorsqu’un abonné utilisera votre application, ils doivent d’abord accorder leur consentement à votre application, et donc les étapes du processus diffèrent. Voir Tester votre application en utilisant un client Dynamics 365 distinct pour plus d’informations.

Créer un rôle de sécurité pour l’utilisateur de l’application

Dans l’étape suivante vous allez créer utilisateur de l’application Dataverse. Les privilèges et les droits d’accès de cet utilisateur sont définis par un rôle de sécurité personnalisé que vous définissez. Avant de créer l’application, vous devez créer un rôle de sécurité personnalisé de manière à pouvoir associer l’utilisateur à celui-ci. Pour plus d’informations, voir : Créer ou modifier un rôle de sécurité

Notes

L’utilisateur de l’application ne peut pas être associé à l’un des rôles de sécurité Dataverse par défaut. Vous devez créer un rôle de sécurité personnalisé à associer à l’utilisateur de l’application.

Créer manuellement un utilisateur de l’application Dataverse

La procédure interactive pour créer un utilisateur d’application sans licence est décrite dans cet article Créer un utilisateur de l’application. Après avoir créé l’utilisateur de l’application, associez-le au rôle de sécurité personnalisé créé dans Créer un rôle de sécurité pour l’utilisateur de l’application.

Plus d’informations : Gérer les utilisateurs de l’application dans le centre d’administration Power Platform

Tester votre application au moyen de votre client Dataverse

Étant donné que l’application a été enregistrée avec votre client Microsoft Entra ID et que l’utilisateur de l’application de votre organisation de développement est déjà configuré, vous pouvez continuer à développer votre application dans votre propre client Dataverse. Mais cela n’est pas un test valide de la fonctionnalité à plusieurs utilisateurs. Vous devez tester votre application sur un client Dataverse distinct.

Tester votre application au moyen d’un client Dataverse distinct

Avant de tester votre application avec un client Dataverse distinct, un administrateur du locataire Microsoft Entra ID doit accorder son consentement pour l’application. L’administrateur accorde son consentement en accédant à l’application avec un navigateur. La première fois qu’il accède à l’application, il voit une boîte de dialogue comme celle-ci :

Accorder l’accès aux données Dynamics 365.

Lorsqu’il accorde son consentement, votre application enregistrée est ajoutée à la liste des applications d’entreprise Microsoft Entra ID et elle est disponible pour les utilisateurs du client Microsoft Entra ID.

Une fois seulement qu’un administrateur a accordé son consentement, vous devez créer l’utilisateur de l’application dans le client Dataverse de l’abonné. Vous pouvez créer manuellement l’utilisateur d’application en suivant les étapes décrites dans Créer manuellement un utilisateur d’application Dynamics 365.

Pour les tests initiaux vous pouvez effectuer la procédure suivante manuellement. Lorsque vous serez prêt à rendre votre application ou service disponible pour les abonnés, vous souhaiterez avoir une procédure plus efficace. Cela est expliqué dans la section suivante.

Préparer une méthode pour déployer l’utilisateur de l’application

Une fois que les abonnés auront accordé leur consentement pour votre application ou service, vous aurez besoin d’un moyen simple et fiable d’ajouter l’utilisateur de l’application et tous les autres composants nécessaires à leur organisation Dataverse.

Vous devez inclure un rôle de sécurité personnalisé qui définit les privilèges que votre application requiert puis faire en sorte que l’utilisateur de l’application soit associé à ce rôle de sécurité personnalisé. Du fait qu’un rôle de sécurité personnalisé puisse être inclus dans une solution, vous devez préparer une solution gérée qui contient la définition du rôle de sécurité personnalisé et tous les autres composants de solution que votre application requiert.

Pour des informations sur la création de rôles de sécurité personnalisés, voir

Toutefois, l’utilisateur de l’application ne peut pas être inclus dans une solution, vous devrez donc fournir une façon de créer cet utilisateur de l’application et de l’associer au rôle de sécurité personnalisé.

Il existe plusieurs méthodes permettant d’y parvenir, notamment en écrivant votre propre programme à l’aide des services Web et en faisant exécuter le programme par l’abonné.

Dynamics 365 Package Deployer est une application qui permet de préparer un package afin d’automatiser le transfert des solutions et des données vers une autre organisation Dataverse. Plus d’informations : Créer des packages pour l’outil Package Deployer.

Voir aussi

Utilisez l’authentification de serveur à serveur mono-utilisateur
Créer des applications Web en utilisant l’authentification de serveur à serveur (S2S)
S’authentifier avec les services web Microsoft Dataverse

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).