Raccogliere i log delle attività di Microsoft Graph
Panoramica
Questo parser estrae i campi dai log attività di Microsoft Graph, trasformandoli nel modello Unified Data Model (UDM). Inizializza i campi UDM, analizza il payload, estrae i timestamp, mappa varie proprietà ai campi UDM, gestisce indirizzi IP e porte e classifica il tipo di evento in base alla presenza di informazioni principali e di rete.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps.
- Accesso con privilegi a Microsoft Entra ID e agli account di archiviazione Azure.
Configura l'account di archiviazione Azure
- Nella console 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).
- Ridondanza: seleziona il livello di ridondanza che preferisci (consigliamo GRS o LRS).
- Nome account di archiviazione: inserisci un nome per il nuovo account di archiviazione.
- Fai clic su Review + create (Rivedi e crea).
- Controlla la panoramica dell'account e fai clic su Crea.
- Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Chiavi di accesso in Sicurezza e networking.
- Fai clic su Mostra accanto a key1 o key2.
- Fai clic su Copia negli appunti per copiare la chiave.
- Salva la chiave in un luogo sicuro per riferimento futuro.
- Nella pagina Panoramica 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 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 il tuo abbonamento e l'account di archiviazione che hai creato nel passaggio precedente.
- Fai clic su Salva.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed
- Hub dei contenuti > Pacchetti di contenuti
Configura i feed da Impostazioni SIEM > Feed
Per configurare un feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed, ad esempio Microsoft Graph Activity Logs.
- Seleziona Microsoft Azure Blob Storage come Tipo di origine.
- Seleziona Log attività di Microsoft Graph come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
URI di 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-)
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.
Fai clic su Avanti.
Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Configurare i feed dall'hub dei contenuti
Specifica i valori per i seguenti campi:
- URI di 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-)
- 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.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
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 dei log non elaborati 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 dei log non elaborati 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 è impostato su "Public Client" (0), "Client ID/Client Secret" (ID client/Client Secret) (1) o "Client Certificate" (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 dei log non elaborati properties.durationMs viene convertito da millisecondi a 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 log non elaborato properties.ipAddress viene estratto e copiato nel campo UDM. |
properties.ipAddress |
principal.ip |
L'indirizzo IP del campo 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 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 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 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 dei log non elaborati resultSignature viene copiato nel campo UDM, dove la chiave è resultSignature . |
time |
metadata.event_timestamp |
Il campo 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 o su "GENERIC_EVENT" in caso contrario. Il campo UDM è impostato su "Microsoft Graph". Il campo UDM è impostato su "Microsoft". |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.