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:

    • POBIERZ https://graph.microsoft.com/v1.0/auditLogs/directoryAudits
    • POBIERZ https://graph.microsoft.com/v1.0/auditLogs/signIns
    • POBIERZ https://graph.microsoft.com/v1.0/auditLogs/provisioning
    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps

    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.

Przykładowe zapytania logowania

Spróbuj użyć następujących zapytań dotyczących działania logowania:

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

    • POBIERZ 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:

    • POBIERZ 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:

    • POBIERZ 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:

    • POBIERZ 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ą:

    • POBIERZ 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:

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

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

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

Przykładowe zapytania dotyczące rejestracji (wersja zapoznawcza)

Spróbuj użyć następujących zapytań dotyczących aktywności rejestracyjnej w dzierżawie zewnętrznej:

  • Aby znaleźć próby rejestracji, które zakończyły się niepowodzeniem lub zostały przerwane podczas określonego kroku, takie jak tworzenie obiektu użytkownika:

    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=status/errorCode ne 0 and signUpStage eq 'userCreation'
  • Aby znaleźć próby rejestracji, które zakończyły się niepowodzeniem podczas weryfikacji wiadomości e-mail:

    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=status/errorCode eq 1002013 and signUpStage eq 'credentialValidation'

    Uwaga / Notatka

    Kod błędu 1002013 wskazuje oczekiwane (i pomyślne) przerwanie przepływu rejestracji. Dowiedz się więcej

  • W przypadku rejestracji w określonym przedziale dat:

    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z)
  • W przypadku rejestracji dla określonej aplikacji:

    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=appId eq 'AppId'
  • W przypadku rejestracji konta lokalnego:

    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentityProvider eq 'Email OTP' or signUpIdentityProvider eq 'Email Password'
  • W przypadku rejestracji kont społecznościowych (w tym przykładzie google):

    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentityProvider eq ‘Google'
  • Aby wyświetlić wpisy dla określonego użytkownika, na przykład user@contoso.com:

    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentity/signUpIdentifier eq 'user@contoso.com'
  • Aby znaleźć wpisy pasujące do określonego identyfikatora korelacji:

    • POBIERZ https://graph.microsoft.com/beta/auditLogs/signUps?$filter=correlationId eq 'CorrelationId'
  • Aby znaleźć wpisy dziennika logowania odpowiadające określonej rejestracji przy użyciu identyfikatora korelacji:

    • POBIERZ https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=correlationId eq 'CorrelationId'

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 AuditLog.Read.All, aby uzyskać dostęp do dzienników aktywności za pomocą Microsoft Graph.