Microsoft Entra ID-Anmeldeprotokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Microsoft Entra ID-Anmeldelogs (früher Azure Active Directory) erfassen, indem Sie einen Google Security Operations-Feed einrichten. Sie können die Aufnahme mit zwei Methoden konfigurieren: Azure Event Hub (empfohlen) oder die Drittanbieter-API.

Hinweis

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Berechtigter Zugriff auf das Microsoft Azure-Portal
  • Rolle Sicherheitsadministrator oder Globaler Administrator in Microsoft Entra ID (für Diagnoseeinstellungen erforderlich)
  • Für die Drittanbieter-API-Methode ist eine der folgenden Rollen zum Erteilen der Administratoreinwilligung erforderlich:
    • Globaler Administrator: Kann die Einwilligung für jede Berechtigung und jede API erteilen.
    • Administrator mit privilegierten Rollen: Kann die Einwilligung für jede Berechtigung und jede API erteilen.
    • Cloud Application Administrator (Cloud-Anwendungsadministrator): Kann die Einwilligung für jede Berechtigung für jede API erteilen, mit Ausnahme von Microsoft Graph-App-Rollen (Anwendungsberechtigungen).

Bei dieser Methode werden Entra ID-Anmeldeprotokolle über Azure Event Hub mit aktivierter Erfassung gestreamt, wodurch die Daten in Azure Blob Storage geschrieben werden. Google SecOps nimmt die Logs dann über den Feedtyp „Azure Blob Storage V2“ aus Blob Storage auf.

Azure Storage-Konto konfigurieren

Speicherkonto erstellen

  1. Suchen Sie im Azure-Portal nach Speicherkonten.
  2. Klicken Sie auf + Erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Abo Azure-Abo auswählen
    Ressourcengruppe Vorhandenen auswählen oder neuen erstellen
    Name des Speicherkontos Geben Sie einen eindeutigen Namen ein, z. B. secopsaadsignin.
    Region Wählen Sie die Region aus, die Ihrem Event Hubs-Namespace am nächsten ist.
    Leistung Standard (empfohlen)
    Redundanz LRS (Locally Redundant Storage) oder GRS (Geo-Redundant Storage)
  4. Klicken Sie auf Überprüfen + Erstellen.

  5. Prüfen Sie die Übersicht und klicken Sie auf Erstellen.

  6. Warten Sie, bis die Bereitstellung abgeschlossen ist.

Anmeldedaten für das Speicherkonto abrufen

  1. Rufen Sie das von Ihnen erstellte Speicherkonto auf.
  2. Wählen Sie im linken Navigationsbereich unter Sicherheit + Netzwerk die Option Zugriffsschlüssel aus.
  3. Klicken Sie auf Schlüssel anzeigen.
  4. Kopieren und speichern Sie Folgendes:
    • Name des Speicherkontos
    • Schlüssel 1 oder Schlüssel 2: Der freigegebene Zugriffsschlüssel.

Event Hub-Namespace und Event Hub erstellen

Event Hubs-Namespace erstellen

  1. Suchen Sie im Azure-Portal nach Event Hubs.
  2. Klicken Sie auf + Erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Abo Azure-Abo auswählen
    Ressourcengruppe Wählen Sie dieselbe Ressourcengruppe wie für Ihr Speicherkonto aus.
    Namespace-Name Geben Sie einen eindeutigen Namen ein, z. B. secops-entraid-signin.
    Standort Wählen Sie dieselbe Region wie für Ihr Speicherkonto aus.
    Preisstufe Standard (für Event Hub Capture erforderlich)
  4. Klicken Sie auf Überprüfen + Erstellen und dann auf Erstellen.

  5. Warten Sie, bis die Bereitstellung abgeschlossen ist.

Event Hub erstellen

  1. Rufen Sie den von Ihnen erstellten Event Hubs-Namespace auf.
  2. Klicken Sie oben auf + Event Hub.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen Namen ein, z. B. entraid-signin-logs.
    • Anzahl der Partitionen: 2 (Standardwert, kann für einen höheren Durchsatz erhöht werden).
    • Bereinigungsrichtlinie: Löschen.
    • Aufbewahrungsdauer (Std.): 24 (Minimum, bei Bedarf für mehr Stabilität erhöhen).
  4. Klicken Sie auf Überprüfen + Erstellen und dann auf Erstellen.

Event Hub Capture aktivieren

  1. Rufen Sie den Event Hub auf, den Sie erstellt haben (im Namespace).
  2. Wählen Sie im Navigationsbereich links Aufnehmen aus.
  3. Legen Sie Aufzeichnen auf An fest.
  4. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Zeitfenster (Minuten) 5 (oder niedriger für nahezu in Echtzeit)
    Größenfenster (MB) 300
    Aufnahmeanbieter Azure Blob Storage
    Azure-Abo Abo auswählen
    Storage Account (Speicherkonto) Wählen Sie das von Ihnen erstellte Speicherkonto aus.
    Blob-Container Container erstellen oder auswählen (z. B. entraid-signin-capture)
  5. Klicken Sie auf Speichern.

