Jak uzyskać raporty Azure AD za pomocą skryptów PowerShell?
Dzienniki inspekcji (działań) Azure Active Directory oraz dzienniki logowania (dane uwierzytelniania) pomagają śledzić wszelkie zmiany oraz wszelkie działania z zakresu logowania podjęte w Azure AD. Te same dane można pobrać, stosując polecenie cmdlet Azure AD PowerShell do raportowania. Ewentualnie można ułatwić sobie zadanie, korzystając z kompletnego systemu inspekcji AD, takiego jak ADAudit Plus.
W poniższym artykule porównano sposób generowania informacji o inspekcji Azure AD oraz dziennikach logowania za pomocą Windows PowerShell oraz ADAudit Plus.
Windows PowerShell
Etapy monitorowania inspekcji Azure AD oraz dzienników logowania za pomocą PowerShell:
- Aby pobrać dzienniki inspekcji w ramach Azure AD, można użyć polecenia cmdlet Get-AzureADAuditDirectoryLogs.
- Dzienniki inspekcji można pobrać w oparciu o parametry, takie jak daty, użytkownicy, aplikacje lub dzienniki zawierające konkretny zasób.
PS C:\>Get-AzureADAuditDirectoryLogs -Filter "activityDateTime gt 2020-04-15"
PS C:\>Get-AzureADAuditDirectoryLogs -Filter "initiatedBy/user/displayName eq 'John Doe'"
PS C:\>Get-AzureADAuditDirectoryLogs -Filter "initiatedBy/app/displayName eq 'Office 365'"
PS C:\>Get-AzureADAuditDirectoryLogs -Filter "targetResources/any(tr:tr/displayName eq 'Active Directory Example')"
- Aby uzyskać raporty o dziennikach logowania w Azure AD, stosuje się polecenie cmdlet Get-AzureADAuditSignInLogs.
- Podobnie można pobrać parametry takie jak data, użytkownik, lokalizacja i dziennik z odpowiednim statusem.
PS C:\>Get-AzureADAuditSignInLogs -Filter "createdDateTime gt 2020-04-215"
PS C:\>Get-AzureADAuditSignInLogs -Filter "userDisplayName eq 'John Doe'"
PS C:\>Get-AzureADAuditSignInLogs -Filter "appDisplayName eq 'Office 365'"
PS C:\>Get-AzureADAuditSignInLogs -Filter "location/city eq 'Pleasanton' and location/state eq 'California' and location/countryOrRegion eq 'US'"
PS C:\>Get-AzureADAuditSignInLogs -Filter "status/errorCode eq 0 -All $true"
ADAudit Plus
Uzyskiwanie raportu:
- Zaloguj się do konsoli sieciowej ADAudit Plus.
- Przejdź do karty Raporty > karty Azure AD > Raporty o logowaniu użytkownika.
- W części Raporty o logowaniu użytkownika znajdziesz następujące raporty:
- Aktywność logowania
- Niepowodzenia logowania
- Niepowodzenia logowania z powodu wprowadzenia nieprawidłowego hasła
- Aktywność logowania wg adresu IP
- Hybrydowa aktywność logowania
- Aktywność logowania wg aplikacji. Każdy z tych raportów można dodatkowo filtrować zgodnie z zapotrzebowaniem.
- Wybierz domenę.
- Wybierz opcję Eksportuj jako, aby wyeksportować raport w dowolnym z preferowanych formatów (CSV, PDF, HTML, CSVDE i XLSX).
Zrzut ekranu:
Poniżej przedstawiono ograniczenia dotyczące stosowania Windows PowerShell do generowania raportów o inspekcji Azure AD i dziennikach logowania:
- Powyższy skrypt można uruchomić tylko na komputerach z rolą Active Directory Domain Services.
- Aby zmienić formaty daty i zastosować w wynikach daty różne strefy czasowe, należy zmodyfikować skrypt lub za każdym razem tworzyć nowy.
- Trudno jest wyeksportować raport w innych formatach.
- Zastosowanie dodatkowych filtrów, takich jak „W godzinach roboczych”, „Okres” czy „Eksportuj jako”, zwiększy złożoność zapytania LDAP.
Z kolei ADAudit Plus generuje natychmiastowe raporty, skanując wszystkie kontrolery domeny, a raporty te mogą być eksportowane w wielu formatach.