Usurper l’identité d’un autre utilisateur

Utiliser l’emprunt d’identité pour exécuter la logique métier pour le compte d’un autre utilisateur Microsoft Dataverse. En utilisant les paramètres de sécurité appropriés, fondés sur les rôles et les objets, de l’utilisateur dont l’identité est empruntée, vous pouvez fournir la fonctionnalité ou le service souhaité.

Différents clients et services peuvent utiliser l’emprunt d’identité pour appeler les services web Dataverse au nom d’un utilisateur Dataverse.

L’emprunt d’identité implique deux comptes d’utilisateur différents :

Usurpateur d’identité Utilisateur usurpé
Compte d’utilisateur utilisé pour exécuter le code Compte d’utilisateur pour lequel la tâche est en cours d’exécution.

Privilèges requis

L’utilisateur empruntant l’identité doit disposer du privilège Agir au nom d’un autre utilisateur (prvActOnBehalfOfAnotherUser). Ce privilège est inclus dans le rôle de sécurité délégué ou peut être activé pour n’importe quel rôle de sécurité.

Note

Les utilisateurs peuvent être associés à plusieurs rôles de sécurité. L’attribution du rôle de sécurité délégué à un utilisateur accorde le prvActOnBehalfOfAnotherUser privilège ainsi que les privilèges fournis par d’autres rôles de sécurité associés au compte d’utilisateur.

L’ensemble effectif des privilèges utilisés pour modifier les données est l’intersection des privilèges que possède l’utilisateur usurpateur d’identité avec ceux de l’utilisateur dont l’identité est usurpée.

En d’autres termes, l’usurpateur est autorisé à effectuer une action si et seulement si l’usurpateur et l’utilisateur usurpé disposent du privilège nécessaire pour effectuer cette action.

Attribution directe requise

Vous devez attribuer directement aux utilisateurs le privilège Agir au nom d’un autre utilisateur (prvActOnBehalfOfAnotherUser) ou un rôle contenant ce privilège. Les utilisateurs ne peuvent pas hériter de ce privilège par le biais d’une équipe. Cette attribution directe est requise en raison de la nature sensible du privilège.

Usurpation d’identité avec authentification de serveur à serveur

Si vous créez une application cliente web qui nécessite un compte d’utilisateur qui peut agir pour le compte d’un utilisateur abonné, utilisez le compte d’utilisateur d’application spécial afin que vous n’ayez pas besoin d’utiliser une licence utilisateur Dataverse payante.

Pour plus d’informations, voir Créer des applications Web en utilisant l’authentification de serveur à serveur (S2S).

Usurper l’identité d’un autre utilisateur à l’aide de l’API Web

Pour emprunter l’identité d’un utilisateur, ajoutez un en-tête de demande nommé CallerObjectId avec une valeur GUID égale à l’identifiant d’objet Microsoft Entra ID de l’utilisateur impersonné avant d’envoyer la demande au service web. L’identifiant d’objet Microsoft Entra ID de l’utilisateur est inclus dans SystemUser.AzureActiveDirectoryObjectId.

Pour plus d’informations : Emprunter l’identité d’un autre utilisateur à l’aide de l’API Web.

Se faire passer pour un autre utilisateur à l’aide du SDK .NET

Pour vous faire passer pour un autre utilisateur, définissez la propriété CallerId avec la valeur Guid de l’utilisateur pour lequel vous vous faites passer. Les classes suivantes mettant en œuvre IOrganizationService comprennent cette propriété.

Usurper l’identité d’un autre utilisateur en utilisant des plug-ins

Vous pouvez enregistrer un plug-in contenant un code pour spécifier l’utilisateur que les opérations doivent utiliser. Informations complémentaires : Emprunter l’identité d’un utilisateur.

Voir aussi

Créer des applications Web en utilisant l’authentification de serveur à serveur (S2S)
Emprunter l’identité d’un autre utilisateur à l’aide de l’API Web
Écrire un plug-in