Raccogliere i log delle attività di Microsoft Graph
Panoramica
Questo parser estrae i campi dai log delle attività di Microsoft Graph, trasformandoli nel modello di dati unificato (UDM). Inizializza i campi UDM, analizza il payload, estrae i timestamp, mappa varie proprietà ai campi UDM, gestisce gli indirizzi IP e le porte e classifica il tipo di evento in base alla presenza di informazioni principali e di rete.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di disporre dell'accesso privilegiato a Microsoft Entra ID e agli account di archiviazione Azure.
Configura l'account di archiviazione Azure
- Nella console di Azure, cerca gli account di archiviazione.
- Fai clic su Crea.
- Specifica i valori per i seguenti parametri di input:
- Abbonamento: seleziona l'abbonamento.
- Gruppo di risorse: seleziona il gruppo di risorse.
- Regione: seleziona la regione.
- Rendimento: seleziona il livello di rendimento che preferisci (è consigliato lo standard).
- Redundanza: seleziona il livello di ridondanza che preferisci (è consigliato GRS o LRS).
- Nome account di archiviazione: inserisci un nome per il nuovo account di archiviazione.
- Fai clic su Review + create (Rivedi e crea).
- Esamina la panoramica dell'account e fai clic su Crea.
- Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Chiavi di accesso in Sicurezza + reti.
- Fai clic su Mostra accanto a chiave1 o chiave2.
- Fai clic su Copia negli appunti per copiare la chiave.
- Salva la chiave in un luogo sicuro per riferimento futuro.
- Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Endpoint in Impostazioni.
- Fai clic su Copia negli appunti per copiare l'URL dell'endpoint del servizio Blob (ad esempio https://
.blob.core.windows.net ). - Salva l'URL dell'endpoint in una posizione sicura per riferimento futuro.
Configurare l'esportazione dei log delle attività di Microsoft Graph nell'account di archiviazione
- Nella console di Azure, cerca Entra ID.
- Seleziona Monitoraggio > Impostazioni di diagnostica.
- Fai clic su + Aggiungi impostazione di diagnostica.
- Assegna all'impostazione un nome univoco (ad esempio ms-graph-activity).
- Seleziona la categoria MicrosoftGraphActivityLog che vuoi esportare in Google SecOps.
- In Dettagli destinazione, seleziona Archivia in un account di archiviazione.
- Seleziona l'abbonamento e l'account di archiviazione che hai creato nel passaggio precedente.
- Fai clic su Salva.
Configurare un feed in Google SecOps per importare i log delle attività di Microsoft Graph
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log attività di Microsoft Graph).
- Seleziona Microsoft Azure Blob Storage come Tipo di origine.
- Seleziona Log delle attività di Microsoft Graph come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
URI Azure: l'URL dell'endpoint blob.
ENDPOINT_URL/BLOB_NAME
Sostituisci quanto segue:
ENDPOINT_URL
: l'URL dell'endpoint blob (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: il nome del blob (ad esempio insights-logs-)
L'URI è un: seleziona il tipo di URI in base alla configurazione dello stream di log (File singolo | Directory | Directory che include sottodirectory).
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
- Chiave condivisa: la chiave di accesso ad Azure Blob Storage.
- Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
Fai clic su Avanti.
Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
callerIpAddress |
principal.asset.ip |
Il campo del log non elaborato callerIpAddress viene copiato nel campo UDM. |
callerIpAddress |
principal.ip |
Il campo del log non elaborato callerIpAddress viene copiato nel campo UDM. |
category |
security_result.category_details |
Il campo del log non elaborato category viene copiato nel campo UDM. |
correlationId |
security_result.detection_fields.value |
Il campo del log non elaborato correlationId viene copiato nel campo UDM, dove la chiave è correlationId . |
Level |
security_result.detection_fields.value |
Il campo del log non elaborato Level viene convertito in stringa e copiato nel campo UDM, dove la chiave è Level . |
operationName |
metadata.product_event_type |
Il campo del log non elaborato operationName viene copiato nel campo UDM. |
operationVersion |
additional.fields.value.string_value |
Il campo del log non elaborato operationVersion viene copiato nel campo UDM, dove la chiave è operationVersion . |
properties.apiVersion |
metadata.product_version |
Il campo del log non elaborato properties.apiVersion viene copiato nel campo UDM. |
properties.appId |
target.resource.product_object_id |
Il campo del log non elaborato properties.appId viene copiato nel campo UDM. |
properties.atContent |
additional.fields.value.string_value |
Il campo del log non elaborato properties.atContent viene copiato nel campo UDM, dove la chiave è atContent . |
properties.clientAuthMethod |
extensions.auth.auth_details |
In base al valore di properties.clientAuthMethod , il campo UDM viene impostato su "Client pubblico" (0), "ID client/segreto client" (1) o "Certificato client" (2). |
properties.clientRequestId |
additional.fields.value.string_value |
Il campo del log non elaborato properties.clientRequestId viene copiato nel campo UDM, dove la chiave è clientRequestId . |
properties.durationMs |
network.session_duration.seconds |
Il campo del log non elaborato properties.durationMs viene convertito da millisecondi in secondi e copiato nel campo UDM. |
properties.identityProvider |
security_result.detection_fields.value |
Il campo del log non elaborato properties.identityProvider viene copiato nel campo UDM, dove la chiave è identityProvider . |
properties.ipAddress |
principal.asset.ip |
L'indirizzo IP del campo del log non elaborato properties.ipAddress viene estratto e copiato nel campo UDM. |
properties.ipAddress |
principal.ip |
L'indirizzo IP del campo del log non elaborato properties.ipAddress viene estratto e copiato nel campo UDM. |
properties.location |
principal.location.name |
Il campo del log non elaborato properties.location viene copiato nel campo UDM. |
properties.operationId |
security_result.detection_fields.value |
Il campo del log non elaborato properties.operationId viene copiato nel campo UDM, dove la chiave è operationId . |
properties.requestMethod |
network.http.method |
Il campo del log non elaborato properties.requestMethod viene copiato nel campo UDM. |
properties.requestId |
metadata.product_log_id |
Il campo del log non elaborato properties.requestId viene copiato nel campo UDM. |
properties.responseSizeBytes |
network.received_bytes |
Il campo del log non elaborato properties.responseSizeBytes viene convertito in un numero intero senza segno e copiato nel campo UDM. |
properties.responseStatusCode |
network.http.response_code |
Il campo del log non elaborato properties.responseStatusCode viene convertito in un numero intero e copiato nel campo UDM. |
properties.roles |
additional.fields.value.string_value |
Il campo del log non elaborato properties.roles viene copiato nel campo UDM, dove la chiave è roles . |
properties.scopes |
additional.fields.value.string_value |
Il campo del log non elaborato properties.scopes viene copiato nel campo UDM, dove la chiave è Scopes . |
properties.servicePrincipalId |
principal.user.userid |
Il campo del log non elaborato properties.servicePrincipalId viene copiato nel campo UDM se properties.userId è vuoto. |
properties.signInActivityId |
network.session_id |
Il campo del log non elaborato properties.signInActivityId viene copiato nel campo UDM. |
properties.tenantId |
metadata.product_deployment_id |
Il campo del log non elaborato properties.tenantId viene copiato nel campo UDM. |
properties.tokenIssuedAt |
additional.fields.value.string_value |
Il campo del log non elaborato properties.tokenIssuedAt viene copiato nel campo UDM, dove la chiave è tokenIssuedAt . |
properties.userAgent |
network.http.user_agent |
Il campo del log non elaborato properties.userAgent viene copiato nel campo UDM. |
properties.userId |
principal.user.userid |
Il campo del log non elaborato properties.userId viene copiato nel campo UDM. |
properties.wids |
security_result.detection_fields.value |
Il campo del log non elaborato properties.wids viene copiato nel campo UDM, dove la chiave è wids . |
resourceId |
target.resource.attribute.labels.value |
Il campo del log non elaborato resourceId viene copiato nel campo UDM, dove la chiave è Resource ID . |
resultSignature |
additional.fields.value.string_value |
Il campo del log non elaborato resultSignature viene copiato nel campo UDM, dove la chiave è resultSignature . |
time |
metadata.event_timestamp |
Il campo del log non elaborato time viene analizzato e convertito in un timestamp e copiato nel campo UDM. Il campo UDM event.idm.read_only_udm.metadata.event_type è impostato su "NETWORK_HTTP" se has_principal è true e network.http non è vuoto, su "STATUS_UPDATE" se has_principal è true e network.http è vuoto oppure su "GENERIC_EVENT" in caso contrario. Il campo UDM è impostato su "Microsoft Graph". Il campo UDM è impostato su "Microsoft". |
Modifiche
2024-05-27
- Imposta "metadata.vendor_name" su "Microsoft" e "metadata.product_name" su "Microsoft Graph".
2024-03-01
- Parser appena creato.