Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use a personificação para executar a lógica de negócio em nome de outro usuário do Microsoft Dataverse. Ao usar o perfil apropriado e a segurança baseada em objetos do usuário cuja identidade foi assumida, você pode disponibilizar o recurso ou serviço desejado.
Vários clientes e serviços podem usar a representação de identidade para chamar os serviços web do Dataverse em nome de um usuário do Dataverse.
A personificação envolve duas contas de usuário diferentes:
| Personificador | Usuário impersonado |
|---|---|
| Conta de usuário usada ao executar código | Conta de usuário da qual a tarefa está sendo executada em nome. |
Privilégios necessários
O usuário que representa outro precisa do privilégio Agir em Nome de Outro Usuário (prvActOnBehalfOfAnotherUser). Esse privilégio está incluído na função de segurança Delegar ou pode ser habilitado para qualquer função de segurança.
Note
Os usuários podem ser associados a mais de uma função de segurança. A atribuição da função de segurança Delegate a um usuário concede o privilégio prvActOnBehalfOfAnotherUser, bem como os privilégios fornecidos por outras funções de segurança associadas à conta do usuário.
O conjunto real de privilégios usados para modificar dados é a interseção dos privilégios que o usuário que personifica possui com os privilégios do usuário personificado.
Em outras palavras, o representador poderá fazer algo se e somente se o representador e o usuário representado tiverem o privilégio necessário para a ação.
Atribuição direta necessária
Você deve atribuir diretamente aos usuários o privilégio Agir em nome de outro usuário (prvActOnBehalfOfAnotherUser) ou uma função que contenha esse privilégio. Os usuários não podem herdar esse privilégio por meio de uma Equipe. Essa atribuição direta é necessária devido à natureza sensível do privilégio.
Representação de identidade com autenticação servidor a servidor
Se você estiver criando um aplicativo cliente Web que exija uma conta de usuário que possa agir em nome de um usuário inscrito, use a conta de usuário do aplicativo especial para que você não precise usar uma licença de usuário paga do Dataverse.
Mais informações: criar aplicativos Web usando a autenticação S2S (Servidor para Servidor).
Personificar outro usuário usando a API Web
Para representar um usuário, adicione um cabeçalho de solicitação nomeado CallerObjectId com um valor GUID igual ao identificador de objeto Microsoft Entra ID do usuário representado antes de enviar a solicitação para o serviço Web. O identificador de objeto Microsoft Entra ID do usuário está incluído no SystemUser.AzureActiveDirectoryObjectId.
Mais informações: representar outro usuário usando a API Web.
Personificar outro usuário usando o SDK para .NET
Para representar outro usuário, defina a CallerId propriedade como o valor guid do usuário representado. As classes a seguir que implementam IOrganizationService incluem essa propriedade.
Personificar outro usuário usando plug-ins
Você pode registrar um plug-in contendo código para especificar o usuário que as operações devem usar. Mais informações: personificar um usuário.
Consulte também
Criar aplicativos Web usando a autenticação S2S (Servidor para Servidor)
Representar outro usuário usando a API Web
Escrever um plug-in