Raccogli i log di Oracle Cloud Infrastructure - Oracle Cloud Guard

Supportato in:

Questo documento spiega come configurare Oracle Cloud Infrastructure Cloud Guard per inviare i log a Google Security Operations utilizzando i webhook.

Oracle Cloud Guard è un servizio di sicurezza nativo del cloud che monitora, identifica e contribuisce a mantenere una solida postura di sicurezza su Oracle Cloud Infrastructure (OCI). Cloud Guard esamina le risorse OCI per individuare punti deboli della sicurezza relativi alla configurazione e rileva attività anomale. Quando Cloud Guard rileva una deviazione da una regola del rilevatore, crea un evento Problema che fornisce un monitoraggio completo della sicurezza nella tua tenancy OCI. Questa integrazione utilizza OCI Events Service e OCI Functions per inoltrare gli eventi relativi ai problemi di Cloud Guard a Google SecOps quasi in tempo reale.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Una tenancy Oracle Cloud Infrastructure attiva con Cloud Guard abilitato
  • Accesso amministrativo a Oracle Cloud Infrastructure Console
  • Autorizzazioni per creare e gestire applicazioni OCI Functions
  • Autorizzazioni per creare regole di OCI Events e argomenti di Notifications
  • Accesso a OCI Cloud Shell o a un ambiente locale con Fn Project CLI installata
  • Docker installato (per creare funzioni OCI localmente)
  • Accesso alla Google Cloud Console (per la creazione della chiave API)

Crea un feed webhook in Google SecOps

Crea il feed

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed di notizie.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio OCI Cloud Guard Problems).
  5. Seleziona Webhook come Tipo di origine.
  6. Seleziona Oracle Cloud Infrastructure - Oracle Cloud Guard come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:
    • Delimitatore di suddivisione (facoltativo): lascia vuoto (ogni chiamata della funzione invia un singolo evento).
    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset
    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed
  9. Fai clic su Avanti.
  10. Controlla la nuova configurazione del feed di notizie nella schermata Finalizza, quindi fai clic su Invia.

Genera e salva la chiave segreta

Dopo aver creato il feed, devi generare una chiave segreta per l'autenticazione:

  1. Nella pagina dei dettagli del feed, fai clic su Genera chiave segreta.
  2. Una finestra di dialogo mostra la chiave segreta.
  3. Copia e salva la chiave segreta in modo sicuro.

Importante: la chiave segreta viene visualizzata una sola volta e non può essere recuperata in un secondo momento. Se la perdi, devi generare una nuova chiave segreta.

