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.
Este artigo descreve como analisar os logs de atividade do Microsoft Entra com o Microsoft Graph Explorer e o Microsoft Graph PowerShell.
Pré-requisitos
- Um locatário do Microsoft Entra em funcionamento com uma licença do Microsoft Entra ID P1 ou P2 associada a ele.
- Para consentir com as permissões necessárias, você precisa do Administrador de Função Privilegiada.
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. 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. 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.
Inicie a ferramenta Microsoft Graph Explorer.
Selecione o seu perfil e, em seguida, selecione Modificar permissões.
Consentimento para as seguintes permissões necessárias:
AuditLog.Read.All
Directory.Read.All
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
- GET
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'
- Considere o uso de um filtro de data para que a solicitação não atinja o tempo limite.
- GET
Para encontrar entradas em um aplicativo específico durante um período de tempo 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'
- GET
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')
- GET
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')
- GET
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')
- GET
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
- GET
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
- GET
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
- GET
APIs relacionadas
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:
- Logs de auditoria:
Get-MgAuditLogDirectoryAudit
- Registos de início de sessão:
Get-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.