Suplantar a otro usuario

Use la suplantación para ejecutar la lógica de negocios en nombre de otro usuario de Microsoft Dataverse para proporcionar una característica o servicio deseado con el rol que le corresponde y la seguridad basada en objetos de dicho usuario suplantado.

La suplantación puede usarse por distintos clientes y servicios para llamar a los servicios web Dataverse en nombre de un usuario de Dataverse.

La suplantación implica dos diferentes cuentas de usuario:

Suplantador Usuario suplantado
Cuenta de usuario utilizada cuando se ejecuta código Cuenta de usuario en nombre de la cual se realiza la tarea.

Privilegios requeridos

El suplantador necesita el privilegio de Actuar en nombre de otro usuario (prvActOnBehalfOfAnotherUser), que se incluye en el rol de seguridad Delegado o se puede habilitar para cualquier rol de seguridad.

Nota

Recuerde que los usuarios se pueden asociar a más de un rol de seguridad. La asignación del rol de seguridad Delegado a un usuario le concederá el privilegio prvActOnBehalfOfAnotherUser así como los privilegios proporcionados por cualquier otro rol de seguridad asociados a la cuenta de usuario.

El conjunto real de privilegios que se utiliza para modificar los datos es la intersección de los privilegios que el usuario suplantador posee con los del usuario suplantado.

Es decir, al suplantador se le permite hacer algo solo si el suplantador y el usuario suplantado tienen el privilegio necesario para realizar la acción.

Se requiere la asignación directa

El privilegio Actuar en nombre de otro usuario (prvActOnBehalfOfAnotherUser), o una función que contenga ese privilegio, debe asignarse directamente a los usuarios, ya que no puede ser heredado a través de un Equipo. Esta asignación directa es necesaria debido a la naturaleza delicada del privilegio.

Suplantación con la autenticación de servidor a servidor

Si está creando una aplicación de cliente web que requiere una cuenta de usuario que pueda actuar en nombre del usuario de suscripción, puede usar la cuenta especial usuario de la aplicación de modo que no sea necesario usar una licencia de usuario de Dataverse de pago.

Más información: Crear aplicaciones web mediante la autenticación de servidor a servidor (S2S).

Suplantar a otro usuario utilizando la API web

Para suplantar a un usuario, agregue un encabezado de solicitud llamado CallerObjectId con un valor GUID igual al identificador de objeto de Microsoft Entra ID suplantado antes de enviar la solicitud al servicio web. El id. del objeto Microsoft Entra ID del usuario se incluye en el SystemUser.AzureActiveDirectoryObjectId.

Más información: Suplantar a otro usuario utilizando la API web.

Suplantar a otro usuario utilizando SDK para .NET

Para suplantar a otro usuario, establezca la propiedad CallerId al valor de GUID del usuario suplantado. Las siguientes clases que implementan IOrganizationService incluyen esta propiedad.

Suplantar a otro usuario mediante complementos

Puede registrar un complemento con código para especificar el usuario que debe usar las operaciones. Más información: Suplantar a un usuario.

Consulte también

Crear aplicaciones web mediante autenticación de servidor a servidor (S2S)
Suplantar a otro usuario utilizando la API web
Escribir un complemento

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).