Archiwizowanie dzienników i raportowanie zarządzania upoważnieniami w usłudze Azure Monitor
Identyfikator entra firmy Microsoft przechowuje zdarzenia inspekcji przez maksymalnie 30 dni w dzienniku inspekcji. Można jednak przechowywać dane inspekcji przez dłuższy niż domyślny okres przechowywania opisany w temacie Jak długo dane raportowania magazynu identyfikatorów entra firmy Microsoft?, rozsyłając je na konto usługi Azure Storage lub przy użyciu usługi Azure Monitor. Następnie możesz użyć skoroszytów i niestandardowych zapytań i raportów dotyczących tych danych.
Konfigurowanie identyfikatora Entra firmy Microsoft do korzystania z usługi Azure Monitor
Napiwek
Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.
Przed użyciem skoroszytów usługi Azure Monitor należy skonfigurować identyfikator entra firmy Microsoft, aby wysłać kopię dzienników inspekcji do usługi Azure Monitor.
Archiwizowanie dzienników inspekcji firmy Microsoft Entra wymaga posiadania usługi Azure Monitor w subskrypcji platformy Azure. Więcej informacji na temat wymagań wstępnych i szacowanych kosztów korzystania z usługi Azure Monitor można uzyskać w dziennikach aktywności firmy Microsoft Entra w usłudze Azure Monitor.
Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator zabezpieczeń. Upewnij się, że masz dostęp do grupy zasobów zawierającej obszar roboczy usługi Azure Monitor.
Przejdź do pozycji Ustawienia>diagnostyczne monitorowania tożsamości i kondycji.>
Sprawdź, czy istnieje już ustawienie wysyłania dzienników inspekcji do tego obszaru roboczego.
Jeśli nie ma jeszcze ustawienia, wybierz pozycję Dodaj ustawienie diagnostyczne. Skorzystaj z instrukcji w temacie Integrowanie dzienników firmy Microsoft Entra z dziennikami usługi Azure Monitor, aby wysłać dziennik inspekcji firmy Microsoft Entra do obszaru roboczego usługi Azure Monitor.
Po wysłaniu dziennika do usługi Azure Monitor wybierz pozycję Obszary robocze usługi Log Analytics i wybierz obszar roboczy zawierający dzienniki inspekcji firmy Microsoft Entra.
Wybierz pozycję Użycie i szacowane koszty , a następnie wybierz pozycję Przechowywanie danych. Zmień suwak na liczbę dni, w których chcesz zachować dane, aby spełniały wymagania dotyczące inspekcji.
Później, aby wyświetlić zakres dat przechowywanych w obszarze roboczym, możesz użyć skoroszytu zarchiwizowanego zakresu dat dziennika:
Przejdź do skoroszytów monitorowania tożsamości>i kondycji.>
Rozwiń sekcję Microsoft Entra Troubleshooting (Rozwiązywanie problemów z firmą Microsoft) i wybierz pozycję Zarchiwizowany zakres dat dziennika.
Wyświetlanie zdarzeń dla pakietu dostępu
Aby wyświetlić zdarzenia pakietu dostępu, musisz mieć dostęp do bazowego obszaru roboczego usługi Azure Monitor (zobacz Zarządzanie dostępem do danych dzienników i obszarów roboczych w usłudze Azure Monitor , aby uzyskać informacje) i w jednej z następujących ról:
- Globalny administrator usługi
- Administrator zabezpieczeń
- Czytelnik zabezpieczeń
- Czytelnik raportów
- Administrator aplikacji
Aby wyświetlić zdarzenia, wykonaj następującą procedurę:
W centrum administracyjnym firmy Microsoft Entra wybierz pozycję Tożsamość , a następnie wybierz pozycję Skoroszyty. Jeśli masz tylko jedną subskrypcję, przejdź do kroku 3.
Jeśli masz wiele subskrypcji, wybierz subskrypcję zawierającą obszar roboczy.
Wybierz skoroszyt o nazwie Działanie pakietu programu Access.
W tym skoroszycie wybierz zakres czasu (zmień na Wszystkie , jeśli nie jest pewien) i wybierz identyfikator pakietu dostępu z listy rozwijanej wszystkich pakietów dostępu, które miały działanie w tym zakresie czasu. Zostaną wyświetlone zdarzenia związane z pakietem dostępu, który wystąpił w wybranym zakresie czasu.
Każdy wiersz zawiera czas, identyfikator pakietu dostępu, nazwę operacji, identyfikator obiektu, nazwę UPN i nazwę wyświetlaną użytkownika, który rozpoczął operację. Więcej szczegółów znajduje się w formacie JSON.
Jeśli chcesz sprawdzić, czy wprowadzono zmiany przypisań ról aplikacji dla aplikacji, które nie były spowodowane dostępem do przypisań pakietów, takich jak administrator globalny bezpośrednio przypisując użytkownika do roli aplikacji, możesz wybrać skoroszyt o nazwie Działanie przypisania roli aplikacji.
Tworzenie niestandardowych zapytań usługi Azure Monitor przy użyciu centrum administracyjnego firmy Microsoft Entra
Możesz tworzyć własne zapytania dotyczące zdarzeń inspekcji firmy Microsoft Entra, w tym zdarzeń zarządzania upoważnieniami.
W obszarze Tożsamość centrum administracyjnego firmy Microsoft Entra wybierz pozycję Dzienniki w sekcji Monitorowanie w menu nawigacji po lewej stronie, aby utworzyć nową stronę zapytania.
Obszar roboczy powinien być wyświetlany w lewym górnym rogu strony zapytania. Jeśli masz wiele obszarów roboczych usługi Azure Monitor, a obszar roboczy używany do przechowywania zdarzeń inspekcji firmy Microsoft Entra nie jest wyświetlany, wybierz pozycję Wybierz zakres. Następnie wybierz poprawną subskrypcję i obszar roboczy.
Następnie w obszarze tekstowym zapytania usuń ciąg "wyszukaj *" i zastąp go następującym zapytaniem:
AuditLogs | where Category == "EntitlementManagement"
Następnie wybierz opcję Uruchom.
W tabeli przedstawiono zdarzenia dziennika inspekcji dla zarządzania upoważnieniami z ostatniej godziny domyślnie. Możesz zmienić ustawienie "Zakres czasu", aby wyświetlić starsze zdarzenia. Jednak zmiana tego ustawienia spowoduje wyświetlenie tylko zdarzeń, które wystąpiły po skonfigurowaniu identyfikatora Entra firmy Microsoft do wysyłania zdarzeń do usługi Azure Monitor.
Jeśli chcesz znać najstarsze i najnowsze zdarzenia inspekcji przechowywane w usłudze Azure Monitor, użyj następującego zapytania:
AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type
Aby uzyskać więcej informacji na temat kolumn przechowywanych dla zdarzeń inspekcji w usłudze Azure Monitor, zobacz Interpretowanie schematu dzienników inspekcji firmy Microsoft Entra w usłudze Azure Monitor.
Tworzenie niestandardowych zapytań usługi Azure Monitor przy użyciu programu Azure PowerShell
Dostęp do dzienników można uzyskać za pośrednictwem programu PowerShell po skonfigurowaniu identyfikatora entra firmy Microsoft w celu wysyłania dzienników do usługi Azure Monitor. Następnie wysyłaj zapytania ze skryptów lub wiersza polecenia programu PowerShell bez konieczności bycia administratorem globalnym w dzierżawie.
Upewnij się, że użytkownik lub jednostka usługi ma poprawne przypisanie roli
Upewnij się, że użytkownik lub jednostka usługi, która uwierzytelnia się w usłudze Microsoft Entra ID, znajdują się w odpowiedniej roli platformy Azure w obszarze roboczym usługi Log Analytics. Opcje roli to Czytelnik usługi Log Analytics lub Współautor usługi Log Analytics. Jeśli masz już jedną z tych ról, przejdź do sekcji Pobieranie identyfikatora usługi Log Analytics z jedną subskrypcją platformy Azure.
Aby ustawić przypisanie roli i utworzyć zapytanie, wykonaj następujące kroki:
W centrum administracyjnym firmy Microsoft Entra znajdź obszar roboczy usługi Log Analytics.
Wybierz Access Control (Zarządzanie dostępem i tożsamościami).
Następnie wybierz pozycję Dodaj , aby dodać przypisanie roli.
Instalowanie modułu programu Azure PowerShell
Po utworzeniu odpowiedniego przypisania roli uruchom program PowerShell i zainstaluj moduł Azure PowerShell (jeśli jeszcze tego nie zrobiono), wpisując:
install-module -Name az -allowClobber -Scope CurrentUser
Teraz możesz przystąpić do uwierzytelniania w usłudze Microsoft Entra ID i pobrać identyfikator obszaru roboczego usługi Log Analytics, którego dotyczy zapytanie.
Pobieranie identyfikatora usługi Log Analytics z jedną subskrypcją platformy Azure
Jeśli masz tylko jedną subskrypcję platformy Azure i jeden obszar roboczy usługi Log Analytics, wpisz następujące polecenie, aby uwierzytelnić się w usłudze Microsoft Entra ID, połączyć się z subskrypcją i pobrać ten obszar roboczy:
Connect-AzAccount
$wks = Get-AzOperationalInsightsWorkspace
Pobieranie identyfikatora usługi Log Analytics z wieloma subskrypcjami platformy Azure
Polecenie Get-AzOperationalInsightsWorkspace działa w jednej subskrypcji naraz. Dlatego jeśli masz wiele subskrypcji platformy Azure, chcesz się upewnić, że łączysz się z obszarem roboczym usługi Log Analytics z dziennikami firmy Microsoft Entra.
Następujące polecenia cmdlet wyświetlają listę subskrypcji i znajdują identyfikator subskrypcji z obszarem roboczym usługi Log Analytics:
Connect-AzAccount
$subs = Get-AzSubscription
$subs | ft
Możesz ponownie uwierzytelnić i skojarzyć sesję programu PowerShell z subskrypcją przy użyciu polecenia takiego jak Connect-AzAccount –Subscription $subs[0].id
. Aby dowiedzieć się więcej na temat uwierzytelniania na platformie Azure z poziomu programu PowerShell, w tym nieinterakcyjnego, zobacz Logowanie się przy użyciu programu Azure PowerShell.
Jeśli masz wiele obszarów roboczych usługi Log Analytics w tej subskrypcji, polecenie cmdlet Get-AzOperationalInsightsWorkspace zwraca listę obszarów roboczych. Następnie możesz znaleźć ten, który ma dzienniki firmy Microsoft Entra. Pole CustomerId
zwrócone przez to polecenie cmdlet jest takie samo jak wartość "Identyfikator obszaru roboczego" wyświetlanego w centrum administracyjnym firmy Microsoft Entra w przeglądzie obszaru roboczego usługi Log Analytics.
$wks = Get-AzOperationalInsightsWorkspace
$wks | ft CustomerId, Name
Wysyłanie zapytania do obszaru roboczego usługi Log Analytics
Na koniec po zidentyfikowaniu obszaru roboczego możesz użyć polecenia Invoke-AzOperationalInsightsQuery , aby wysłać zapytanie Kusto do tego obszaru roboczego. Te zapytania są pisane w języku zapytań Kusto.
Można na przykład pobrać zakres dat rekordów zdarzeń inspekcji z obszaru roboczego usługi Log Analytics, za pomocą poleceń cmdlet programu PowerShell do wysyłania zapytania, takiego jak:
$aQuery = "AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type"
$aResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $aQuery
$aResponse.Results |ft
Zdarzenia zarządzania upoważnieniami można również pobrać za pomocą zapytania, takiego jak:
$bQuery = 'AuditLogs | where Category == "EntitlementManagement"'
$bResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $Query
$bResponse.Results |ft
Korzystanie z filtrów zapytań
Możesz dołączyć TimeGenerated
pole, aby ograniczyć zakres zapytania do określonego zakresu czasu. Na przykład aby pobrać zdarzenia dziennika inspekcji dla zasad przypisywania pakietów dostępu do zarządzania upoważnieniami tworzone lub aktualizowane w ciągu ostatnich 90 dni, można podać zapytanie zawierające to pole, a także kategorię i typ operacji.
AuditLogs |
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") |
project ActivityDateTime,OperationName, InitiatedBy, AdditionalDetails, TargetResources
W przypadku zdarzeń inspekcji niektórych usług, takich jak zarządzanie upoważnieniami, można również rozwinąć i filtrować właściwości, których dotyczy problem, zmieniane zasoby. Można na przykład wyświetlić tylko te rekordy dziennika inspekcji dla tworzonych lub aktualizowanych zasad przypisywania pakietów dostępu, które nie wymagają zatwierdzenia, aby użytkownicy mieli dodane przypisanie.
AuditLogs |
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") |
mv-expand TargetResources |
where TargetResources.type == "AccessPackageAssignmentPolicy" |
project ActivityDateTime,OperationName,InitiatedBy,PolicyId=TargetResources.id,PolicyDisplayName=TargetResources.displayName,MP1=TargetResources.modifiedProperties |
mv-expand MP1 |
where (MP1.displayName == "IsApprovalRequiredForAdd" and MP1.newValue == "\"False\"") |
order by ActivityDateTime desc