Diagnoseeinstellungen für Entra ID konfigurieren

  1. Suchen Sie im Azure-Portal nach Microsoft Entra ID.
  2. Wählen Sie im Navigationsbereich links Monitoring & Health > Diagnoseeinstellungen aus.
  3. Klicken Sie auf Diagnoseeinstellung hinzufügen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name der Diagnoseeinstellung: Geben Sie einen aussagekräftigen Namen ein, z. B. signin-logs-to-eventhub.
    • Wählen Sie im Abschnitt Logs die Anmeldelogkategorien aus, die Sie exportieren möchten:
      • SignInLogs: Interaktive Nutzeranmeldungen.
      • NonInteractiveUserSignInLogs: Nicht interaktive Nutzeranmeldungen (optional, empfohlen).
      • ServicePrincipalSignInLogs: Anmeldungen von Dienstprinzipalen (optional).
      • ManagedIdentitySignInLogs: Anmeldungen mit verwalteter Identität (optional).
    • Wählen Sie im Abschnitt Zieldetails die Option Stream to an event hub (In einen Event Hub streamen) aus.
    • Abo: Wählen Sie das Abo aus, das Ihren Event Hub-Namespace enthält.
    • Event Hubs-Namespace: Wählen Sie den von Ihnen erstellten Namespace aus (z. B. secops-entraid-signin).
    • Event Hub-Name: Wählen Sie den erstellten Event Hub aus (z. B. entraid-signin-logs).
    • Event Hub-Richtlinienname: Wählen Sie RootManageSharedAccessKey aus.
  5. Klicken Sie auf Speichern.

Feeds einrichten

Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:

  • SIEM-Einstellungen > Feeds > Neuen Feed hinzufügen
  • Content Hub > Content-Pakete > Erste Schritte

Feed in Google SecOps konfigurieren, um Entra ID-Anmeldeprotokolle aufzunehmen

  1. Klicken Sie auf das Paket Azure-Plattform.
  2. Suchen Sie nach dem Protokolltyp Azure AD.
  3. Geben Sie Werte für die folgenden Felder an:

    • Quelltyp: Microsoft Azure Blob Storage V2
    • Azure-URI: Geben Sie die Blob Service-Endpunkt-URL mit dem Pfad des Erfassungscontainers ein:

      https://<storage-account>.blob.core.windows.net/entraid-signin-capture/
      

      Ersetzen Sie <storage-account> durch den Namen Ihres Azure-Speicherkontos.

    • Option zum Löschen der Quelle: Wählen Sie die gewünschte Option zum Löschen aus:

      • Nie: Es werden nach Übertragungen nie Dateien gelöscht.
      • Übertragene Dateien löschen: Löscht Dateien nach der erfolgreichen Übertragung.
      • Übertragene Dateien und leere Verzeichnisse löschen: Dateien und leere Verzeichnisse werden nach der erfolgreichen Übertragung gelöscht.
    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.

    • Gemeinsamer Schlüssel: Geben Sie den Wert des gemeinsamen Zugriffsschlüssels aus dem Speicherkonto ein.

    • Asset-Namespace: Der Asset-Namespace.

    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.

  4. Klicken Sie auf Feed erstellen.

Nachdem Sie den Feed erstellt haben, kann es 5 bis 10 Minuten dauern, bis Logs in Google SecOps angezeigt werden.

Weitere Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.

Weitere Informationen zu Google Security Operations-Feeds finden Sie in der Dokumentation zu Google Security Operations-Feeds. Informationen zu den Anforderungen für die einzelnen Feedtypen finden Sie unter Feedkonfiguration nach Typ.

Azure Storage-Firewall konfigurieren (falls aktiviert)

Wenn für Ihr Azure-Speicherkonto eine Firewall verwendet wird, müssen Sie die IP-Bereiche von Google SecOps hinzufügen.

  1. Rufen Sie im Azure-Portal Ihr Storage-Konto auf.
  2. Wählen Sie unter Sicherheit + Netzwerk die Option Netzwerk aus.
  3. Wählen Sie unter Firewalls und virtuelle Netzwerke die Option Aktiviert für ausgewählte virtuelle Netzwerke und IP-Adressen aus.
  4. Klicken Sie im Bereich Firewall unter Adressbereich auf + IP-Bereich hinzufügen.
  5. Fügen Sie jeden Google SecOps-IP-Bereich in CIDR-Notation hinzu.
  6. Klicken Sie auf Speichern.

Methode 2: Drittanbieter-API

Bei dieser Methode wird die Microsoft Graph API verwendet, um Entra ID-Anmeldeprotokolle direkt von Ihrem Microsoft-Mandanten abzurufen.

IP-Zulassungsliste konfigurieren

Bevor Sie den Feed erstellen, müssen Sie die Google SecOps-IP-Bereiche in Ihren Microsoft Azure-Netzwerkeinstellungen oder Richtlinien für bedingten Zugriff auf die Zulassungsliste setzen.

Google SecOps-IP-Bereiche abrufen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Notieren Sie sich die IP-Bereiche, die auf der Benutzeroberfläche zur Feederstellung angezeigt werden.
  4. Alternativ können Sie IP-Bereiche programmatisch über die Feed Management API abrufen.

Bedingten Zugriff für Arbeitslastidentitäten konfigurieren (falls erforderlich)

Wenn Ihre Organisation Richtlinien für den bedingten Zugriff verwendet, die den Zugriff nach Standort einschränken:

  1. Gehen Sie im Microsoft Entra Admin Center zu Schutz > Bedingter Zugriff > Benannte Standorte.
  2. Klicken Sie auf + Neuer Standort.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie Google SecOps IP Ranges ein.
    • Als vertrauenswürdigen Standort markieren: Optional, je nach Ihrer Sicherheitsrichtlinie.
    • IP-Bereiche: Fügen Sie jeden Google SecOps-IP-Bereich in CIDR-Notation hinzu.
  4. Klicken Sie auf Erstellen.
  5. Rufen Sie Conditional Access > Policies (Bedingter Zugriff > Richtlinien) auf.
  6. Konfigurieren Sie für alle Richtlinien, die für Workload-Identitäten gelten, einen Ausschluss für den benannten Standort Google SecOps IP Ranges oder den spezifischen Dienstprinzipal.

Microsoft Azure AD-API-Zugriff konfigurieren

