Logs de provisionamento do Azure Active Directory

Como administrador de TI, você deseja saber como seu ambiente de TI está se saindo. As informações sobre a integridade do seu sistema permitem que você avalie se e como precisa responder a possíveis problemas.

Para dar suporte a esse objetivo, o portal do Azure Active Directory dá acesso a três logs de atividade:

  • Entradas – informações sobre entradas e como seus recursos são usados por seus usuários.
  • Auditoria – informações sobre as alterações aplicadas ao seu locatário, como usuários e gerenciamento de grupo ou atualizações aplicadas aos recursos do locatário.
  • Provisionamento – atividades executadas pelo serviço de provisionamento, como a criação de um grupo no ServiceNow ou um usuário importado do Workday.

Este artigo fornece uma visão geral dos logs de provisionamento.

O que você pode fazer com eles?

Você pode usar os logs de provisionamento para encontrar respostas para perguntas como:

  • Quais grupos foram criados com êxito no ServiceNow?

  • Quais usuários foram removidos com êxito da Adobe?

  • Quais usuários do Workday foram criados com êxito no Active Directory Domain Services?

Quem pode acessá-los?

Esses usuários podem acessar os dados nos logs de provisionamento:

  • Proprietários de aplicativos (logs dos seus respectivos aplicativos)

  • Usuários nas funções de Administrador de segurança, Leitor de segurança, Leitor de relatório, Operador de segurança, Administrador de aplicativos e Administrador de aplicativos em nuvem

  • Usuários em uma função personalizada com permissão provisioningLogs

  • Administradores globais

De que licença do Azure AD você precisa?

Para exibir o relatório de atividades de provisionamento, seu locatário precisa ter uma licença do Azure AD Premium associada a ele. Para atualizar sua edição do Azure Active Directory, consulte Introdução ao Azure Active Directory Premium.

Como você pode acessar?

Para acessar os dados de log, você tem as seguintes opções:

  • O portal do Azure

  • Streaming dos logs de provisionamento no Azure Monitor. Este método permite a retenção estendida de dados e a criação de painéis, alertas e consultas personalizados.

  • Consulta a API do Graph da Microsoft para os logs de provisionamento.

  • Download dos logs de provisionamento como um arquivo CSV ou JSON.

Onde você pode encontrá-los no portal do Azure?

O portal do Azure fornece várias opções para acessar o log. Por exemplo, no menu do Azure Active Directory, você pode abrir o log na seção Monitoramento.

Open provisioning logs

Além disso, você pode acessar diretamente os logs de entradas usando este link: https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/SignIns

Você pode acessar os logs de provisionamento selecionando Logs de provisionamento na seção Monitoramento do painel do Azure Active Directory no portal do Azure. Pode levar até duas horas para que alguns registros de provisionamento apareçam no portal.

Screenshot that shows selections for accessing provisioning logs.

Qual é a exibição padrão?

Um log de provisionamento tem um modo de exibição de lista padrão que mostra:

  • A identidade
  • A ação
  • O sistema de origem
  • O sistema de destino
  • O status
  • A data

Screenshot that shows default columns in a provisioning log.

Você pode personalizar o modo de exibição de lista clicando em Colunas na barra de ferramentas.

Screenshot that shows the button for customizing columns.

Esta área permite exibir campos adicionais ou remover campos que já são exibidos.

Screenshot that shows available columns with some selected.

Selecione um item na exibição de lista para obter informações mais detalhadas.

Screenshot that shows detailed information.

Filtrar atividades de provisionamento

Você pode filtrar os dados de provisionamento. Alguns valores de filtro são preenchidos dinamicamente com base no seu locatário. Se, por exemplo, você não tiver nenhum evento "criar" em seu locatário, não haverá uma opção Criar no filtro.

Na exibição padrão, você pode selecionar os seguintes filtros:

  • Identidade
  • Data
  • Status
  • Ação

Screenshot that shows filter values.

O filtro Identidade permite especificar o nome ou a identidade que deseja. Essa identidade pode ser um usuário, grupo, função ou outro objeto.

Você pode Pesquisar pelo nome ou ID do objeto. A ID varia de acordo com o cenário. Por exemplo, quando você estiver provisionando um objeto do Azure Active Directory para o Salesforce, a ID de origem é a ID do objeto do usuário no Azure Active Directory. A ID de destino é a ID do usuário no Salesforce. Quando você estiver Provisionando do WORKDAY para o Active Directory Domain Services, a ID de origem é a ID do funcionário registrado no Workday.

Observação

O nome do usuário nem sempre está presente na coluna Identidade. Mas sempre haverá uma ID.

O filtro Data permite definir um período de tempo para os dados retornados. Os valores possíveis são:

  • 1 mês
  • 7 dias
  • 30 dias
  • 24 horas
  • Intervalo de tempo personalizado

Quando você seleciona um período de tempo personalizado, pode configurar uma data de início e uma data de término.

O filtro Status permite que você selecione:

  • Todos
  • Êxito
  • Falha
  • Ignorado

