Como analisar logs de atividades com o Microsoft Graph

As APIs de relatório do Microsoft Entra fornecem acesso programático aos dados por meio de um conjunto de APIs REST. Você pode chamar essas APIs de muitas linguagens e ferramentas de programação. A API do Microsoft Graph não foi projetada para extrair grandes quantidades de dados de atividade. Extrair grandes quantidades de dados de atividade usando a API pode levar a problemas com paginação e desempenho.

Este artigo descreve como analisar os logs de atividade do Microsoft Entra com o Microsoft Graph Explorer e o Microsoft Graph PowerShell.

Pré-requisitos

Para fazer solicitações à API do Microsoft Graph, você deve primeiro:

Acessar relatórios usando o Microsoft Graph Explorer

Com todos os pré-requisitos configurados, você pode executar consultas de log de atividades no Microsoft Graph. Para obter mais informações sobre consultas do Microsoft Graph para logs de atividades, consulte Visão geral da API de relatórios de atividades.

  1. Inicie a ferramenta Microsoft Graph Explorer.

  2. Selecione o seu perfil e, em seguida, selecione Modificar permissões.

  3. Consentimento para as seguintes permissões necessárias:

    • AuditLog.Read.All
    • Directory.Read.All
  4. Use uma das seguintes consultas para começar a usar o Microsoft Graph para acessar logs de atividades:

    • GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits
    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns
    • GET https://graph.microsoft.com/v1.0/auditLogs/provisioning

    Captura de ecrã de uma consulta GET do registo de atividades no Microsoft Graph.

Ajuste suas consultas

Para pesquisar entradas específicas do log de atividades, use os parâmetros de consulta $filter e createdDateTime com uma das propriedades disponíveis. Algumas das consultas a seguir usam o beta ponto de extremidade. O ponto de extremidade beta está sujeito a alterações e não é recomendado para uso em produção.

Tente usar as seguintes consultas:

  • Para tentativas de início de sessão em que o Acesso Condicional falhou:

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=conditionalAccessStatus eq 'failure'
  • Para encontrar entradas em um aplicativo específico:

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and appId eq 'APP ID'
  • Para entradas não interativas:

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'nonInteractiveUser')
  • Para entradas da entidade de serviço:

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'servicePrincipal')
  • Para entradas de identidade gerenciadas:

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'managedIdentity')
  • Para obter o método de autenticação de um usuário:

    • GET https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
    • Requer UserAuthenticationMethod.Read.All permissão
  • Para ver o relatório de detalhes de registro do usuário:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • Requer UserAuthenticationMethod.Read.All permissão
  • Para os detalhes de registo de um utilizador específico:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
    • Requer UserAuthenticationMethod.Read.All permissão

Quando estiver familiarizado com os logs de entrada e auditoria padrão, tente explorar estas outras APIs:

Acessar relatórios usando o Microsoft Graph PowerShell

Você pode usar o PowerShell para acessar a API de relatórios do Microsoft Entra. Para obter mais informações, consulte Visão geral do Microsoft Graph PowerShell.

Cmdlets do Microsoft Graph PowerShell:

  • Registos de auditoriaGet-MgAuditLogDirectoryAudit:
  • Registos de início de sessãoGet-MgAuditLogSignIn:
  • Logs de provisionamento:Get-MgAuditLogProvisioning
  • Explore a lista completa de cmdlets do Microsoft Graph PowerShell relacionados a relatórios.

Erros comuns

Erro: Nenhum inquilino é B2C ou o inquilino não tem licença premium: aceder a relatórios de início de sessão requer uma licença P1 ou P2 do Microsoft Entra ID. Se vir esta mensagem de erro ao aceder aos início de sessão, certifique-se de que o seu inquilino está licenciado com uma licença P1 do Microsoft Entra ID.

Erro: O usuário não está nas funções permitidas: se você vir essa mensagem de erro ao tentar acessar logs de auditoria ou entradas usando a API, verifique se sua conta faz parte da função Leitor de Segurança ou Leitor de Relatórios no locatário do Microsoft Entra.

Erro: Aplicativo ausente Microsoft Entra ID 'Ler dados de diretório' ou 'Ler todos os dados de log de auditoria' permissão: O aplicativo deve ter a permissão ou Directory.Read.All para acessar os logs de atividade com o AuditLog.Read.All Microsoft Graph.

Próximos passos