Microsoft Graph-Aktivitätsprotokolle erfassen
Übersicht
Dieser Parser extrahiert Felder aus Microsoft Graph-Aktivitätslogs und wandelt sie in das Unified Data Model (UDM) um. Es initialisiert UDM-Felder, parst die Nutzlast, extrahiert Zeitstempel, ordnet verschiedene Eigenschaften UDM-Feldern zu, verarbeitet IP-Adressen und Ports und kategorisiert den Ereignistyp anhand der Anwesenheit von Haupt- und Netzwerkinformationen.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz.
- Privilegierter Zugriff auf Microsoft Entra ID- und Azure-Speicherkonten.
Azure-Speicherkonto konfigurieren
- Suchen Sie in der Azure-Konsole nach Speicherkonten.
- Klicken Sie auf Erstellen.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Abo: Wählen Sie das Abo aus.
- Ressourcengruppe: Wählen Sie die Ressourcengruppe aus.
- Region: Wählen Sie die Region aus.
- Leistung: Wählen Sie das gewünschte Leistungsniveau aus (Standard wird empfohlen).
- Redundanz: Wählen Sie die gewünschte Redundanzstufe aus (GRS oder LRS wird empfohlen).
- Storage-Kontoname: Geben Sie einen Namen für das neue Speicherkonto ein.
- Klicken Sie auf Überprüfen + Erstellen.
- Sehen Sie sich die Übersicht des Kontos an und klicken Sie auf Erstellen.
- Wählen Sie auf der Seite Storage Account Overview (Speicherkonto – Übersicht) im Untermenü Security + networking (Sicherheit + Netzwerk) die Option Access keys (Zugriffsschlüssel) aus.
- Klicken Sie neben key1 oder key2 auf Anzeigen.
- Klicken Sie auf In die Zwischenablage kopieren, um den Schlüssel zu kopieren.
- Bewahren Sie den Schlüssel an einem sicheren Ort auf, damit Sie später darauf zugreifen können.
- Wählen Sie auf der Seite Storage Account Overview (Speicherkontoübersicht) im Untermenü Settings (Einstellungen) die Option Endpoints (Endpunkte) aus.
- Klicken Sie auf In die Zwischenablage kopieren, um die Endpunkt-URL des Blob-Dienstes zu kopieren (z. B. https://
.blob.core.windows.net ). - Speichern Sie die Endpunkt-URL an einem sicheren Ort, damit Sie später darauf zugreifen können.
Microsoft Graph-Aktivitätslogexport in Speicherkonto konfigurieren
- Suchen Sie in der Azure-Konsole nach Entra ID.
- Wählen Sie Monitoring > Diagnoseeinstellungen aus.
- Klicken Sie auf + Diagnoseeinstellung hinzufügen.
- Geben Sie der Einstellung einen eindeutigen Namen, z. B. ms-graph-activity.
- Wählen Sie die Kategorie MicrosoftGraphActivityLog aus, die Sie in Google SecOps exportieren möchten.
- Wählen Sie unter Zieldetails die Option In einem Speicherkonto archivieren aus.
- Wählen Sie Ihr Abo und das Speicherkonto aus, das Sie im vorherigen Schritt erstellt haben.
- Klicken Sie auf Speichern.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über „SIEM-Einstellungen“ > „Feeds“ einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. Microsoft Graph Activity Logs (Microsoft Graph-Aktivitätsprotokolle).
- Wählen Sie Microsoft Azure Blob Storage als Quelltyp aus.
- Wählen Sie Microsoft Graph-Aktivitätsprotokolle als Logtyp aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
Azure-URI: die Blob-Endpunkt-URL.
ENDPOINT_URL/BLOB_NAME
Ersetzen Sie Folgendes:
ENDPOINT_URL
: Die Blob-Endpunkt-URL (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: der Name des Blobs (z. B. insights-logs-)
URI ist ein: Wählen Sie den URI-Typ entsprechend der Logstream-Konfiguration aus (Einzelne Datei | Verzeichnis | Verzeichnis mit Unterverzeichnissen).
Optionen zum Löschen von Quellen: Wählen Sie die gewünschte Option aus.
- Freigegebener Schlüssel: Der Zugriffsschlüssel für Azure Blob Storage.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- Azure-URI: die Blob-Endpunkt-URL.
ENDPOINT_URL/BLOB_NAME
Ersetzen Sie Folgendes:ENDPOINT_URL
: Die Blob-Endpunkt-URL (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: der Name des Blobs (z. B. insights-logs-)
- URI ist ein: Wählen Sie den URI-Typ entsprechend der Logstream-Konfiguration aus (Einzelne Datei | Verzeichnis | Verzeichnis mit Unterverzeichnissen).
- Optionen zum Löschen von Quellen: Wählen Sie die gewünschte Option aus.
- Freigegebener Schlüssel: Der Zugriffsschlüssel für Azure Blob Storage.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
callerIpAddress |
principal.asset.ip |
Das Rohlogfeld callerIpAddress wird in das UDM-Feld kopiert. |
callerIpAddress |
principal.ip |
Das Rohlogfeld callerIpAddress wird in das UDM-Feld kopiert. |
category |
security_result.category_details |
Das Rohlogfeld category wird in das UDM-Feld kopiert. |
correlationId |
security_result.detection_fields.value |
Das Rohlogfeld correlationId wird in das UDM-Feld kopiert, wobei der Schlüssel correlationId ist. |
Level |
security_result.detection_fields.value |
Das Rohlogfeld Level wird in einen String umgewandelt und in das UDM-Feld kopiert, dessen Schlüssel Level ist. |
operationName |
metadata.product_event_type |
Das Rohlogfeld operationName wird in das UDM-Feld kopiert. |
operationVersion |
additional.fields.value.string_value |
Das Rohlogfeld operationVersion wird in das UDM-Feld kopiert, wobei der Schlüssel operationVersion ist. |
properties.apiVersion |
metadata.product_version |
Das Rohlogfeld properties.apiVersion wird in das UDM-Feld kopiert. |
properties.appId |
target.resource.product_object_id |
Das Rohlogfeld properties.appId wird in das UDM-Feld kopiert. |
properties.atContent |
additional.fields.value.string_value |
Das Rohlogfeld properties.atContent wird in das UDM-Feld kopiert, wobei der Schlüssel atContent ist. |
properties.clientAuthMethod |
extensions.auth.auth_details |
Basierend auf dem Wert von properties.clientAuthMethod wird das UDM-Feld auf „Public Client“ (0), „Client ID/Client Secret“ (1) oder „Client Certificate“ (2) festgelegt. |
properties.clientRequestId |
additional.fields.value.string_value |
Das Rohlogfeld properties.clientRequestId wird in das UDM-Feld kopiert, wobei der Schlüssel clientRequestId ist. |
properties.durationMs |
network.session_duration.seconds |
Das Rohlogfeld properties.durationMs wird von Millisekunden in Sekunden umgerechnet und in das UDM-Feld kopiert. |
properties.identityProvider |
security_result.detection_fields.value |
Das Rohlogfeld properties.identityProvider wird in das UDM-Feld kopiert, wobei der Schlüssel identityProvider ist. |
properties.ipAddress |
principal.asset.ip |
Die IP-Adresse aus dem Rohlogfeld properties.ipAddress wird extrahiert und in das UDM-Feld kopiert. |
properties.ipAddress |
principal.ip |
Die IP-Adresse aus dem Rohlogfeld properties.ipAddress wird extrahiert und in das UDM-Feld kopiert. |
properties.location |
principal.location.name |
Das Rohlogfeld properties.location wird in das UDM-Feld kopiert. |
properties.operationId |
security_result.detection_fields.value |
Das Rohlogfeld properties.operationId wird in das UDM-Feld kopiert, wobei der Schlüssel operationId ist. |
properties.requestMethod |
network.http.method |
Das Rohlogfeld properties.requestMethod wird in das UDM-Feld kopiert. |
properties.requestId |
metadata.product_log_id |
Das Rohlogfeld properties.requestId wird in das UDM-Feld kopiert. |
properties.responseSizeBytes |
network.received_bytes |
Das Rohlogfeld properties.responseSizeBytes wird in eine vorzeichenlose Ganzzahl konvertiert und in das UDM-Feld kopiert. |
properties.responseStatusCode |
network.http.response_code |
Das Rohlogfeld properties.responseStatusCode wird in eine Ganzzahl konvertiert und in das UDM-Feld kopiert. |
properties.roles |
additional.fields.value.string_value |
Das Rohlogfeld properties.roles wird in das UDM-Feld kopiert, wobei der Schlüssel roles ist. |
properties.scopes |
additional.fields.value.string_value |
Das Rohlogfeld properties.scopes wird in das UDM-Feld kopiert, wobei der Schlüssel Scopes ist. |
properties.servicePrincipalId |
principal.user.userid |
Das Rohlogfeld properties.servicePrincipalId wird in das UDM-Feld kopiert, wenn properties.userId leer ist. |
properties.signInActivityId |
network.session_id |
Das Rohlogfeld properties.signInActivityId wird in das UDM-Feld kopiert. |
properties.tenantId |
metadata.product_deployment_id |
Das Rohlogfeld properties.tenantId wird in das UDM-Feld kopiert. |
properties.tokenIssuedAt |
additional.fields.value.string_value |
Das Rohlogfeld properties.tokenIssuedAt wird in das UDM-Feld kopiert, wobei der Schlüssel tokenIssuedAt ist. |
properties.userAgent |
network.http.user_agent |
Das Rohlogfeld properties.userAgent wird in das UDM-Feld kopiert. |
properties.userId |
principal.user.userid |
Das Rohlogfeld properties.userId wird in das UDM-Feld kopiert. |
properties.wids |
security_result.detection_fields.value |
Das Rohlogfeld properties.wids wird in das UDM-Feld kopiert, wobei der Schlüssel wids ist. |
resourceId |
target.resource.attribute.labels.value |
Das Rohlogfeld resourceId wird in das UDM-Feld kopiert, wobei der Schlüssel Resource ID ist. |
resultSignature |
additional.fields.value.string_value |
Das Rohlogfeld resultSignature wird in das UDM-Feld kopiert, wobei der Schlüssel resultSignature ist. |
time |
metadata.event_timestamp |
Das Rohlogfeld time wird geparst und in einen Zeitstempel umgewandelt und in das UDM-Feld kopiert. Das UDM-Feld event.idm.read_only_udm.metadata.event_type wird auf „NETWORK_HTTP“ gesetzt, wenn has_principal „true“ ist und network.http nicht leer ist, auf „STATUS_UPDATE“, wenn has_principal „true“ ist und network.http leer ist, und andernfalls auf „GENERIC_EVENT“. Das UDM-Feld ist auf „Microsoft Graph“ gesetzt. Das UDM-Feld ist auf „Microsoft“ gesetzt. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten