Partage via


Emprunter l’identité d’un autre utilisateur

L’emprunt d’identité permet d’exécuter une logique métier au nom d’un autre utilisateur de Microsoft Dataverse pour fournir une fonctionnalité ou un service voulu avec le rôle approprié et la sécurité basée sur les objets de cet utilisateur représenté.

L’emprunt d’identité peut être utilisé par divers clients et services pour appeler les services web de Dataverse pour le compte d’un utilisateur de Dataverse.

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

Emprunteur d’identité Utilisateur représenté
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’emprunteur a besoin du privilège Agir au nom d’un autre utilisateur (prvActOnBehalfOfAnotherUser), fourni avec le rôle de sécurité Délégué ou pouvant être activé pour n’importe quel rôle de sécurité.

Notes

N’oubliez pas que 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 leur accordera le privilège prvActOnBehalfOfAnotherUser, ainsi que les privilèges fournis par tout autre rôle de sécurité associé au compte d’utilisateur.

L’ensemble réel de privilèges qui est utilisé pour modifier les données est à l’intersection des privilèges que l’utilisateur emprunteur possède et de ceux de l’utilisateur qui est représenté.

En d’autres termes, l’emprunteur est autorisé à agir si et seulement si l’emprunteur et l’utilisateur représenté ont les privilèges nécessaires pour l’action.

Attribution directe requise

Le privilège Agir au nom d’un autre utilisateur (prvActOnBehalfOfAnotherUser) ou un rôle contenant ce privilège, doit être attribué directement aux utilisateurs car il ne peut pas être hérité via une équipe. Cette attribution directe est nécessaire en raison de la nature sensible du privilège.

Emprunt d’identité avec authentification serveur à serveur

Si vous créez une application cliente Web qui requiert un compte d’utilisateur pouvant agir au nom d’un utilisateur abonné, vous pouvez utiliser le compte spécial utilisateur de l’application afin qu’il ne soit pas nécessaire 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).

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

Emprunter l’identité d’un autre utilisateur à l’aide du SDK pour .NET

Pour emprunter l’identité d’un autre utilisateur, définissez la propriété CallerId de la valeur de GUID de l’utilisateur représenté. Les classes suivantes mettant en œuvre IOrganizationService comprennent cette propriété.

Emprunter l’identité d’un autre utilisateur à l’aide de 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

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