Freigeben über


Analysieren von Aktivitätsprotokollen mit Microsoft Graph

Die Berichterstellungs-APIs Microsoft Entra bieten Ihnen über einen Satz von REST-APIs programmgesteuerten Zugriff auf die Daten. Sie können diese APIs über zahlreiche Programmiersprachen und Tools aufrufen.

In diesem Artikel wird beschrieben, wie Sie Microsoft Entra-Aktivitätsprotokolle mit Microsoft Graph Explorer und Microsoft Graph PowerShell analysieren.

Voraussetzungen

  • Ein funktionierender Microsoft Entra-Mandant mit einer Microsoft Entra D P1- oder P2-Lizenz, die ihm zugeordnet ist.
  • Um den erforderlichen Berechtigungen zuzustimmen, benötigen Sie die Privilegierte Rolle Administrator.

Zugreifen auf Berichte über Microsoft Graph-Tester

Wenn alle Voraussetzungen erfüllt sind, können Sie Aktivitätsprotokollabfragen in Microsoft Graph durchführen. Die Microsoft Graph-API ist nicht für das Pullen großer Mengen von Aktivitätsdaten konzipiert. Das Pullen großer Mengen von Aktivitätsdaten mithilfe der API führt u. U. zu Problemen mit der Paginierung und Leistung. Weitere Informationen zu Microsoft Graph-Abfragen für Aktivitätsprotokolle finden Sie in der Übersicht über die API für Aktivitätsberichte.

  1. Starten Sie das Tool Microsoft Graph-Tester.

  2. Wählen Sie Ihr Profil aus, und wählen Sie dann Berechtigungen ändern aus.

  3. Stimmen Sie den folgenden erforderlichen Berechtigungen zu:

    • AuditLog.Read.All
    • Directory.Read.All
  4. Verwenden Sie eine der folgenden Abfragen, um Microsoft Graph für den Zugriff auf Aktivitätsprotokolle zu nutzen:

    • 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 https://graph.microsoft.com/beta/auditLogs/signUps

    Screenshot einer GET-Abfrage des Aktivitätsprotokolls in Microsoft Graph

Optimieren Ihrer Abfragen

Um nach bestimmten Aktivitätsprotokolleinträgen zu suchen, verwenden Sie die Abfrageparameter „$filter“ und „createdDateTime“ mit einer der verfügbaren Eigenschaften. Einige der folgenden Abfragen verwenden den beta-Endpunkt. Der Beta-Endpunkt kann jederzeit geändert werden und wird daher nicht zur Verwendung in der Produktion empfohlen.

Beispiel für Anmeldeabfragen

Versuchen Sie, die folgenden Abfragen für die Anmeldeaktivität zu verwenden:

  • Bei Anmeldeversuchen, bei denen der bedingte Zugriff fehlgeschlagen ist:

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=conditionalAccessStatus eq 'failure'
    • Ziehen Sie die Verwendung eines Datumsfilters in Erwägung, damit die Anfrage nicht ins Timeout gerät.
  • So suchen Sie Anmeldungen bei einer bestimmten Anwendung in einem bestimmten Zeitrahmen

    • 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'
  • Für nicht interaktive Anmeldungen:

    • 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')
  • Für Dienstprinzipalanmeldungen:

    • 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')
  • Für Anmeldungen über verwaltete Identitäten:

    • 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')
  • Zum Abrufen der Authentifizierungsmethode eines Benutzers:

    • GET https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
    • Erfordert die UserAuthenticationMethod.Read.All-Berechtigung
  • Zum Anzeigen des Berichts der Benutzerregistrierungsdetails:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • Erfordert die UserAuthenticationMethod.Read.All-Berechtigung
  • Für die Registrierungsdetails eines bestimmten Benutzers:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
    • Erfordert die UserAuthenticationMethod.Read.All-Berechtigung

Beispiel-Registrierungsabfragen (Vorschau)

Versuchen Sie, die folgenden Abfragen für die Registrierungsaktivität in Ihrem externen Mandanten zu verwenden:

  • So finden Sie Anmeldeversuche, die während eines bestimmten Schritts fehlgeschlagen oder unterbrochen wurden, z. B. die Erstellung von Benutzerobjekten:

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=status/errorCode ne 0 and signUpStage eq 'userCreation'
  • So finden Sie Anmeldeversuche, die während der E-Mail-Überprüfung fehlgeschlagen sind:

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=status/errorCode eq 1002013 and signUpStage eq 'credentialValidation'

    Hinweis

    Fehlercode 1002013 gibt an, dass es sich um eine erwartete (und erfolgreiche) Unterbrechung des Registrierungsablaufs handelt. Weitere Informationen

  • Für Anmeldungen innerhalb eines Datumsbereichs:

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z)
  • Für Anmeldungen für eine bestimmte Anwendung:

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=appId eq 'AppId'
  • Für lokale Kontoanmeldungen:

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentityProvider eq 'Email OTP' or signUpIdentityProvider eq 'Email Password'
  • Für Anmeldungen mit sozialen Konten (Google in diesem Beispiel):

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentityProvider eq ‘Google'
  • So zeigen Sie Einträge für einen bestimmten Benutzer an, z. B user@contoso.com.:

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=signUpIdentity/signUpIdentifier eq 'user@contoso.com'
  • So suchen Sie Einträge, die einer bestimmten Korrelations-ID entsprechen:

    • GET https://graph.microsoft.com/beta/auditLogs/signUps?$filter=correlationId eq 'CorrelationId'
  • So suchen Sie die Anmeldeprotokolleinträge, die einer bestimmten Registrierung entsprechen, mithilfe der Korrelations-ID:

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?$filter=correlationId eq 'CorrelationId'

Sobald Sie mit den Standardanmelde- und Überwachungsprotokollen vertraut sind, probieren Sie diese anderen APIs aus:

Zugreifen auf Berichte über Microsoft Graph PowerShell

Sie können PowerShell verwenden, um auf die Berichterstellungs-API von Microsoft Entra zuzugreifen. Weitere Informationen finden Sie in der Übersicht über Microsoft Graph PowerShell.

PowerShell-Cmdlets für Microsoft Graph:

Häufige Fehler

Fehler: Kein Mandant ist B2C, oder der Mandant besitzt keine Premium-Lizenz: Für den Zugriff auf Anmeldeberichte ist eine Microsoft Entra ID P1- bzw. P2-Lizenz erforderlich. Wenn diese Fehlermeldung beim Zugriff auf Anmeldungen angezeigt wird, stellen Sie sicher, dass Ihr Mandant mit einer Microsoft Entra ID P1-Lizenz lizenziert ist.

Fehler: Der Benutzer gehört nicht den zulässigen Rollen an: Wenn Sie diese Fehlermeldung sehen, während Sie versuchen, über die API auf Überwachungsprotokolle oder Anmeldungen zuzugreifen, stellen Sie sicher, dass Ihr Konto Teil der Rolle Sicherheitsleseberechtigter oder Berichtleseberechtigter in Ihrem Microsoft Entra-Mandanten ist.

Fehler: Die Microsoft Entra ID-Berechtigung „Verzeichnisdaten lesen“ oder „Alle Überwachungsprotokolldaten lesen“ fehlt in der Anwendung: Für den Zugriff auf die Aktivitätsprotokolle mit Microsoft Graph benötigt die Anwendung entweder die Berechtigung AuditLog.Read.All oder die Berechtigung Directory.Read.All.