Ottieni l'URL dell'endpoint del feed

  1. Vai alla scheda Dettagli del feed.
  2. Nella sezione Endpoint Information (Informazioni sull'endpoint), copia l'URL dell'endpoint del feed.
  3. Il formato dell'URL è:

    https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import
    

    Dove {region} è la regione dell'istanza Google SecOps (ad esempio us, europe o asia-southeast1) e {parent} è il percorso della risorsa nel formato projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>.

  4. Salva questo URL per i passaggi successivi.

  5. Fai clic su Fine.

Crea una chiave API Google Cloud

Chronicle richiede una chiave API per l'autenticazione. Crea una chiave API con limitazioni nella Google Cloud Console.

Creare la chiave API

  1. Vai alla pagina Credenziali della console Google Cloud.
  2. Seleziona il tuo progetto (il progetto associato alla tua istanza di Chronicle).
  3. Fai clic su Crea credenziali > Chiave API.
  4. Viene creata una chiave API e visualizzata in una finestra di dialogo.
  5. Fai clic su Modifica chiave API per limitare la chiave.

Limita la chiave API

  1. Nella pagina delle impostazioni della chiave API:
    • Nome: inserisci un nome descrittivo (ad esempio Chronicle Webhook API Key)
  2. In Restrizioni API:
    1. Seleziona Limita chiave.
    2. Nel menu a discesa Seleziona API, cerca e seleziona API Google SecOps (o API Chronicle).
  3. Fai clic su Salva.
  4. Copia il valore della chiave API dal campo Chiave API nella parte superiore della pagina.
  5. Salva la chiave API in modo sicuro.

Abilita Cloud Guard Cloud Event responder

Cloud Guard utilizza il risponditore di eventi Cloud per inviare i dettagli del problema al servizio Eventi OCI. Il risponditore di eventi Cloud fa parte della formula Risponditore e deve essere abilitato e impostato per l'esecuzione automatica.

Abilita la regola Evento Cloud nella formula Responder

  1. Accedi alla console Oracle Cloud Infrastructure.
  2. Apri il menu di navigazione e seleziona Identity & Security > Cloud Guard > Recipes.
  3. Seleziona Responder Recipes (Ricette per i risponditori).
  4. Fai clic sulla ricetta di risposta associata al tuo target.
  5. Nella sezione Regole di risposta, individua la regola Eventi cloud.
  6. Se lo stato è Disattivato:
    1. Apri il menu Azioni (tre puntini) e seleziona Modifica.
    2. Cambia lo Stato in Attivato.
    3. Fai clic su Salva.

Configura l'esecuzione automatica sul target

  1. Nella console di Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Identity & Security > Cloud Guard > Configuration > Targets.
  2. Seleziona il compartimento di destinazione.
  3. In Risorse, seleziona Responder Recipes.
  4. Fai clic sul link della ricetta di chi risponde.
  5. Individua la regola di risposta Cloud Event.
  6. Apri il menu Azioni (tre puntini) e seleziona Modifica.
  7. Imposta Attivatore regola su Esegui automaticamente.
  8. Seleziona la casella di controllo CONFERMA ESECUZIONE AUTOMATICA.
  9. Fai clic su Salva.

Crea un'applicazione OCI Functions

Crea un'applicazione OCI Functions che ospiterà la funzione responsabile dell'inoltro degli eventi di Cloud Guard a Google SecOps.

Crea l'applicazione

  1. Nella console di Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Developer Services > Functions > Applications.
  2. Seleziona il compartimento in cui vuoi creare l'applicazione.
  3. Fai clic su Crea applicazione.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci cloudguard-chronicle-forwarder
    • VCN: seleziona una VCN con accesso a internet (necessario affinché la funzione raggiunga l'endpoint webhook di Chronicle)
    • Subnet: seleziona una subnet pubblica o una subnet privata con un gateway NAT configurato.
  5. Fai clic su Crea.

Crea ed esegui il deployment della funzione

Utilizza OCI Cloud Shell o un ambiente locale con l'interfaccia a riga di comando di Fn Project per creare ed eseguire il deployment della funzione.

  1. Apri OCI Cloud Shell dalla console Oracle Cloud Infrastructure (fai clic sull'icona di Cloud Shell nella barra di navigazione in alto).
  2. Configura il contesto Fn per l'applicazione OCI Functions:

    fn list context
    fn use context <your-region-context>
    fn update context oracle.compartment-id <compartment_OCID>
    fn update context registry <region-key>.ocir.io/<tenancy-namespace>/cloudguard-chronicle
    
  3. Inizializza una nuova funzione Python:

    fn init --runtime python cloudguard-to-chronicle
    cd cloudguard-to-chronicle
    
  4. Sostituisci i contenuti del file func.py con il seguente codice:

    import io
    import json
    import logging
    import requests
    
    from fdk import response
    
    def handler(ctx, data: io.BytesIO = None):
        """
        OCI Function that receives Cloud Guard events from OCI Events Service
        and forwards them to Google SecOps (Chronicle) webhook endpoint.
        """
        logger = logging.getLogger()
    
        try:
            cfg = ctx.Config()
            chronicle_endpoint = cfg.get("CHRONICLE_ENDPOINT")
            chronicle_api_key = cfg.get("CHRONICLE_API_KEY")
            chronicle_secret = cfg.get("CHRONICLE_SECRET")
    
            if not all([chronicle_endpoint, chronicle_api_key, chronicle_secret]):
                logger.error("Missing required configuration: CHRONICLE_ENDPOINT, CHRONICLE_API_KEY, or CHRONICLE_SECRET")
                return response.Response(
                    ctx, response_data=json.dumps({"error": "Missing configuration"}),
                    headers={"Content-Type": "application/json"}, status_code=500
                )
    
            event_data = json.loads(data.getvalue())
            logger.info(f"Received Cloud Guard event: {event_data.get('eventType', 'unknown')}")
    
            webhook_url = f"{chronicle_endpoint}?key={chronicle_api_key}&secret={chronicle_secret}"
    
            headers = {
                "Content-Type": "application/json"
            }
    
            resp = requests.post(
                webhook_url,
                json=event_data,
                headers=headers,
                timeout=30
            )
    
            if resp.status_code >= 200 and resp.status_code < 300:
                logger.info(f"Successfully forwarded event to Chronicle (HTTP {resp.status_code})")
            else:
                logger.error(f"Failed to forward event to Chronicle (HTTP {resp.status_code}): {resp.text}")
    
            return response.Response(
                ctx, response_data=json.dumps({"status": resp.status_code}),
                headers={"Content-Type": "application/json"}, status_code=200
            )
    
        except Exception as e:
            logger.error(f"Error processing Cloud Guard event: {str(e)}")
            return response.Response(
                ctx, response_data=json.dumps({"error": str(e)}),
                headers={"Content-Type": "application/json"}, status_code=500
            )
    
  5. Sostituisci i contenuti del file requirements.txt:

    fdk>=0.1.0
    requests>=2.25.0
    
  6. Esegui il deployment della funzione nell'applicazione:

    fn -v deploy --app cloudguard-chronicle-forwarder
    
  7. Attendi il completamento del deployment.

Configura le variabili di ambiente delle funzioni

  1. Nella console di Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Developer Services > Functions > Applications.
  2. Fai clic sull'applicazione cloudguard-chronicle-forwarder.
  3. In Risorse, seleziona Funzioni.
  4. Fai clic sulla funzione cloudguard-to-chronicle.
  5. In Risorse, seleziona Configurazione.
  6. Fai clic su Modifica e aggiungi le seguenti coppie chiave-valore:

    Chiave Valore
    CHRONICLE_ENDPOINT L'URL dell'endpoint webhook di Chronicle (ad esempio, https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import)
    CHRONICLE_API_KEY La chiave API Google Cloud creata per il webhook di Chronicle
    CHRONICLE_SECRET La chiave segreta del webhook di Chronicle
  7. Fai clic su Salva.

Crea policy IAM per OCI Functions

Il servizio OCI Functions e il servizio Events richiedono criteri IAM per richiamare la funzione.

Creare un gruppo dinamico per la funzione

  1. Nella console di Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Identity & Security > Domains.
  2. Seleziona il dominio Predefinito.
  3. In Risorse del dominio identità, seleziona Gruppi dinamici.
  4. Fai clic su Crea gruppo dinamico.
  5. Fornisci i seguenti dettagli di configurazione:

    • Nome: inserisci cloudguard-chronicle-functions
    • Descrizione: inserisci Dynamic group for Cloud Guard to Chronicle forwarder function
    • Regole di corrispondenza: inserisci la seguente regola:
    ALL {resource.type = 'fnfunc', resource.compartment.id = '<compartment_OCID>'}
    
  6. Fai clic su Crea.

Crea policy IAM

  1. Nella console di Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Identity & Security > Policies.
  2. Assicurati di trovarti nel compartimento principale.
  3. Fai clic su Crea criterio.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci cloudguard-chronicle-policy
    • Descrizione: inserisci Allows Events Service to invoke Cloud Guard Chronicle forwarder function
    • Compartment (Compartimento): assicurati che sia selezionato il compartimento principale.
  5. Nella sezione Policy Builder, attiva Mostra editor manuale.
  6. Nel campo Statement (Istruzione), inserisci le seguenti istruzioni della policy:

    Allow dynamic-group cloudguard-chronicle-functions to use fn-function in compartment <compartment_name>
    Allow dynamic-group cloudguard-chronicle-functions to use fn-invocation in compartment <compartment_name>
    Allow service cloudguardevents to use fn-function in compartment <compartment_name>
    Allow service cloudguardevents to use fn-invocation in compartment <compartment_name>
    
  7. Fai clic su Crea.

Crea una regola OCI Events per Cloud Guard

Crea una regola Eventi che attiva la funzione OCI quando Cloud Guard rileva, ignora o corregge un problema.

Crea la regola Eventi

  1. Nella console di Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Observability & Management > Events Service > Rules.

  2. Fai clic su Crea regola.

  3. Fornisci i seguenti dettagli di configurazione:

    • Nome visualizzato: inserisci cloudguard-to-chronicle
    • Descrizione: inserisci Forwards Cloud Guard problem events to Google SecOps via OCI Functions
  4. Nella sezione Condizioni della regola:

    1. Imposta Condizione su Tipo di evento.
    2. Imposta Nome servizio su Cloud Guard.
    3. Imposta Tipo di evento su quanto segue (seleziona più opzioni):
      • Rilevato - Problema
      • Ignorata - Problema
      • Corretto - Problema
  5. Nella sezione Azioni:

    1. Imposta Tipo di azione su Funzioni.
    2. Imposta Function Compartment (Compartimento funzione) sul compartimento contenente l'applicazione della funzione.
    3. Imposta Applicazione per le funzioni su cloudguard-chronicle-forwarder.
    4. Imposta Funzione su cloudguard-to-chronicle.
  6. Fai clic su Crea regola.

(Facoltativo) Filtra per livello di rischio

Per inoltrare solo i problemi con gravità elevata, aggiungi un filtro degli attributi alla regola Eventi:

  1. Nella sezione Condizioni della regola, fai clic su + Un'altra condizione.
  2. Imposta Condizione su Attributo.
  3. Imposta Nome attributo su riskLevel.
  4. Imposta Valori attributo sui livelli di rischio desiderati:

    • CRITICAL
    • HIGH

Verifica l'integrazione

Testa la funzione manualmente

  1. Nella console Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Developer Services > Functions > Applications.
  2. Fai clic sull'applicazione cloudguard-chronicle-forwarder.
  3. In Risorse, seleziona Funzioni.
  4. Fai clic sulla funzione cloudguard-to-chronicle.
  5. Fai clic su Richiama per testare la funzione con dati di esempio oppure utilizza OCI Cloud Shell:

    echo '{"eventType":"com.oraclecloud.cloudguard.problemdetected","cloudEventsVersion":"0.1","eventID":"test-event-001","data":{"compartmentId":"ocid1.compartment.oc1..example","resourceName":"test-problem","additionalDetails":{"riskLevel":"HIGH","problemDescription":"Test problem for integration verification","status":"OPEN","region":"us-ashburn-1"}}}' | fn invoke cloudguard-chronicle-forwarder cloudguard-to-chronicle
    
  6. Verifica i log delle funzioni andando a Developer Services > Functions > Applications > cloudguard-chronicle-forwarder e selezionando la sezione Logs.

  7. Cerca le voci di log che confermano l'inoltro riuscito:

    Received Cloud Guard event: com.oraclecloud.cloudguard.problemdetected
    Successfully forwarded event to Chronicle (HTTP 200)
    

Verifica in Google SecOps

  1. Accedi a Google SecOps.
  2. Vai a Ricerca ed esegui una query per gli eventi con il tipo di log OCI_CLOUDGUARD.
  3. Verifica che gli eventi di problemi di Cloud Guard vengano visualizzati nei risultati di ricerca.

Se gli eventi non vengono visualizzati:

  • Verifica l'URL dell'endpoint del webhook di Chronicle, la chiave API e la chiave segreta nella configurazione della funzione
  • Verifica che la regola Eventi si trovi nella regione OCI corretta (regione di reporting di Cloud Guard)
  • Verifica che l'agente di risposta agli eventi Cloud sia abilitato e impostato per l'esecuzione automatica
  • Esamina i log delle funzioni per individuare i messaggi di errore

Riferimento ai tipi di eventi di Cloud Guard

Cloud Guard emette i seguenti tipi di eventi tramite il servizio OCI Events:

Tipo di evento Trigger
com.oraclecloud.cloudguard.problemdetected Viene rilevato un nuovo problema
com.oraclecloud.cloudguard.problemdismissed Un problema viene ignorato
com.oraclecloud.cloudguard.problemremediated Un problema viene risolto
com.oraclecloud.cloudguard.sightingdetected Viene rilevato un nuovo avvistamento

Riferimento ai metodi di autenticazione

I feed webhook di Chronicle supportano più metodi di autenticazione. Scegli il metodo supportato dal tuo fornitore.

Se il fornitore supporta le intestazioni HTTP personalizzate, utilizza questo metodo per una maggiore sicurezza.

  • Formato della richiesta:

    POST <ENDPOINT_URL> HTTP/1.1
    Content-Type: application/json
    x-goog-chronicle-auth: <API_KEY>
    x-chronicle-auth: <SECRET_KEY>
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

Vantaggi:

  • Chiave API e secret non visibili nell'URL
  • Più sicuro (le intestazioni non vengono registrate nei log di accesso del server web)
  • Metodo preferito quando il fornitore lo supporta

Metodo 2: parametri di query

Se il fornitore non supporta le intestazioni personalizzate, aggiungi le credenziali all'URL.

  • Formato dell'URL:

    <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
    
  • Esempio:

    https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
    
  • Formato della richiesta:

    POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1
    Content-Type: application/json
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

Svantaggi:

  • Credenziali visibili nell'URL
  • Potrebbero essere registrati nei log di accesso del server web
  • Meno sicuro delle intestazioni

Metodo 3: ibrido (URL + intestazione)

Alcune configurazioni utilizzano la chiave API nell'URL e la chiave secret nell'intestazione.

  • Formato della richiesta:

    POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1
    Content-Type: application/json
    x-chronicle-auth: <SECRET_KEY>
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

Nomi delle intestazioni di autenticazione

Chronicle accetta i seguenti nomi di intestazione per l'autenticazione:

  • Per la chiave API:

    • x-goog-chronicle-auth (consigliata)
    • X-Goog-Chronicle-Auth (senza distinzione tra maiuscole e minuscole)
  • Per la chiave segreta:

    • x-chronicle-auth (consigliata)
    • X-Chronicle-Auth (senza distinzione tra maiuscole e minuscole)

Limiti e best practice per i webhook

Limiti per le richieste

Limite Valore
Dimensioni massime della richiesta 4 MB
QPS max (query al secondo) 15.000
Timeout richieste 30 secondi
Comportamento di ripetizione Automatico con backoff esponenziale

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
contentType additional.fields Uniti da vari campi aggiuntivi
cloudEventsVersion additional.fields
data.additionalDetails.reason additional.fields
data.additionalDetails.tenantId additional.fields
data.additionalDetails.problemType additional.fields
data.resourceName additional.fields
data.resourceId additional.fields
stato additional.fields
problem_recommendation additional.fields
compartment_id additional.fields
compartment_name additional.fields
product_event extensions.auth.type Imposta "AUTHTYPE_UNSPECIFIED" se product_event corrisponde all'accesso
data.additionalDetails.problemDescription metadata.description Valore di data.additionalDetails.problemDescription se non vuoto, altrimenti data.additionalDetails.description
data.additionalDetails.description metadata.description
has_user metadata.event_type Impostato su USER_RESOURCE_ACCESS se has_user e has_target_resource, USER_UNCATEGORIZED se has_user, USER_LOGIN se product_event corrisponde all'accesso, STATUS_UPDATE se has_principal, altrimenti GENERIC_EVENT
has_target_resource metadata.event_type
product_event metadata.event_type
has_principal metadata.event_type
eventType metadata.product_event_type Valore di eventType se non è vuoto, altrimenti product_event
product_event metadata.product_event_type
eventID metadata.product_log_id Valore copiato direttamente
versione metadata.product_version Valore copiato direttamente
osservatore observer.domain.name Dominio estratto dall'osservatore utilizzando grok
observer observer.hostname Valore dell'osservatore se non è un IP
osservatore observer.ip Valore dell'osservatore se IP
entità principal.administrative_domain Dominio estratto da principal o principal_host utilizzando grok
principal_host principal.administrative_domain
data.additionalDetails.problemAdditionalDetails.public_ips principal.asset.ip Valore di data.additionalDetails.problemAdditionalDetails.public_ips se non è vuoto, altrimenti vnicDetails.0.vnicPublicIp se non è vuoto, altrimenti da principal se IP, altrimenti principal_host se IP
vnicDetails.0.vnicPublicIp principal.asset.ip
entità principal.asset.ip
principal_host principal.asset.ip
entità principal.hostname Valore di principal se non è un IP, altrimenti principal_host se non è un IP
principal_host principal.hostname
data.additionalDetails.problemAdditionalDetails.public_ips principal.ip Valore di data.additionalDetails.problemAdditionalDetails.public_ips se non vuoto, altrimenti vnicDetails.0.vnicPublicIp se non vuoto, altrimenti da principal se IP, altrimenti principal_host se IP
vnicDetails.0.vnicPublicIp principal.ip
entità principal.ip
principal_host principal.ip
data.additionalDetails.region principal.location.name Valore copiato direttamente
principal_port principal.port Convertito in numero intero da principal_port
data.additionalDetails.resourceName principal.resource.name Valore di data.additionalDetails.resourceName se non è vuoto, altrimenti data.additionalDetails.principalResourceName
data.additionalDetails.principalResourceName principal.resource.name
data.additionalDetails.resourceId principal.resource.product_object_id Valore di data.additionalDetails.resourceId se non è vuoto, altrimenti data.additionalDetails.principalResourceId
data.additionalDetails.principalResourceId principal.resource.product_object_id
data.additionalDetails.resourceType principal.resource.resource_subtype Valore di data.additionalDetails.resourceType se non è vuoto, altrimenti data.additionalDetails.principalResourceType
data.additionalDetails.principalResourceType principal.resource.resource_subtype
data.additionalDetails.resourceName principal.user.userid Valore di data.additionalDetails.resourceName se data.additionalDetails.resourceType == "User", altrimenti di data.additionalDetails.principalResourceName se data.additionalDetails.principalResourceType == "User"
data.additionalDetails.principalResourceName principal.user.userid
azione security_result.action Impostato su BLOCK se l'azione corrisponde al blocco, ALLOW se l'azione ha esito positivo, FAIL se l'azione non va a buon fine, altrimenti UNKNOWN
azione security_result.action_details Valore copiato direttamente
data.additionalDetails.tacticName security_result.attack_details.tactics Valore copiato direttamente in tactic_data.name, poi unito
data.additionalDetails.techniqueName security_result.attack_details.techniques Valore copiato direttamente in technique_data.name, poi unito
data.additionalDetails.confidence security_result.confidence_score Valore copiato direttamente
sightingType security_result.detection_fields Uniti dalle etichette sightingType, sightingScore e riskScore
sightingScore security_result.detection_fields
riskScore security_result.detection_fields
data.additionalDetails.detectorRuleId security_result.rule_id Valore copiato direttamente
data.additionalDetails.detectorRuleType security_result.rule_name Valore copiato direttamente
gravità security_result.severity Impostato su INFORMATIONAL se la gravità è INFO, LOW se è bassa, MEDIUM se è WARN, HIGH se è alta, CRITICAL se è critica
gravità security_result.severity_details Valore copiato direttamente
destinazione target.administrative_domain Dominio estratto da target o target_host utilizzando grok
target_host target.administrative_domain
destinazione target.hostname Valore della destinazione se non è un IP, altrimenti target_host se non è un IP
target_host target.hostname
destinazione target.ip Valore di target se IP, altrimenti target_host se IP
target_host target.ip
target_port target.port Convertito in numero intero da target_port
targetId target.resource.attribute.labels Uniti da vari campi di etichette
etichette target.resource.attribute.labels
vnicAttachmentId target.resource.attribute.labels
vnicAttachmentDisplayName target.resource.attribute.labels
subnets target.resource.attribute.labels
instance_ocid target.resource.attribute.labels
route_table_ocids target.resource.attribute.labels
security_list_ocids target.resource.attribute.labels
data.additionalDetails.impactedResourceName target.resource.name Valore di data.additionalDetails.impactedResourceName se non è vuoto, altrimenti vnicDetails.0.vnicDisplayName
vnicDetails.0.vnicDisplayName target.resource.name
data.additionalDetails.impactedResourceId target.resource.product_object_id Valore di data.additionalDetails.impactedResourceId se non è vuoto, altrimenti vnicDetails.0.vnicId
vnicDetails.0.vnicId target.resource.product_object_id
data.additionalDetails.impactedResourceType target.resource.resource_subtype Valore copiato direttamente
target_url target.url Valore copiato direttamente
target_user target.user.userid Valore copiato direttamente
prodotto metadata.product_name Valore copiato direttamente
vendor metadata.vendor_name Valore copiato direttamente
data.additionalDetails.tacticName security_result.attack_details.tactics.name Mappato dal log delle modifiche
data.additionalDetails.techniqueName security_result.attack_details.techniques.name Mappato dal log delle modifiche

Log delle modifiche

Visualizza il log delle modifiche per questo parser

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.