Raccogli i log di Oracle Cloud Infrastructure - Oracle Cloud Guard

Supportato in:

Questo documento spiega come configurare Oracle Cloud Infrastructure Cloud Guard per eseguire il push dei log in 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 i 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 nel tuo tenant OCI. Questa integrazione utilizza OCI Events Service e OCI Functions per inoltrare gli eventi dei problemi di Cloud Guard a Google SecOps quasi in tempo reale.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

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

Crea un feed webhook in Google SecOps

Creare il feed

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  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 divisione (facoltativo): lascia vuoto (ogni chiamata di 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 nella schermata Finalizza e poi 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.

Recuperare 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://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    

    o

    https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    
  4. Salva questo URL per i passaggi successivi.

  5. Fai clic su Fine.

Creare una chiave API Google Cloud

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

Crea la chiave API

  1. Vai alla pagina Credenziali della console Google Cloud.
  2. Seleziona il tuo progetto (quello 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.

Limitare la chiave API

  1. Nella pagina delle impostazioni Chiave API:
    • Nome: inserisci un nome descrittivo (ad esempio, Chronicle Webhook API Key)
  2. In Limitazioni 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 il risponditore di eventi Cloud di Cloud Guard

Cloud Guard utilizza il risponditore di Cloud Event per emettere i dettagli del problema nel servizio OCI Events. Il risponditore di eventi Cloud fa parte della ricetta del risponditore e deve essere attivato e impostato per l'esecuzione automatica.

Attiva la regola Cloud Event nella ricetta Responder

  1. Accedi a Oracle Cloud Infrastructure Console.
  2. Apri il menu di navigazione e seleziona Identità e sicurezza > Cloud Guard > Ricette.
  3. Seleziona Responder Recipes.
  4. Fai clic sulla formula di chi risponde allegata al tuo target.
  5. Nella sezione Regole di risposta, individua la regola Eventi cloud.
  6. Se lo stato è Disabilitata:
    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 sulla destinazione

  1. Nella console Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Identità e sicurezza > Cloud Guard > Configurazione > Target.
  2. Seleziona il comparto target.
  3. In Risorse, seleziona Ricette per chi risponde.
  4. Fai clic sul link della ricetta di chi risponde.
  5. Individua la regola di risposta Evento Cloud.
  6. Apri il menu Azioni (tre puntini) e seleziona Modifica.
  7. Imposta Trigger regola su Esegui automaticamente.
  8. Seleziona la casella di controllo CONFERMA ESECUZIONE AUTOMATICA.
  9. Fai clic su Salva.

Crea l'applicazione OCI Functions

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

Crea l'applicazione

  1. Nella console Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Developer Services > Functions > Applications.
  2. Seleziona il comparto 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 un VCN con accesso a internet (necessario per consentire alla funzione di raggiungere 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 Fn Project CLI per creare ed eseguire il deployment della funzione.

  1. Apri OCI Cloud Shell dalla console Oracle Cloud Infrastructure (fai clic sull'icona 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 della funzione

  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. 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://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate)
    CHRONICLE_API_KEY La chiave API di Google Cloud creata per il webhook di Chronicle
    CHRONICLE_SECRET La chiave segreta del webhook di Chronicle
  7. Fai clic su Salva.

Crea criteri IAM per OCI Functions

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

Crea un gruppo dinamico per la funzione

  1. Nella console Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Identità e sicurezza > Domini.
  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 criteri IAM

  1. Nella console Oracle Cloud Infrastructure, apri il menu di navigazione e seleziona Identity & Security > Policies.
  2. Assicurati di trovarti nel compartimento radice.
  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/disattiva Mostra editor manuale.
  6. Nel campo Dichiarazione, inserisci le seguenti dichiarazioni delle norme:

    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 risolve un problema.

Crea la regola Eventi

  1. Nella console 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
      • Ignorato - Problema
      • Corretto - Problema
  5. Nella sezione Azioni:

    1. Imposta Tipo di azione su Funzioni.
    2. Imposta Compartimento funzione sul compartimento contenente l'applicazione di funzione.
    3. Imposta Function Application 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 di 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

Verificare l'integrazione

Testare manualmente la funzione

  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 della funzione andando a Servizi per sviluppatori > Funzioni > Applicazioni > cloudguard-chronicle-forwarder e selezionando la sezione Log.

  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 problema di Cloud Guard vengano visualizzati nei risultati di ricerca.

Se gli eventi non vengono visualizzati:

  • Verifica l'URL dell'endpoint webhook, la chiave API e la chiave segreta di Chronicle nella configurazione della funzione
  • Verifica che la regola Events si trovi nella regione OCI corretta (regione di reporting di Cloud Guard)
  • Verifica che il risponditore di 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 Cloud Guard

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

Tipo di evento Trigger
com.oraclecloud.cloudguard.problemdetected È stato rilevato un nuovo problema
com.oraclecloud.cloudguard.problemdismissed Un problema viene ignorato
com.oraclecloud.cloudguard.problemremediated Un problema viene risolto
com.oraclecloud.cloudguard.sightingdetected È stato 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 tuo 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 se supportato dal fornitore

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://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?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
  • Potrebbe essere registrato nei log di accesso del server web
  • Meno sicuri delle intestazioni

Metodo 3: ibrido (URL + intestazione)

Alcune configurazioni utilizzano la chiave API nell'URL e la chiave segreta 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 Logic
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 a login, 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
osservatore 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 del principale 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'operazione è riuscita, FAIL se non è riuscita, 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, quindi unito
data.additionalDetails.confidence security_result.confidence_score Valore copiato direttamente
sightingType security_result.detection_fields Unito 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
target target.administrative_domain Dominio estratto da target o target_host utilizzando grok
target_host target.administrative_domain
target target.hostname Valore della destinazione se non è un IP, altrimenti target_host se non è un IP
target_host target.hostname
target target.ip Valore della destinazione 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 dell'etichetta
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

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