Compartilhar via


Como fazer download e analisar os logs de provisionamento do Microsoft Entra

Os logs de provisionamento do Microsoft Entra fornecem detalhes sobre os eventos de provisionamento que ocorrem no seu locatário. Você pode usar as informações capturadas nos logs de provisionamento para ajudar a solucionar problemas com um usuário provisionado.

Este artigo descreve as opções para baixar os logs de provisionamento do centro de administração do Microsoft Entra e explica como analisar os logs. Códigos de erro e considerações especiais também estão incluídos.

Pré-requisitos

Para exibir os logs de provisionamento, seu locatário deve ter uma licença de ID P1 ou P2 do Microsoft Entra associada a ele. Confira Introdução ao Microsoft Entra ID P1 ou P2 para atualizar sua edição do Microsoft Entra.

Proprietários de aplicativos podem exibir logs dos seus próprios aplicativos. As seguintes funções são necessárias para exibir logs de provisionamento:

  • Leitor de Relatórios
  • Leitor de segurança
  • Operador de segurança
  • Administrador de Segurança
  • Administrador de aplicativos
  • Administrador de Aplicativos de Nuvem
  • Usuários em uma função personalizada com permissão provisioningLogs

Como visualizar os logs de provisionamento

Há várias maneiras de exibir ou analisar os logs de provisionamento:

Dica

As etapas neste artigo podem variar ligeiramente com base no portal do qual você começa.

Para acessar os logs no portal do Azure:

  1. Entre no Centro de administração do Microsoft Entra como, pelo menos, Leitor de Relatórios.
  2. Navegue até Identidade>Monitoramento e integridade>Logs de provisionamento.

Como baixar os logs de provisionamento

Você pode fazer o download dos logs de provisionamento para uso posterior acessando os logs no portal do Azure e selecionando Download. Os resultados são filtrados com base nos critérios de filtro que você selecionou. Especifique ao máximo os filtros para reduzir o tamanho e o tempo do download.

Captura de tela do botão de download nos logs de provisionamento.

Formato CSV

O download do CSV inclui três arquivos:

  • ProvisioningLogs: baixa todos os logs, exceto as etapas de provisionamento e as propriedades modificadas.
  • ProvisioningLogs_ProvisioningSteps: contém as etapas de provisionamento e a ID de alteração. Você pode usar a ID de alteração para juntar o evento com os outros dois arquivos.
  • ProvisioningLogs_ModifiedProperties: contém os atributos que foram alterados e a ID de alteração. Você pode usar a ID de alteração para juntar o evento com os outros dois arquivos.

Formato JSON

Para abrir o arquivo JSON, use um editor de texto como o Visual Studio Code da Microsoft. O Visual Studio Code torna o arquivo mais fácil de ser lido, oferecendo realce de sintaxe. Você também pode abrir o arquivo JSON usando navegadores em um formato não editável, como o Microsoft Edge.

Melhorar o arquivo JSON

O arquivo JSON é baixado em um formato para reduzir o tamanho do download. Este formato pode tornar a carga difícil de ser lida. Confira duas opções para melhorar o arquivo:

  • Use o Visual Studio Code para formatar o JSON.

  • Use o PowerShell para formatar o JSON. Este script produz uma saída JSON em um formato que inclui tabulações e espaços:

    $JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON

    $JSONContent | ConvertTo-Json > <PATH TO OUTPUT THE JSON FILE>

Analisar o arquivo JSON

Você pode usar qualquer linguagem de programação com a qual esteja familiarizado. Os exemplos a seguir estão no PowerShell.

  • Leia o arquivo JSON:

    $JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON

Agora você pode analisar os dados de acordo com seu cenário. Aqui estão alguns exemplos:

  • Geração de todas as IDs de trabalho no arquivo JSON:

    foreach ($provitem in $JSONContent) { $provitem.jobId }

  • Geração de todas as IDs de alteração para eventos em que a ação foi "criar":

    foreach ($provitem in $JSONContent) { if ($provItem.action -eq 'Create') { $provitem.changeId } }

O que você deve saber

Abaixo estão algumas dicas e considerações para analisar os logs de provisionamento:

  • O portal do Azure armazena dados de provisionamento relatados por 30 dias se você tiver uma edição Premium, e 7 dias se tiver uma edição gratuita. Você pode encaminhar os logs de provisionamento para os log do Azure Monitor para que sejam retidos por mais de 30 dias.

  • Você pode usar o atributo de ID de alteração como identificador exclusivo, o que pode ser útil quando você está interagindo com o suporte ao produto, por exemplo.

  • Você pode ver eventos ignorados para usuários que não estão no escopo.

    • Exemplo 1: caso tenha o escopo definido como all users and groups e configure filtros de escopo, você poderá ver logs ignorados para usuários que não atendem aos critérios de escopo.
    • Exemplo 2: caso tenha definido o escopo como assigned users and groups, você poderá continuar vendo os usuários nos logs como ignorados, mesmo que não estejam atribuídos ao aplicativo. Isso se deve à forma como o serviço de provisionamento recebe as alterações do diretório.
  • Os logs de provisionamento não mostram importações de função (aplica-se a AWS, Salesforce e Zendesk). Você pode encontrar os logs para importações de função nos logs de auditoria.

Códigos do Erro

Use a tabela a seguir para entender como resolver erros encontrados nos logs de provisionamento.

Código do erro Descrição
Conflict,
EntryConflict
Corrija os valores dos atributos conflitantes no Microsoft Entra ID ou no aplicativo. Ou revise a configuração do atributo correspondente, se a conta de usuário conflitante deveria corresponder e ser assumida. Revise a documentação para obter mais informações sobre como configurar atributos correspondentes.
TooManyRequests O aplicativo de destino rejeitou a tentativa de atualizar o usuário porque ele está sobrecarregado e recebendo muitas solicitações. Não há nada a fazer. Esta tentativa é descontinuada automaticamente. A Microsoft também foi notificada desse problema.
InternalServerError O aplicativo de destino retornou um erro inesperado. Um problema de serviço com o aplicativo de destino pode estar impedindo o funcionamento. Esta tentativa é repetida automaticamente em 40 minutos.
InsufficientRights,
MethodNotAllowed,
NotPermitted,
Não Autorizado
O Microsoft Entra foi autenticado com o aplicativo de destino, mas não foi autorizado a executar a atualização. Revise as instruções que o aplicativo de destino forneceu, juntamente com o respectivo tutorial do aplicativo.
UnprocessableEntity O aplicativo de destino retornou uma resposta inesperada. A configuração do aplicativo de destino pode não estar correta, ou um problema de serviço com o aplicativo de destino pode estar impedindo o funcionamento.
WebExceptionProtocolError Ocorreu um erro de protocolo HTTP ao conectar-se ao aplicativo de destino. Não há nada a fazer. Esta tentativa é repetida automaticamente em 40 minutos.
InvalidAnchor Um usuário que foi criado ou correspondido anteriormente pelo serviço de provisionamento, não existe mais. Verifique se este usuário existe. Para forçar uma nova correspondência para todos os usuários, use a API do Graph da Microsoft para reiniciar o trabalho.

O reinício do provisionamento dispara um ciclo inicial, que pode levar tempo para ser concluído. O reinício também exclui o cache que o serviço de provisionamento usa para operar. Isso significa que todos os usuários e grupos no locatário precisam ser avaliados novamente, e determinados eventos de provisionamento poderão ser removidos.
NotImplemented O aplicativo de destino retornou uma resposta inesperada. A configuração do aplicativo pode não estar correta, ou um problema de serviço com o aplicativo de destino pode estar impedindo o funcionamento. Revise as instruções que o aplicativo de destino forneceu, juntamente com o respectivo tutorial do aplicativo.
MandatoryFieldsMissing,
MissingValues
Não foi possível criar o usuário porque os valores necessários estão ausentes. Corrija os valores de atributo ausentes no registro de origem ou examine a configuração do atributo correspondente para garantir que os campos obrigatórios estão presentes. Saiba mais sobre como configurar atributos correspondentes.
SchemaAttributeNotFound Não foi possível executar a operação porque foi especificado um atributo que não existe no aplicativo de destino. Consulte a documentação sobre personalização de atributo e verifique se a configuração está correta.
InternalError Ocorreu um erro de serviço interno no serviço de provisionamento do Microsoft Entra. Não há nada a fazer. Esta tentativa é descontinuada automaticamente em 40 minutos.
InvalidDomain Não foi possível executar a operação porque um valor de atributo contém um nome de domínio inválido. Atualize o nome de domínio no usuário ou o adicione à lista de permitidos no aplicativo de destino.
Tempo limite A operação não pôde ser concluída porque o aplicativo de destino demorou muito tempo para responder. Não há nada a fazer. Esta tentativa é repetida automaticamente em 40 minutos.
LicenseLimitExceeded Não foi possível criar o usuário no aplicativo de destino porque não há licenças disponíveis para esse usuário. Adquira mais licenças para o aplicativo de destino. Ou revise as atribuições de usuário e a configuração de mapeamento de atributo para garantir que os usuários corretos estão atribuídos aos atributos corretos.
DuplicateTargetEntries A operação não pôde ser concluída porque foi encontrado mais de um usuário no aplicativo de destino com os atributos correspondentes configurados. Remova o usuário duplicado do aplicativo de destino ou reconfigure os mapeamentos de atributo.
DuplicateSourceEntries A operação não pôde ser concluída porque foi encontrado mais de um usuário com os atributos correspondentes configurados. Remova o usuário duplicado ou reconfigure os mapeamentos de atributo.
ImportSkipped Quando cada usuário é avaliado, o sistema tenta importar o usuário do sistema de origem. Esse erro geralmente ocorre quando o usuário que está sendo importado não tem a propriedade correspondente definida em seus mapeamentos de atributo. Sem um valor presente no objeto de usuário para o atributo correspondente, o sistema não pode avaliar o escopo, a correspondência ou a exportação de alterações. A presença desse erro não indica que o usuário está no escopo, porque você ainda não avaliou o escopo para o usuário.
EntrySynchronizationSkipped O serviço de provisionamento consultou o sistema de origem e identificou o usuário com êxito. Nenhuma ação adicional foi realizada no usuário e elas foram ignoradas. O usuário pode estar fora do escopo ou talvez o usuário já existia no sistema de destino sem nenhuma alteração adicional necessária.
SystemForCrossDomainIdentity
ManagementMultipleEntriesInResponse
Uma solicitação GET para recuperar um usuário ou grupo recebeu vários usuários ou grupos na resposta. O sistema espera receber apenas um usuário ou grupo na resposta. Por exemplo, se você fizer uma solicitação GET de Grupo para recuperar um grupo e fornecer um filtro para excluir membros, e seu ponto de extremidade do SCIM (Sistema de Gerenciamento de Identidade entre Domínios) retornar os membros, ocorrerá esse erro.
SystemForCrossDomainIdentity
ManagementServiceIncompatible
O serviço de provisionamento do Microsoft Entra não consegue analisar a resposta do aplicativo de terceiros. Trabalhe com o desenvolvedor do aplicativo para garantir que o servidor SCIM seja compatível com o cliente SCIM do Microsoft Entra.
SchemaPropertyCanOnlyAcceptValue A propriedade do sistema de destino só pode aceitar um valor, mas a propriedade do sistema de origem tem vários. Mapeie um atributo com valor único para a propriedade que está lançando um erro, atualize o valor na origem para ter um valor único ou remova o atributo dos mapeamentos.

Códigos de erro para sincronização entre locatários

