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.
Uruchom narzędzie Microsoft Graph Explorer.
Wybierz swój profil, a następnie wybierz pozycję Modyfikuj uprawnienia.
Zgoda na następujące wymagane uprawnienia:
AuditLog.Read.All
Directory.Read.All
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
- GET
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.
- GET
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'
- GET
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')
- GET
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')
- GET
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')
- GET
Aby uzyskać metodę uwierzytelniania użytkownika:
- GET
https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
- Wymaga
UserAuthenticationMethod.Read.All
uprawnienia
- GET
Aby wyświetlić raport szczegółów rejestracji użytkownika:
- GET
https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
-
UserAuthenticationMethod.Read.All
wymaga uprawnień
- GET
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
- GET
Powiązane interfejsy API
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:
-
Dzienniki inspekcji:
Get-MgAuditLogDirectoryAudit
-
Dzienniki logowania:
Get-MgAuditLogSignIn
-
Dzienniki aprowizacji:
Get-MgAuditLogProvisioning
- Sprawdź pełną listę poleceń cmdlet programu Microsoft Graph PowerShell związanych z raportowaniem.
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.