Freigeben über


Lernprogramm: Erstellen eines Log Analytics-Arbeitsbereichs zum Analysieren von Anmeldeprotokollen

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen eines Log Analytics-Arbeitsbereichs
  • Konfigurieren von Diagnoseeinstellungen zum Integrieren von Anmeldeprotokollen in den Log Analytics-Arbeitsbereich
  • Ausführen von Abfragen mithilfe der Kusto-Abfragesprache (Kusto Query Language, KQL)

Voraussetzungen

Um Aktivitätsprotokolle mit Log Analytics zu analysieren, sind die folgenden Rollen und Voraussetzungen erforderlich:

Erstellen eines Log Analytics-Arbeitsbereichs

In diesem Schritt erstellen Sie einen Log Analytics-Arbeitsbereich, in dem Sie schließlich Ihre Anmeldeprotokolle senden. Bevor Sie den Arbeitsbereich erstellen können, benötigen Sie eine Azure-Ressourcengruppe.

  1. Melden Sie sich beim Azure-Portal als Mindestens ein Sicherheitsadministrator mit Log Analytics-Mitwirkendenberechtigungen an.

  2. Navigieren Sie zu Log Analytics-Arbeitsbereiche.

  3. Klicken Sie auf Erstellen.

    Screenshot der Schaltfläche „Erstellen“ auf der Seite „Log Analytics-Arbeitsbereiche“.

  4. Führen Sie auf der Seite Log Analytics-Arbeitsbereich erstellen die folgenden Schritte aus:

    1. Wählen Sie Ihr Abonnement aus.

    2. Wählen Sie eine Ressourcengruppe aus.

    3. Geben Sie einen Namen für den Arbeitsbereich ein.

    4. Wählen Sie Ihre Region aus.

    Screenshot der Detailseite für „Neuen Log Analytics-Arbeitsbereich erstellen“.

  5. Klicken Sie auf Überprüfen + erstellen.

  6. Wählen Sie Erstellen aus, und warten Sie auf die Bereitstellung. Möglicherweise müssen Sie die Seite aktualisieren, um den neuen Arbeitsbereich anzuzeigen.

Konfigurieren von Diagnoseeinstellungen

Um Ihre Identitätsprotokollinformationen an Ihren neuen Arbeitsbereich zu senden, müssen Sie Diagnoseeinstellungen konfigurieren. Es gibt verschiedene Diagnoseeinstellungen für Azure und Microsoft Entra. Für die nächsten Schritte wechseln wir also zum Microsoft Entra Admin Center, um sicherzustellen, dass alles identitätsbezogen ist.

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Sicherheitsadministrator an.

  2. Navigieren Sie zu Entra IDÜberwachung & GesundheitDiagnostikeinstellungen.

  3. Klicken Sie auf Diagnoseeinstellung hinzufügen.

    Screenshot der Option „Diagnoseeinstellung hinzufügen“.

  4. Führen Sie auf der Seite Diagnoseeinstellung die folgenden Schritte aus:

    1. Geben Sie einen Namen für die Diagnoseeinstellung an.

    2. Wählen Sie unter Protokolle die Optionen AuditLogs und SigninLogs aus.

    3. Wählen Sie unter Zieldetails die Option An Log Analytics senden und anschließend Ihren neuen Protokollanalyse-Arbeitsbereich aus.

    4. Wählen Sie Speichern.

    Screenshot der Optionen „Diagnoseeinstellungen auswählen“.

Ihre ausgewählten Protokolle können bis zu 15 Minuten dauern, bis die Protokolle in Ihrem Log Analytics-Arbeitsbereich aufgefüllt werden.

Abfragen in Log Analytics ausführen

Wenn Ihre Protokolle in Ihren Log Analytics-Arbeitsbereich gestreamt werden, können Sie Abfragen mit der Kusto Query Language (KQL) ausführen. Die am wenigsten privilegierte Rolle für das Ausführen von Abfragen ist die Rolle Berichtsleseberechtigter.

  1. Navigieren Sie zu Entra ID>Monitoring & Health>Log Analytics.

  2. Geben Sie im Textfeld Suchen Ihre Abfrage ein, und wählen Sie Ausführen aus.

Kusto-Abfragebeispiele

Nehmen Sie 10 zufällige Einträge aus den Eingabedaten:

  • SigninLogs | take 10

Anzeigen der Anmeldungen, bei denen der bedingte Zugriff erfolgreich war:

  • SigninLogs | where ConditionalAccessStatus == "success" | project UserDisplayName, ConditionalAccessStatus

Zählen der Erfolge:

  • SigninLogs | where ConditionalAccessStatus == "success" | project UserDisplayName, ConditionalAccessStatus | count

Aggregierte Anzahl der erfolgreichen Anmeldungen nach Benutzer und Tag:

  • SigninLogs | where ConditionalAccessStatus == "success" | summarize SuccessfulSign-ins = count() by UserDisplayName, bin(TimeGenerated, 1d)

Anzeigen, wie oft ein Benutzer einen bestimmten Vorgang innerhalb eines bestimmten Zeitraums durchführt:

  • AuditLogs | where TimeGenerated > ago(30d) | where OperationName contains "Add member to role" | summarize count() by OperationName, Identity

Pivotieren der Ergebnisse nach Vorgangsname:

  • AuditLogs | where TimeGenerated > ago(30d) | where OperationName contains "Add member to role" | project OperationName, Identity | evaluate pivot(OperationName)

Zusammenführen von Überprüfungs- und Anmeldeprotokollen mit einem inneren Join:

  • AuditLogs |where OperationName contains "Add User" |extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName) | |project TimeGenerated, UserPrincipalName |join kind = inner (SigninLogs) on UserPrincipalName |summarize arg_min(TimeGenerated, *) by UserPrincipalName |extend SigninDate = TimeGenerated

Anzeigen der Anzahl von Anmeldungen nach Client-App-Typ:

  • SigninLogs | summarize count() by ClientAppUsed

Anmeldungen nach Tag zählen:

  • SigninLogs | summarize NumberOfEntries=count() by bin(TimeGenerated, 1d)

Projizieren der Spalten von 5 zufälligen Einträgen, die in den Ergebnissen angezeigt werden sollen:

  • SigninLogs | take 5 | project ClientAppUsed, Identity, ConditionalAccessStatus, Status, TimeGenerated

Projizieren der Spalten der ersten 5 Einträge in absteigender Reihenfolge, die angezeigt werden sollen:

  • SigninLogs | take 5 | project ClientAppUsed, Identity, ConditionalAccessStatus, Status, TimeGenerated

Erstellen Sie eine neue Spalte, indem Sie die Werte mit zwei anderen Spalten kombinieren:

  • SigninLogs | limit 10 | extend RiskUser = strcat(RiskDetail, "-", Identity) | project RiskUser, ClientAppUsed

Nächster Schritt