Jak analizować dzienniki aktywności za pomocą programu Microsoft Graph

Interfejsy API raportowania firmy Microsoft Entra zapewniają programowy dostęp do danych za pośrednictwem zestawu interfejsów API REST. Te interfejsy API można wywoływać z wielu języków programowania i narzędzi. Interfejs API programu Microsoft Graph nie jest przeznaczony do ściągania dużych ilości danych działań. Ściąganie dużych ilości danych działań przy użyciu interfejsu API może prowadzić do problemów z stronicowaniem i wydajnością.

W tym artykule opisano sposób analizowania dzienników aktywności firmy Microsoft Entra za pomocą eksploratora programu Microsoft Graph i programu Microsoft Graph PowerShell.

Wymagania wstępne

Aby wysyłać żądania do interfejsu API programu Microsoft Graph, musisz najpierw:

Uzyskiwanie dostępu do raportów przy użyciu Eksploratora programu Microsoft Graph

Po skonfigurowaniu wszystkich wymagań wstępnych można uruchamiać zapytania dziennika aktywności w programie Microsoft Graph. Aby uzyskać więcej informacji na temat zapytań programu Microsoft Graph dotyczących dzienników aktywności, zobacz Omówienie interfejsu API raportów aktywności.

  1. Uruchom narzędzie Microsoft Graph Explorer.

  2. Wybierz swój profil, a następnie wybierz pozycję Modyfikuj uprawnienia.

  3. Zgoda na następujące wymagane uprawnienia:

    • AuditLog.Read.All
    • Directory.Read.All
  4. Użyj jednego z następujących zapytań, aby rozpocząć korzystanie z programu Microsoft Graph na potrzeby uzyskiwania dostępu do dzienników aktywności:

    • 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

    Zrzut ekranu przedstawiający zapytanie GET dziennika aktywności w programie Microsoft Graph.

Dostrajanie zapytań

Aby wyszukać określone wpisy dziennika aktywności, użyj parametrów $filter i createdDateTime z jedną z dostępnych właściwości. Niektóre z poniższych zapytań używają punktu końcowego beta . Punkt końcowy beta podlega zmianie i nie jest zalecany do użytku produkcyjnego.

Spróbuj użyć następujących zapytań:

  • W przypadku prób logowania, w których dostęp warunkowy zakończył się niepowodzeniem:

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=conditionalAccessStatus eq 'failure'
  • Aby znaleźć logowania do określonej aplikacji:

    • 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'
  • W przypadku logowania nieinterakcyjnego:

    • 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')
  • W przypadku logowania jednostki usługi:

    • 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')
  • W przypadku logowania tożsamości zarządzanej:

    • 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')
  • Aby uzyskać metodę uwierzytelniania użytkownika:

    • GET https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
    • Wymaga UserAuthenticationMethod.Read.All uprawnień
  • Aby wyświetlić raport szczegółów rejestracji użytkownika:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • Wymaga UserAuthenticationMethod.Read.All uprawnień
  • Aby uzyskać szczegółowe informacje o rejestracji określonego użytkownika:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
    • Wymaga UserAuthenticationMethod.Read.All uprawnień

Po zapoznaniu się ze standardowymi dziennikami logowania i inspekcji spróbuj eksplorować inne interfejsy API:

Uzyskiwanie dostępu do raportów przy użyciu programu Microsoft Graph PowerShell

Aby uzyskać dostęp do interfejsu API raportowania firmy Microsoft, możesz użyć programu PowerShell. Aby uzyskać więcej informacji, zobacz Omówienie programu Microsoft Graph PowerShell.

Polecenia cmdlet programu PowerShell programu Microsoft Graph:

  • Dzienniki inspekcjiGet-MgAuditLogDirectoryAudit:
  • Dzienniki logowaniaGet-MgAuditLogSignIn:
  • Dzienniki aprowizacji:Get-MgAuditLogProvisioning
  • Zapoznaj się z pełną listą poleceń cmdlet programu PowerShell związanych z raportowaniem.

Typowe błędy

Błąd: Żadna dzierżawa nie ma licencji B2C lub dzierżawa nie ma licencji Premium: uzyskiwanie dostępu do raportów logowania wymaga licencji Microsoft Entra ID P1 lub P2. Jeśli ten komunikat o błędzie jest wyświetlany podczas uzyskiwania dostępu do logowania, upewnij się, że dzierżawa ma licencję na licencję Microsoft Entra ID P1.

Błąd: Użytkownik nie znajduje się w dozwolonych rolach: jeśli ten komunikat o błędzie jest wyświetlany podczas próby uzyskania dostępu do dzienników inspekcji lub logowań przy użyciu interfejsu API, upewnij się, że Twoje konto jest częścią roli Czytelnik zabezpieczeń lub Czytelnik raportów w dzierżawie firmy Microsoft Entra.

Błąd: Brak aplikacji microsoft Entra ID "Odczyt danych katalogu" lub Uprawnienie "Odczyt wszystkich danych dziennika inspekcji": aplikacja musi mieć AuditLog.Read.All uprawnienie lubDirectory.Read.All, aby uzyskać dostęp do dzienników aktywności za pomocą programu Microsoft Graph.

Następne kroki