App-Registrierung erstellen

  1. Melden Sie sich im Microsoft Entra Admin Center oder im Azure-Portal an.
  2. Rufen Sie Identität > Anwendungen > Anwendungsregistrierungen auf.
  3. Klicken Sie auf Neue Registrierung.
  4. Geben Sie die folgenden Konfigurationsdetails an:

    • Name: Geben Sie einen aussagekräftigen Namen ein, z. B. Google SecOps Sign-In Logs Integration.
    • Unterstützte Kontotypen: Wählen Sie Nur Konten in diesem Organisationsverzeichnis (Einzelmandant) aus.
    • Weiterleitungs-URI: Lassen Sie das Feld leer (nicht für die Authentifizierung des Dienstprinzipals erforderlich).
  5. Klicken Sie auf Registrieren.

  6. Kopieren und speichern Sie nach der Registrierung die folgenden Werte:

    • Anwendungs-ID (Client-ID)
    • Verzeichnis-ID (Mandant)

API-Berechtigungen konfigurieren

Für die Integration sind die folgenden Microsoft Graph-Anwendungsberechtigungen erforderlich:

  1. Rufen Sie in der App-Registrierung API-Berechtigungen auf.
  2. Klicken Sie auf Berechtigung hinzufügen.
  3. Wählen Sie Microsoft Graph > Anwendungsberechtigungen aus.
  4. Wählen Sie die folgenden Berechtigungen aus:
    • AuditLog.Read.All: Erforderlich, um Anmeldeprotokolle zu lesen.
    • Directory.Read.All: Erforderlich für den Zugriff auf Anmeldeprotokolle über die Microsoft Graph API (bekanntes Problem).
    • SecurityEvents.Read.All: Erforderlich für Google Security Operations.
  5. Klicken Sie auf Berechtigungen hinzufügen.
  6. Klicken Sie auf Administratoreinwilligung für [Ihre Organisation]erteilen.
  7. Prüfen Sie, ob in der Spalte Status für alle drei Berechtigungen Gewährt für [Ihre Organisation] angezeigt wird.
Berechtigung Typ Beschreibung
AuditLog.Read.All Anwendung Alle Anmelde- und Audit-Log-Daten lesen
Directory.Read.All Anwendung Verzeichnisdaten lesen (für API-Zugriff erforderlich)
SecurityEvents.Read.All Anwendung Sicherheitsereignisse lesen

Clientschlüssel erstellen

  1. Rufen Sie Zertifikate und Secrets auf.
  2. Klicken Sie auf Neuer geheimer Clientschlüssel.
  3. Geben Sie die folgenden Konfigurationsdetails an:

    • Beschreibung: Geben Sie einen aussagekräftigen Namen ein, z. B. Google SecOps Feed.
    • Läuft ab: Wählen Sie einen Ablaufzeitraum aus.
  4. Klicken Sie auf Hinzufügen.

  5. Wichtig: Kopieren Sie den Wert des Clientschlüssels sofort. Dieser Wert wird nur einmal angezeigt und kann später nicht mehr abgerufen werden.

API-Zugriff vor dem Erstellen des Feeds prüfen

Bevor Sie den Google SecOps-Feed erstellen, prüfen Sie, ob sich der Dienstprinzipal erfolgreich authentifizieren und auf die Microsoft Graph API zugreifen kann.

  • Authentifizierung mit PowerShell testen

    # Replace with your actual values
    $tenantId = "your-tenant-id"
    $clientId = "your-client-id"
    $clientSecret = "your-client-secret"
    
    # Token request parameters (must be lowercase)
    $tokenBody = @{
        grant_type    = "client_credentials"
        client_id     = $clientId
        client_secret = $clientSecret
        scope         = "https://graph.microsoft.com/.default"
    }
    
    # Request access token
    $tokenEndpoint = "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token"
    $tokenResponse = Invoke-RestMethod -Method Post -Uri $tokenEndpoint -Body $tokenBody -ContentType "application/x-www-form-urlencoded"
    
    if ($tokenResponse.access_token) {
        Write-Host "✓ Successfully obtained access token" -ForegroundColor Green
    
        # Test API call to sign-ins endpoint
        $apiUrl = "https://graph.microsoft.com/v1.0/auditLogs/signIns?`$top=1"
        $headers = @{
            Authorization = "Bearer $($tokenResponse.access_token)"
        }
    
        try {
            $signInResponse = Invoke-RestMethod -Method Get -Uri $apiUrl -Headers $headers
            Write-Host "✓ Successfully accessed sign-ins API" -ForegroundColor Green
            Write-Host "Sample sign-in log retrieved successfully" -ForegroundColor Green
        }
        catch {
            Write-Host "✗ Failed to access sign-ins API" -ForegroundColor Red
            Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red
        }
    }
    else {
        Write-Host "✗ Failed to obtain access token" -ForegroundColor Red
    }
    
  • Erwartete Ausgabe:

    ✓ Successfully obtained access token
    ✓ Successfully accessed sign-ins API
    Sample sign-in log retrieved successfully
    
  • Authentifizierung mit „curl“ testen

    # Replace with your actual values
    TENANT_ID="your-tenant-id"
    CLIENT_ID="your-client-id"
    CLIENT_SECRET="your-client-secret"
    
    # Request access token
    curl -X POST "https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "grant_type=client_credentials" \
    -d "client_id=$CLIENT_ID" \
    -d "client_secret=$CLIENT_SECRET" \
    -d "scope=https://graph.microsoft.com/.default"
    
    # Test API access
    curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    "https://graph.microsoft.com/v1.0/auditLogs/signIns?\$top=1"
    

Feeds einrichten

Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:

  • SIEM-Einstellungen > Feeds > Neuen Feed hinzufügen
  • Content Hub > Content-Pakete > Erste Schritte