O filtro Ação permite filtrar essas ações:

  • Criar
  • Atualizar
  • Excluir
  • Desabilitar
  • Outras

Além dos filtros da exibição padrão, você pode definir os filtros a seguir.

Screenshot that shows fields that you can add as filters.

  • ID do trabalho: uma ID de trabalho exclusiva é associada a cada aplicativo para o qual você habilitou o provisionamento.

  • ID do ciclo: a ID do ciclo identifica o ciclo de provisionamento. Você pode compartilhar essa ID com o suporte ao produto para pesquisar o ciclo em que esse evento ocorreu.

  • ID da alteração: a ID da alteração é um identificador exclusivo para o evento de provisionamento. Você pode compartilhar essa ID com o suporte do produto para pesquisar o evento de provisionamento.

  • Sistema de origem: você pode especificar a partir de onde a identidade está sendo provisionada. Por exemplo, quando estiver provisionando um objeto do Azure Active Directory para o ServiceNow, o sistema de origem é o Azure Active Directory.

  • Sistema de destino: você pode especificar para onde a identidade está sendo provisionada. Por exemplo, quando estiver provisionando um objeto do Azure Active Directory para o ServiceNow, o sistema de destino é o ServiceNow.

  • Aplicativo: você pode mostrar somente os registros de aplicativos com um nome de exibição que contém uma cadeia de caracteres específica.

Detalhes de provisionamento

Ao selecionar um item no modo de exibição de lista de provisionamento, você obtém mais detalhes sobre esse item. Os detalhes são agrupados nas guias a seguir.

Screenshot that shows four tabs that contain provisioning details.

  • Etapas: descreve as etapas executadas para provisionar um objeto. O provisionamento de um objeto pode consistir em quatro etapas:

    1. Importar o objeto.
    2. Determinar se o objeto está no escopo.
    3. Fazer a correlação do objeto entre a origem e o destino.
    4. Provisionar o objeto (criar, atualizar, excluir ou desabilitar).

    Screenshot shows the provisioning steps on the Steps tab.

  • Solução de problemas & Recomendações: fornece o código de erro e a causa. As informações de erro estarão disponíveis somente se ocorrer uma falha.

  • Propriedades modificadas: mostra o valor antigo e o novo valor. Se não houver um valor antigo, essa coluna fica em branco.

  • Resumo: fornece uma visão geral do que aconteceu e os identificadores para o objeto nos sistemas de origem e de destino.

Fazer download dos logs como CSV ou JSON

Você pode fazer o download dos logs de provisionamento para uso posterior acessando os logs no portal do Azure e selecionando Download. O arquivo será filtrado 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.

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.

Abrir o arquivo 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 no formato reduzidos para diminuir 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 o 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

Abaixo estão alguns comandos de exemplo para trabalhar com o arquivo JSON usando PowerShell. Você pode usar qualquer linguagem de programação com a qual esteja familiarizado.

Primeiro, leia o arquivo JSON executando este comando:

$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 os relatórios 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 publicar os logs de provisionamento para o Log Analytics para retenção além de 30 dias.

  • Você pode usar o atributo ID de alteração como um identificador exclusivo. Isso é ú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. Isso é esperado, especialmente quando o escopo de sincronização é definido para todos os usuários e grupos. O serviço avaliará todos os objetos no locatário, mesmo aqueles que estão fora do escopo.

  • 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. Para quaisquer códigos de erro não listados, envie seus comentários usando o link na parte inferior desta página.

Código do erro Descrição
Conflito, EntryConflict Corrija os valores dos atributos conflitantes no Azure Active Directory 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. Essa tentativa será desativada 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 ter causado este erro. Essa tentativa será desativada automaticamente em 40 minutos.
InsufficientRights, MethodNotAllowed, NotPermitted, Unauthorized O Azure Active Directory 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 causando este erro.
WebExceptionProtocolError Ocorreu um erro de protocolo HTTP ao conectar-se ao aplicativo de destino. Não há nada a fazer. Essa tentativa será desativada 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 irá disparar 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 terão que 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 causando este erro. 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 revise a configuração de 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 Azure Active Directory. Não há nada a fazer. Essa tentativa será desativada 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. Essa tentativa será desativada 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. Observe que 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 com êxito o sistema de origem e identificou o usuário. 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.
SystemForCrossDomainIdentityManagementMultipleEntriesInResponse 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 para recuperar um grupo e fornecer um filtro para excluir membros, e seu ponto de extremidade do SCIM (Sistema de Gerenciamento de Usuários entre Domínios) retornar os membros, ocorrerá esse erro.
SystemForCrossDomainIdentityManagementServiceIncompatible O serviço de provisionamento do Azure AD 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 Azure AD.
SchemaPropertyCanOnlyAcceptValue A propriedade do sistema de destino só pode aceitar um valor, mas a propriedade do sistema de origem tem vários. Verifique se você mapeou um único atributo com valor 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.

Próximas etapas