Udostępnij za pośrednictwem


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.

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

  • Działająca dzierżawa firmy Microsoft Entra ze skojarzoną licencją Microsoft Entra ID P1 lub P2.
  • Aby wyrazić zgodę na wymagane uprawnienia, potrzebny jest administrator ról uprzywilejowanych.

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. 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ą. 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'
    • Rozważ użycie filtru daty, aby żądanie nie upłynęło limit czasu.
  • Aby znaleźć logowania do określonej aplikacji w określonym przedziale czasu:

    • 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 konta z zarządzaną tożsamością:

    • 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 uprawnienia
  • Aby wyświetlić raport szczegółów rejestracji użytkownika:

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

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

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 Microsoft Entra, 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:

Typowe błędy

Błąd: Żaden dzierżawca nie jest B2C lub dzierżawca 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 próby zalogowania się, upewnij się, że dzierżawa jest objęta licencją Microsoft Entra ID P1.

Błąd: Użytkownik nie jest w dozwolonych rolach: jeśli ten komunikat o błędzie jest wyświetlany podczas próby uzyskania dostępu do dzienników audytu 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 Microsoft Entra.

Błąd: Aplikacja nie posiada uprawnień Microsoft Entra ID "Odczyt danych katalogu" lub "Odczyt wszystkich danych dziennika inspekcji": aplikacja musi mieć uprawnienie lub Directory.Read.All, aby uzyskać dostęp do dzienników aktywności za pomocą Microsoft Graph.