Feed in Google SecOps konfigurieren, um Microsoft Azure AD-Anmeldelogs aufzunehmen

  1. Klicken Sie auf das Paket Azure-Plattform.
  2. Suchen Sie nach dem Protokolltyp Azure AD.
  3. Geben Sie Werte für die folgenden Felder an:

    • Source Type (Quelltyp): Third party API (API von Drittanbietern) (empfohlen)
    • OAuth-Client-ID: Die Anwendungs- oder Client-ID aus der App-Registrierung.
    • OAuth-Clientschlüssel: Der Wert des Clientschlüssels, den Sie zuvor kopiert haben.
    • Mandanten-ID: Ihre Microsoft-Mandanten-ID aus der App-Registrierung (UUID-Format, z. B. 0fc279f9-fe30-41be-97d3-abe1d7681418).
    • Vollständiger API-Pfad: Microsoft Graph REST API-Endpunkt-URL:

      graph.microsoft.com/v1.0/auditLogs/signIns
      
    • API-Authentifizierungsendpunkt: Microsoft Active Directory-Authentifizierungsendpunkt:

      login.microsoftonline.com
      

    Erweiterte Optionen:

    • Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
    • Asset-Namespace: Der Asset-Namespace, mit dem der Feed verknüpft wird.
    • Aufnahmelabels: Alle Ereignisse aus diesem Feed werden mit Labels versehen.
  4. Klicken Sie auf Feed erstellen.

Nachdem Sie den Feed erstellt haben, werden Kontextdaten regelmäßig abgerufen. Es kann bis zu 24 Stunden dauern, bis der erste Verzeichnissnapshot in Google SecOps angezeigt wird.

Weitere Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen in dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.

Weitere Informationen zu Google Security Operations-Feeds finden Sie in der Dokumentation zu Google Security Operations-Feeds. Informationen zu den Anforderungen für die einzelnen Feedtypen finden Sie unter Feedkonfiguration nach Typ. Wenn beim Erstellen von Feeds Probleme auftreten, wenden Sie sich an den Google Security Operations-Support.

Regionale Endpunkte

Verwenden Sie für Microsoft Azure AD-Bereitstellungen in Sovereign Clouds die entsprechenden regionalen Endpunkte:

Cloud-Umgebungen Vollständiger API-Pfad API-Authentifizierungsendpunkt
Global graph.microsoft.com/v1.0/auditLogs/signIns login.microsoftonline.com
US Government L4 graph.microsoft.us/v1.0/auditLogs/signIns login.microsoftonline.us
US Government L5 (DOD) dod-graph.microsoft.us/v1.0/auditLogs/signIns login.microsoftonline.us
China (21Vianet) microsoftgraph.chinacloudapi.cn/v1.0/auditLogs/signIns login.chinacloudapi.cn

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
activityDateTime principal.event_timestamp Aus dem Feld activityDateTime geparst. Wenn das Feld nicht im erwarteten Format „JJJJ-MM-TTTHH:mm:ss.SSSZ“ oder „ISO8601“-Format ist, versucht der Parser andere Formate wie „MM/TT/JJJJ HH:mm:ss A“ oder „MM/T/JJJJ HH:mm:ss A“.
activityDisplayName security_result.summary Direkt von activityDisplayName zugeordnet.
additionalDetails.0.value network.http.user_agent Direkt von additionalDetails.0.value zugeordnet.
additionalDetails.1.key target.resource.attribute.labels.key Direkt von additionalDetails.1.key zugeordnet.
additionalDetails.1.value target.resource.attribute.labels.value Direkt von additionalDetails.1.value zugeordnet.
additionalInfo.[].Key network.http.user_agent, target.url Wenn Key userAgent ist, ordnen Sie Value network.http.user_agent und network.http.parsed_user_agent zu. Wenn Key alertUrl ist, ordnen Sie Value target.url zu.
additionalInfo.[].Value network.http.user_agent, target.url Wenn Key userAgent ist, ordnen Sie Value network.http.user_agent und network.http.parsed_user_agent zu. Wenn Key alertUrl ist, ordnen Sie Value target.url zu.
am_category metadata.description Direkt von am_category zugeordnet.
am_tenantId metadata.product_deployment_id Direkt von am_tenantId zugeordnet.
appId target.resource.attribute.labels.value Direkt aus appId zugeordnet, wobei der Labelschlüssel „App-ID“ ist.
appDisplayName target.application Direkt von appDisplayName zugeordnet.
appliedConditionalAccessPolicies.[].displayName security_result.[].rule_name, about.[].user.user_display_name Direkt von appliedConditionalAccessPolicies.[].displayName zugeordnet.
appliedConditionalAccessPolicies.[].enforcedGrantControls security_result.[].rule_labels.value Direkt aus appliedConditionalAccessPolicies.[].enforcedGrantControls zugeordnet mit dem Label-Schlüssel „applied_conditional_access_policies_enforced_grant_controls“.
appliedConditionalAccessPolicies.[].enforcedSessionControls security_result.[].rule_labels.value Direkt zugeordnet von appliedConditionalAccessPolicies.[].enforcedSessionControls mit dem Label-Schlüssel „applied_conditional_access_policies_enforced_session_controls“.
appliedConditionalAccessPolicies.[].id security_result.[].rule_id, about.[].user.userid Direkt von appliedConditionalAccessPolicies.[].id zugeordnet.
appliedConditionalAccessPolicies.[].result security_result.[].detection_fields.value, about.[].labels.value Direkt aus appliedConditionalAccessPolicies.[].result zugeordnet mit dem Label-Schlüssel „Result“.
authenticationDetails.[].authenticationMethod security_result.[].detection_fields.value Direkt zugeordnet aus authenticationDetails.[].authenticationMethod mit dem Label-Schlüssel „authenticationMethod“.
authenticationDetails.[].authenticationMethodDetail security_result.[].detection_fields.value Direkt aus authenticationDetails.[].authenticationMethodDetail zugeordnet mit dem Labelschlüssel „authenticationMethodDetail“.
authenticationDetails.[].authenticationStepDateTime security_result.[].detection_fields.value Direkt aus authenticationDetails.[].authenticationStepDateTime zugeordnet, mit dem Label-Schlüssel „authenticationStepDateTime“.
authenticationDetails.[].authenticationStepRequirement security_result.[].detection_fields.value Direkt aus authenticationDetails.[].authenticationStepRequirement zugeordnet mit dem Label-Schlüssel „authenticationStepRequirement“.
authenticationDetails.[].authenticationStepResultDetail security_result.[].detection_fields.value Direkt aus authenticationDetails.[].authenticationStepResultDetail zugeordnet mit dem Label-Schlüssel „authenticationStepResultDetail“.
authenticationDetails.[].succeeded security_result.action Wenn der Wert „true“ ist, dann ALLOW, andernfalls BLOCK.
authenticationRequirement additional.fields.value.string_value Direkt aus authenticationRequirement zugeordnet mit dem Label-Schlüssel „AuthenticationRequirement“.
authenticationRequirementPolicies.[].detail security_result.detection_fields.value Direkt aus authenticationRequirementPolicies.[].detail zugeordnet mit dem Labelschlüssel „detail“.
authenticationRequirementPolicies.[].requirementProvider security_result.detection_fields.value Direkt aus authenticationRequirementPolicies.[].requirementProvider zugeordnet mit dem Label-Schlüssel „requirementProvider“.
callerIpAddress principal.ip, principal.asset.ip Direkt von callerIpAddress zugeordnet.
category metadata.description Direkt von category zugeordnet.
clientAppUsed principal.application Direkt von clientAppUsed zugeordnet.
conditionalAccessStatus additional.fields.value.string_value Direkt aus conditionalAccessStatus zugeordnet mit dem Label-Schlüssel „conditionalAccessStatus“.
correlationId network.session_id, security_result.detection_fields.value Direkt von correlationId zugeordnet. Wird auch als security_result.detection_fields.value mit dem Labelschlüssel „CorrelationId“ verwendet.
createdDateTime when Das Feld when wird aus dem Feld createdDateTime abgeleitet. Datum und Uhrzeit werden mit grok aus dem Feld createdDateTime extrahiert und dann zum Feld when kombiniert.
deviceDetail.browser network.http.user_agent Direkt von deviceDetail.browser zugeordnet.
deviceDetail.deviceId principal.asset.asset_id, principal.asset_id Direkt aus deviceDetail.deviceId zugeordnet und mit „Geräte-ID:“ versehen.
deviceDetail.displayName principal.asset.hostname Direkt von deviceDetail.displayName zugeordnet.
deviceDetail.isCompliant principal.asset.attribute.labels.value Direkt aus deviceDetail.isCompliant zugeordnet mit dem Label-Schlüssel „isCompliant“.
deviceDetail.isManaged principal.asset.attribute.labels.value Direkt zugeordnet aus deviceDetail.isManaged mit dem Label-Schlüssel „isManaged“.
deviceDetail.operatingSystem principal.platform_version Direkt von deviceDetail.operatingSystem zugeordnet.
deviceDetail.trustType principal.asset.attribute.labels.value Direkt aus deviceDetail.trustType zugeordnet mit dem Label-Schlüssel „trustType“.
durationMs additional.fields.value.string_value Direkt aus durationMs zugeordnet mit dem Label-Schlüssel „durationMs“.
event.id - Nicht gemäß Anleitung (Punkt 3) zugeordnet.
id metadata.product_log_id Direkt von id zugeordnet.
identity target.user.user_display_name Direkt aus identity übernommen, wenn sie sich von userId unterscheidet und keine E-Mail-Adresse ist.
initiatedBy.user.displayName principal.user.user_display_name Direkt von initiatedBy.user.displayName zugeordnet.
initiatedBy.user.id principal.user.userid, principal.user.windows_sid Direkt von initiatedBy.user.id zugeordnet.
initiatedBy.user.ipAddress principal.ip, principal.asset.ip Direkt von initiatedBy.user.ipAddress zugeordnet.
initiatedBy.user.userPrincipalName principal.user.email_addresses, principal.user.userid Direkt von initiatedBy.user.userPrincipalName zugeordnet. Wenn es sich um eine E-Mail-Adresse handelt, wird sie email_addresses zugeordnet, andernfalls userid.
Level security_result.severity_details, level Direkt von Level zugeordnet.
level security_result.severity_details, security_result.severity Direkt von level zugeordnet. Wird nach der Konvertierung in Großbuchstaben auch security_result.severity zugeordnet. Sonderbehandlung für die Werte „Information“, „Informational“, „0“, „4“, „Warning“, „1“, „3“, „Error“, „2“ und „Critical“.
location.city principal.location.city Direkt von location.city zugeordnet.
location.countryOrRegion principal.location.country_or_region Direkt von location.countryOrRegion zugeordnet.
location.geoCoordinates.altitude additional.fields.value.string_value Direkt aus location.geoCoordinates.altitude zugeordnet mit dem Labelschlüssel „location_geoCoordinates_altitude“.
location.geoCoordinates.latitude principal.location.region_latitude, principal.location.region_coordinates.latitude Direkt von location.geoCoordinates.latitude zugeordnet.
location.geoCoordinates.longitude principal.location.region_longitude, principal.location.region_coordinates.longitude Direkt von location.geoCoordinates.longitude zugeordnet.
location.state principal.location.state Direkt von location.state zugeordnet.
location principal.location.name Direkt von location zugeordnet.
log_type metadata.log_type Direkt von log_type zugeordnet.
networkLocationDetails.[].networkNames additional.fields.value.string_value Verkettete Werte aus networkLocationDetails.[].networkNames mit dem Labelschlüssel „networkName {index}“.
networkLocationDetails.[].networkType security_result.detection_fields.value, additional.fields.value.string_value Direkt aus networkLocationDetails.[].networkType zugeordnet mit dem Label-Schlüssel „networkType“. Wird auch als additional.fields.value.string_value mit dem Labelschlüssel „networkType {index}“ verwendet.
operationName event_type Wenn operationName „Anmeldeaktivitäten“ ist, dann USER_LOGIN. Wenn operationName „Mitglied zur Gruppe hinzufügen“ ist, dann USER_CHANGE_PERMISSIONS.
operationType security_result.action_details Direkt von operationType zugeordnet.
properties.activity security_result.summary Direkt von properties.activity zugeordnet.
properties.activityDateTime when Aus dem Feld properties.activityDateTime geparst. Wenn das Feld nicht im erwarteten Format „JJJJ-MM-TTTHH:mm:ss.SSSZ“ oder „ISO8601“-Format ist, versucht der Parser andere Formate wie „MM/TT/JJJJ HH:mm:ss A“ oder „MM/T/JJJJ HH:mm:ss A“.
properties.activityDisplayName security_result.summary Direkt von properties.activityDisplayName zugeordnet.
properties.additionalInfo network.http.user_agent, target.url Wird als JSON geparst. Wenn der Schlüssel „userAgent“ ist, wird der Wert network.http.user_agent und network.http.parsed_user_agent zugeordnet. Wenn der Schlüssel „alertUrl“ ist, ordnen Sie den Wert target.url zu.
properties.appliedConditionalAccessPolicies.[].displayName security_result.[].rule_name Direkt von properties.appliedConditionalAccessPolicies.[].displayName zugeordnet.
properties.appliedConditionalAccessPolicies.[].enforcedGrantControls security_result.[].rule_labels.value Direkt aus properties.appliedConditionalAccessPolicies.[].enforcedGrantControls zugeordnet mit dem Label-Schlüssel „applied_conditional_access_policies_enforced_grant_controls“.
properties.appliedConditionalAccessPolicies.[].enforcedSessionControls security_result.[].rule_labels.value Direkt zugeordnet von properties.appliedConditionalAccessPolicies.[].enforcedSessionControls mit dem Label-Schlüssel „applied_conditional_access_policies_enforced_session_controls“.
properties.appliedConditionalAccessPolicies.[].id security_result.[].rule_id Direkt von properties.appliedConditionalAccessPolicies.[].id zugeordnet.
properties.appliedConditionalAccessPolicies.[].result security_result.[].detection_fields.value Direkt aus properties.appliedConditionalAccessPolicies.[].result zugeordnet mit dem Label-Schlüssel „Result“.
properties.appId appId Direkt von properties.appId zugeordnet.
properties.appDisplayName target.application Direkt von properties.appDisplayName zugeordnet.
properties.authenticationDetails.[].authenticationMethod security_result.detection_fields.value Direkt zugeordnet aus properties.authenticationDetails.[].authenticationMethod mit dem Label-Schlüssel „authenticationMethod“.
properties.authenticationDetails.[].authenticationMethodDetail security_result.detection_fields.value Direkt aus properties.authenticationDetails.[].authenticationMethodDetail zugeordnet mit dem Labelschlüssel „authenticationMethodDetail“.
properties.authenticationDetails.[].authenticationStepDateTime security_result.detection_fields.value Direkt aus properties.authenticationDetails.[].authenticationStepDateTime zugeordnet, mit dem Label-Schlüssel „authenticationStepDateTime“.
properties.authenticationDetails.[].authenticationStepRequirement security_result.detection_fields.value Direkt aus properties.authenticationDetails.[].authenticationStepRequirement zugeordnet mit dem Label-Schlüssel „authenticationStepRequirement“.
properties.authenticationDetails.[].authenticationStepResultDetail security_result.detection_fields.value Direkt aus properties.authenticationDetails.[].authenticationStepResultDetail zugeordnet mit dem Label-Schlüssel „authenticationStepResultDetail“.
properties.authenticationRequirement additional.fields.value.string_value Direkt aus properties.authenticationRequirement zugeordnet mit dem Label-Schlüssel „AuthenticationRequirement“.
properties.authenticationRequirementPolicies.[].detail security_result.detection_fields.value Direkt aus properties.authenticationRequirementPolicies.[].detail zugeordnet mit dem Labelschlüssel „detail“.
properties.authenticationRequirementPolicies.[].requirementProvider security_result.detection_fields.value Direkt aus properties.authenticationRequirementPolicies.[].requirementProvider zugeordnet mit dem Label-Schlüssel „requirementProvider“.
properties.clientAppUsed principal.application Direkt von properties.clientAppUsed zugeordnet.
properties.conditionalAccessStatus additional.fields.value.string_value Direkt aus properties.conditionalAccessStatus zugeordnet mit dem Label-Schlüssel „conditionalAccessStatus“.
properties.crossTenantAccessType additional.fields.value.string_value Direkt zugeordnet von properties.crossTenantAccessType mit dem Label-Schlüssel „crossTenantAccessType“.
properties.detectedDateTime additional.fields.value.string_value Direkt aus properties.detectedDateTime zugeordnet, wobei der Label-Schlüssel „detectedDateTime“ ist.
properties.detectionTimingType additional.fields.value.string_value Direkt aus properties.detectionTimingType zugeordnet, wobei der Labelschlüssel „detectionTimingType“ ist.
properties.homeTenantId additional.fields.value.string_value Direkt aus properties.homeTenantId zugeordnet mit dem Label-Schlüssel „homeTenantId“.
properties.id metadata.product_log_id Direkt von properties.id zugeordnet.
properties.initiatedBy.user.displayName principal.user.user_display_name Direkt von properties.initiatedBy.user.displayName zugeordnet.
properties.initiatedBy.user.id principal.user.windows_sid Direkt von properties.initiatedBy.user.id zugeordnet.
properties.initiatedBy.user.ipAddress principal.ip, principal.asset.ip Direkt von properties.initiatedBy.user.ipAddress zugeordnet.
properties.initiatedBy.user.userPrincipalName principal.user.email_addresses, principal.user.userid Direkt von properties.initiatedBy.user.userPrincipalName zugeordnet. Wenn es sich um eine E-Mail-Adresse handelt, wird sie email_addresses zugeordnet, andernfalls userid.
properties.ipAddress principal.ip, principal.asset.ip Direkt von properties.ipAddress zugeordnet.
properties.isGuest additional.fields.value.string_value Direkt aus properties.isGuest zugeordnet mit dem Label-Schlüssel „isGuest“.
properties.isDeleted additional.fields.value.string_value Direkt aus properties.isDeleted zugeordnet, mit dem Label-Schlüssel „isDeleted“.
properties.isProcessing additional.fields.value.string_value Direkt aus properties.isProcessing zugeordnet mit dem Label-Schlüssel „isProcessing“.
properties.lastUpdatedDateTime additional.fields.value.string_value Direkt aus properties.lastUpdatedDateTime zugeordnet, mit dem Label-Schlüssel „lastUpdatedDateTime“.
properties.location.city principal.location.city Direkt von properties.location.city zugeordnet.
properties.location.countryOrRegion principal.location.country_or_region Direkt von properties.location.countryOrRegion zugeordnet.
properties.location.geoCoordinates.latitude principal.location.region_latitude, principal.location.region_coordinates.latitude Direkt von properties.location.geoCoordinates.latitude zugeordnet.
properties.location.geoCoordinates.longitude principal.location.region_longitude, principal.location.region_coordinates.longitude Direkt von properties.location.geoCoordinates.longitude zugeordnet.
properties.location.state principal.location.state Direkt von properties.location.state zugeordnet.
properties.networkLocationDetails.[].networkNames additional.fields.value.string_value Verkettete Werte aus properties.networkLocationDetails.[].networkNames mit dem Labelschlüssel „properties networkName {index}“.
properties.networkLocationDetails.[].networkType additional.fields.value.string_value Direkt aus properties.networkLocationDetails.[].networkType zugeordnet mit dem Label-Schlüssel „properties networkType {index}“.
properties.riskEventType additional.fields.value.string_value Direkt aus properties.riskEventType zugeordnet, wobei der Label-Schlüssel „riskEventType“ ist.
properties.riskLastUpdatedDateTime additional.fields.value.string_value Direkt aus properties.riskLastUpdatedDateTime zugeordnet, mit dem Label-Schlüssel „riskLastUpdatedDateTime“.
properties.riskLevel additional.fields.value.string_value Direkt aus properties.riskLevel zugeordnet, wobei der Labelschlüssel „riskLevel“ ist.
properties.riskLevelDuringSignIn additional.fields.value.string_value Direkt aus properties.riskLevelDuringSignIn mit dem Label-Schlüssel „riskLevelDuringSignIn“ zugeordnet.
properties.riskState additional.fields.value.string_value Direkt aus properties.riskState zugeordnet mit dem Label-Schlüssel „riskState“.
properties.riskDetail additional.fields.value.string_value Direkt aus properties.riskDetail zugeordnet, mit dem Label-Schlüssel „riskDetail“.
properties.riskType additional.fields.value.string_value Direkt aus properties.riskType zugeordnet, wobei der Labelschlüssel „riskType“ ist.
properties.source additional.fields.value.string_value Direkt aus properties.source zugeordnet, wobei der Labelschlüssel „source“ ist.
properties.targetResources.0.id target.user.product_object_id Direkt von properties.targetResources.0.id zugeordnet.
properties.targetResources.modifiedProperties.0.newValue target.group.product_object_id Direkt von properties.targetResources.modifiedProperties.0.newValue zugeordnet.
properties.tokenIssuerType additional.fields.value.string_value Direkt aus properties.tokenIssuerType zugeordnet, wobei der Labelschlüssel „tokenIssuerType“ ist.
properties.userAgent network.http.user_agent, network.http.parsed_user_agent Direkt von properties.userAgent zugeordnet.
properties.userDisplayName target.user.user_display_name Direkt von properties.userDisplayName zugeordnet.
properties.userId target.user.product_object_id Direkt von properties.userId zugeordnet.
properties.userPrincipalName target.user.userid, target.user.email_addresses Direkt von properties.userPrincipalName zugeordnet. Wenn es sich um eine E-Mail-Adresse handelt, wird sie email_addresses zugeordnet, andernfalls userid.
result security_result.action, security_result.action_details Wenn result „success“ ist, dann ALLOW.
resultDescription security_result.description Direkt von resultDescription zugeordnet.
resultSignature additional.fields.value.string_value Direkt zugeordnet aus resultSignature mit dem Label-Schlüssel „resultSignature“.
resultType security_result.rule_id, action, security_result.summary Wenn resultType gleich „0“ ist, dann ALLOW und „Erfolgreiche Anmeldung“. Andernfalls BLOCK und „Failed login occurred“ (Fehler bei der Anmeldung).
resourceId target.resource.id, target.resource.product_object_id Direkt von resourceId zugeordnet.
resourceDisplayName target.resource.name, appDisplayName Direkt von resourceDisplayName zugeordnet.
riskDetail additional.fields.value.string_value Direkt aus riskDetail zugeordnet, mit dem Label-Schlüssel „riskDetail“.
riskEventTypes.[]. additional.fields.value.string_value, additional.fields.value.list_value.values.string_value Werte werden einer Liste mit dem Schlüssel „riskEventTypes“ in additional.fields hinzugefügt. Außerdem wird jeder Wert als separates Feld mit dem Schlüssel „riskEventType“ in additional.fields hinzugefügt.
riskEventTypes_v2.[]. additional.fields.value.list_value.values.string_value Werte werden einer Liste mit dem Schlüssel „riskEventTypes_v2“ in additional.fields hinzugefügt.
riskLevelAggregated additional.fields.value.string_value Direkt aus riskLevelAggregated mit dem Label-Schlüssel „riskLevelAggregated“ zugeordnet.
riskLevelDuringSignIn additional.fields.value.string_value Direkt aus riskLevelDuringSignIn mit dem Label-Schlüssel „riskLevelDuringSignIn“ zugeordnet.
riskState additional.fields.value.string_value Direkt aus riskState zugeordnet mit dem Label-Schlüssel „riskState“.
status.additionalDetails security_result.description Direkt von status.additionalDetails zugeordnet.
status.errorCode security_result.rule_id, errorCode Direkt von status.errorCode zugeordnet.
target.displayName resourceDisplayName Direkt von target.displayName zugeordnet.
target.id resourceId Direkt von target.id zugeordnet.
target.modifiedProperties.[].displayName target.resource.attribute.labels.key Direkt von target.modifiedProperties.[].displayName zugeordnet.
target.modifiedProperties.[].newValue target.resource.attribute.labels.value, target.resource.product_object_id Direkt von target.modifiedProperties.[].newValue zugeordnet.
target.modifiedProperties.[].oldValue target.resource.attribute.labels.value Direkt von target.modifiedProperties.[].oldValue zugeordnet.
target.type target.resource.type Direkt von target.type zugeordnet.
tenantId metadata.product_deployment_id Direkt von tenantId zugeordnet.
time when Das Feld when wird aus dem Feld time abgeleitet. Datum und Uhrzeit werden mit grok aus dem Feld time extrahiert und dann zum Feld when kombiniert.
userAgent network.http.user_agent, network.http.parsed_user_agent Direkt von userAgent zugeordnet.
userDisplayName target.user.user_display_name Direkt von userDisplayName zugeordnet.
userId target.user.product_object_id Direkt von userId zugeordnet.
userPrincipalName target.user.userid, principal.administrative_domain, target.user.email_addresses Direkt von userPrincipalName zugeordnet. Wenn es sich um eine E-Mail-Adresse handelt, wird sie email_addresses zugeordnet. Der Domainteil wird extrahiert und principal.administrative_domain zugeordnet. Andernfalls wird sie auf userid abgebildet.
(Parserlogik) event.idm.is_alert, event.idm.is_significant Auf „true“ setzen, wenn die Stufe „Kritisch“ ist.
(Parserlogik) event.idm.read_only_udm.metadata.event_type Auf „USER_LOGIN“ festlegen, wenn has_target_user „true“ ist. Auf „USER_UNCATEGORIZED“ festgelegt, wenn has_principal_user „true“ ist. Wird auf „STATUS_UPDATE“ gesetzt, wenn has_principal „true“ ist. Andernfalls legen Sie den Wert auf „GENERIC_EVENT“ fest.
(Parserlogik) event.idm.read_only_udm.metadata.vendor_name Legen Sie diesen Wert auf „Microsoft“ fest.
(Parserlogik) event.idm.read_only_udm.metadata.product_name Legen Sie diesen Wert auf „Azure AD“ fest.
(Parserlogik) event.idm.read_only_udm.extensions.auth.type Legen Sie diesen Wert auf „SSO“ fest.
(Parserlogik) event.idm.read_only_udm.extensions.auth.mechanism Auf „INTERACTIVE“ setzen, wenn isInteractive „true“ ist. Andernfalls auf „MECHANISM_OTHER“ festlegen.
(Parserlogik) security_result.action Auf ALLOW gesetzt, wenn das Ergebnis erfolgreich ist.
(Parserlogik) security_result.action Auf ALLOW gesetzt, wenn resultType = 0.
(Parserlogik) security_result.action Auf BLOCK festlegen, wenn resultType nicht 0 und nicht „“ ist.
(Parserlogik) security_result.category Wird auf „AUTH_VIOLATION“ festgelegt, wenn „resultType“ nicht 0 und nicht „“ ist.
(Parserlogik) security_result.description Auf „Group membership modified“ (Gruppenmitgliedschaft geändert) festgelegt, wenn „operationName“ „Add member to group“ (Mitglied zur Gruppe hinzufügen) ist und das Ergebnis „success“ (erfolgreich) lautet.
(Parserlogik) security_result.priority Wird auf „MEDIUM_PRIORITY“ festgelegt, wenn „properties.riskLevelDuringSignIn“ „medium“ ist.
(Parserlogik) security_result.summary Wird auf „Successful login occurred“ (Erfolgreiche Anmeldung) gesetzt, wenn „resultType“ = 0.
(Parserlogik) security_result.summary Wird auf „Failed login occurred“ (Fehler bei der Anmeldung) gesetzt, wenn resultType nicht 0 und nicht „“ ist.
(Parserlogik) security_result.summary Wird auf „properties.activityDisplayName“ festgelegt, falls vorhanden.
(Parserlogik) security_result.severity Auf INFORMATIONAL festlegen, wenn die Stufe „Information“, „Informational“, „0“ oder „4“ ist. Auf MEDIUM festlegen, wenn das Niveau „Warnung“, „1“ oder „3“ ist. Wird auf ERROR gesetzt, wenn der Wert „Error“ oder „2“ ist. Auf „CRITICAL“ festgelegt, wenn die Stufe „Kritisch“ ist.
(Parserlogik) security_result.severity Wird auf ERROR gesetzt, wenn resultType nicht 0 und nicht „“ ist.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten