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 z 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ął 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 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')
- GET
Aby uzyskać metodę uwierzytelniania użytkownika:
- GET
https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
- Wymaga
UserAuthenticationMethod.Read.All
uprawnień
- GET
Aby wyświetlić raport szczegółów rejestracji użytkownika:
- GET
https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
- Wymaga
UserAuthenticationMethod.Read.All
uprawnień
- GET
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ń
- 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 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 inspekcji:
Get-MgAuditLogDirectoryAudit
- Dzienniki logowania:
Get-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.