Annehmen der Identität eines anderen Benutzers

Verwenden Sie Impersonation, um Geschäftslogik im Namen eines anderen Microsoft Dataverse-Benutzers auszuführen. Mithilfe der entsprechenden rollen- und objektbasierten Sicherheit des imitierten Benutzers können Sie ein gewünschtes Feature oder einen gewünschten Dienst bereitstellen.

Verschiedene Clients und Dienste können den Identitätswechsel verwenden, um die Dataverse-Webdienste im Auftrag eines Dataverse-Benutzers aufzurufen.

Identitätsanmaßung umfasst zwei unterschiedliche Benutzerkonten:

Identitätsvortäuscher Benutzer mit übernommener Identität
Benutzerkonto, das verwendet wird, wenn Code ausgeführt wird Benutzerkonto, in dessen Auftrag die Aufgabe ausgeführt wird.

Erforderliche Berechtigungen

Der Benutzer für die Identitätsübernahme benötigt die Berechtigung Im Auftrag eines anderen Benutzers handeln (prvActOnBehalfOfAnotherUser). Diese Berechtigung ist in der Sicherheitsrolle " Stellvertretung " enthalten oder kann für jede Sicherheitsrolle aktiviert werden.

Anmerkung

Benutzer können mehreren Sicherheitsrollen zugeordnet werden. Die Zuweisung der Sicherheitsrolle "Delegierter" an einen Benutzer gewährt die Berechtigung prvActOnBehalfOfAnotherUser sowie die Berechtigungen, die durch alle anderen dem Benutzerkonto zugeordneten Sicherheitsrollen gewährt werden.

Der tatsächliche Satz von Berechtigungen, die zum Ändern von Daten verwendet werden, ist der Schnittpunkt der Berechtigungen, die der Identitätswechselbenutzer mit dem des imitierten Benutzers besitzt.

In anderen Worten der Identitätenübernehmer kann nur dann etwas tun, wenn der Identitätenübernehmer und der Identitätenbenutzer über die dazu erforderlichen Rechte verfügen.

Direkte Zuweisung erforderlich

Sie müssen Benutzern die Berechtigung Act on Behalf of Another User (prvActOnBehalfOfAnotherUser) oder eine Rolle, die diese Berechtigung enthält, direkt zuweisen. Benutzer können diese Berechtigung nicht über ein Team erben. Diese direkte Zuordnung ist aufgrund der sensiblen Art der Berechtigung erforderlich.

Identitätenwechsel mit Server-zu-Server-Authentifizierung

Wenn Sie eine Webanwendung erstellen, die ein Benutzerkonto erfordert, das im Namen eines abonnierenden Benutzers handeln kann, verwenden Sie das spezielle Anwendungsbenutzerkonto , damit Sie keine kostenpflichtige Dataverse-Benutzerlizenz verwenden müssen.

Weitere Informationen finden Sie unter: Webanwendungen mit der Server-zu-Server-(S2S)-Authentifizierung erstellen..

Einen anderen Benutzer mithilfe der Web-API imitieren

Um einen Benutzer zu imitieren, fügen Sie einen Anforderungskopf namens CallerObjectId mit einem GUID-Wert hinzu, der dem Objektbezeichner Microsoft Entra ID des imitierten Benutzers entspricht, bevor Sie die Anforderung an den Webdienst senden. Der Microsoft Entra ID-Objektbezeichner des Benutzers ist in SystemUser.AzureActiveDirectoryObjectId enthalten.

Weitere Informationen: Die Identität eines anderen Benutzers mit der Web-API annehmen.

Die Identität eines anderen Benutzers mithilfe des SDK für .NET annehmen

Um einen anderen Benutzer zu imitieren, legen Sie die Eigenschaft CallerId auf den GUID-Wert des imitierten Benutzers fest. Die folgenden Klassen, die IOrganizationService implementieren, umfassen diese Eigenschaft.

Sich mithilfe von Plug-ins als ein anderer Benutzer ausgeben

Um den Benutzer zu definieren, für den der Vorgang verwendet werden soll, können Sie ein Plug-In mit Code registrieren. Weitere Informationen: Annehmen der Identität eines Benutzers

Siehe auch

Erstellen von Webanwendungen mit Server-to-Server-Authentifizierung (S2S)
Die Identität eines anderen Benutzers mit der Web API annehmen
Schreiben eines Plug-Ins