Use a tabela a seguir para entender como resolver erros encontrados nos logs de provisionamento para a sincronização entre locatários.

Código de erro Causa Solução
ID do Microsoft Entra
CannotUpdateObjectsOriginated
InExternalService
O mecanismo de sincronização não conseguiu atualizar uma ou mais propriedades de usuário no locatário de destino.

A operação falhou na API do Microsoft Graph devido à imposição da SOA (Fonte de Autoridade). Atualmente, as seguintes propriedades aparecem na lista:
Mail
showInAddressList
Em alguns casos (por exemplo, quando a propriedade showInAddressList faz parte da atualização do usuário), o mecanismo de sincronização pode repetir automaticamente a atualização (usuário) sem a propriedade ofensiva. Caso contrário, você precisará atualizar a propriedade diretamente no locatário de destino.
AzureDirectory
B2BManagementPolicy
CheckFailure
Falha na política de sincronização entre locatários, permitindo o resgate automático.

O mecanismo de sincronização verifica se o administrador do locatário de destino criou uma política de sincronização entre locatários de entrada permitindo o resgate automático. O mecanismo de sincronização também verifica se o administrador do locatário de origem habilitou uma política de saída para resgate automático.
Verifique se a configuração de resgate automático foi habilitada para os locatários de origem e de destino. Para obter mais informações, confira Configuração de resgate automático.
ID do Microsoft Entra
QuotaLimitExceeded
O número de objetos no locatário excede o limite de diretório.

O Microsoft Entra ID tem limites para o número de objetos que podem ser criados em um locatário.
Verifique se a cota pode ser aumentada. Para obter informações sobre os limites de diretório e as etapas para aumentar a cota, consulte Limites e restrições de serviço do Microsoft Entra.
InvitationCreationFailure O serviço de provisionamento do Microsoft Entra tentou convidar o usuário no locatário de destino. Esse convite falhou. Uma investigação mais aprofundada provavelmente requer o contato com o suporte.
ID do Microsoft Entra
Proibido
As configurações de colaboração externa bloquearam os convites. Navegue até as configurações do usuário e verifique se as configurações de colaboração externa são permitidas.
InvitationCreation
FailureInvalidPropertyValue
Possíveis causas:
* O Endereço SMTP Principal é um valor inválido.
* UserType não é convidado nem membro
* Não há suporte para Endereço de email de grupo
Possíveis soluções:
* O Endereço SMTP Principal tem um valor inválido. Resolver esse problema provavelmente exigirá a atualização da propriedade de email do usuário de origem. Para obter mais informações, confira Preparar a sincronização de diretórios ao Microsoft 365
* Verifique se a propriedade userType está provisionada como tipo convidado ou membro. Isso pode ser corrigido verificando os mapeamentos de atributo para entender como o atributo userType é mapeado.
* O endereço de email do usuário corresponde ao endereço de email de um grupo no locatário. Atualize o endereço de email de um dos dois objetos.
InvitationCreation
FailureAmbiguousUser
O usuário convidado tem um endereço proxy que corresponde a um usuário interno no locatário de destino. O endereço proxy deve ser exclusivo. Para resolver esse erro, exclua o usuário interno existente no locatário de destino ou remova esse usuário do escopo de sincronização.
ID do Microsoft Entra
CannotUpdateObjects
MasteredOnPremises
Se o usuário no locatário de destino foi originalmente sincronizado do AD para o Microsoft Entra ID e convertido em um usuário externo, a fonte de autoridade ainda estará no local e o usuário não poderá ser atualizado. O usuário não pode ser atualizado pela sincronização entre locatários
EntityTypeNotSupported Os grupos podem ser usados para determinar quais usuários estão no escopo do provisionamento. Os objetos de grupos não podem ser sincronizados. Não é necessária nenhuma ação do cliente. Este é um evento ignorado. Se você estiver usando o provisionamento sob demanda, certifique-se de escolher um usuário em vez de um grupo para provisionar.

Próximas etapas