Raccogliere i log di Versa Networks Secure Access Service Edge (SASE)
Questo documento spiega come importare i log di Versa Networks Secure Access Service Edge (SASE) in Google Security Operations utilizzando l'agente Bindplane.
Versa Networks SASE è una piattaforma unificata di sicurezza e networking che genera messaggi syslog per eventi firewall, log delle minacce, classificazione delle applicazioni, filtro URL, rilevamenti IDS/IPS ed eventi di allarme. Il parser estrae le coppie chiave-valore dai messaggi syslog e le mappa al modello UDM (Unified Data Model).
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Windows Server 2016 o versioni successive oppure host Linux con
systemd - Connettività di rete tra l'agente Bindplane e il nodo Versa Analytics
- Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
- Accesso privilegiato a Versa SASE
Recuperare il file di autenticazione importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
Scarica il file di autenticazione importazione. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Recuperare l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
Installa l'agente Bindplane
Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.
Installazione di Windows
- Apri Prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo:
sc query observiq-otel-collectorIl servizio dovrebbe essere visualizzato come IN ESECUZIONE.
Installazione di Linux
- Apri un terminale con privilegi root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo:
sudo systemctl status observiq-otel-collectorIl servizio dovrebbe essere visualizzato come attivo (in esecuzione).
Risorse aggiuntive per l'installazione
Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.
Configura l'agente Bindplane per importare syslog e inviarli a Google SecOps
Individua il file di configurazione
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifica il file di configurazione
Sostituisci l'intero contenuto di
config.yamlcon la seguente configurazione:receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/versa_firewall: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VERSA_FIREWALL raw_log_field: body service: pipelines: logs/versa_firewall_to_chronicle: receivers: - tcplog exporters: - chronicle/versa_firewall
Parametri di configurazione
Sostituisci i seguenti segnaposto:
Configurazione del ricevitore:
listen_address: Indirizzo IP e porta da ascoltare:0.0.0.0per ascoltare su tutte le interfacce (consigliato)- La porta
514è la porta syslog standard (richiede l'accesso root su Linux; utilizza1514per l'accesso non root) - Versa utilizza il trasporto TCP, quindi è necessario il ricevitore
tcplog
Configurazione dell'esportatore:
creds_file_path: percorso completo del file di autenticazione importazione:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: ID cliente copiato dalla console Google SecOpsendpoint: URL endpoint regionale:- Stati Uniti:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Per un elenco completo, vedi Endpoint regionali.
- Stati Uniti:
Salvare il file di configurazione
- Dopo la modifica, salva il file:
- Linux: premi
Ctrl+O, poiEntere infineCtrl+X. - Windows: fai clic su File > Salva.
- Linux: premi
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart observiq-otel-collectorVerifica che il servizio sia in esecuzione:
sudo systemctl status observiq-otel-collectorControlla i log per individuare eventuali errori:
sudo journalctl -u observiq-otel-collector -f
Per riavviare l'agente Bindplane in Windows, scegli una delle seguenti opzioni:
Prompt dei comandi o PowerShell come amministratore:
net stop observiq-otel-collector && net start observiq-otel-collectorConsole Services:
- Premi
Win+R, digitaservices.msce premi Invio. - Individua observIQ OpenTelemetry Collector.
- Fai clic con il tasto destro del mouse e seleziona Riavvia.
Verifica che il servizio sia in esecuzione:
sc query observiq-otel-collectorControlla i log per individuare eventuali errori:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Premi
Configurare SASE di Versa Networks
Gli amministratori devono configurare i raccoglitori remoti su ogni nodo Versa Analytics per inoltrare i log a sistemi di terze parti.
Abilita l'inoltro dei log
- Accedi al server di analisi di Versa.
- Vai alla CLI eseguendo il comando
cli. - Passa alla modalità di configurazione eseguendo il comando
configure, quindi inserisciload merge terminal. Copia e incolla i seguenti comandi per configurare l'inoltro dei log (sostituisci
<collector_ip>e<collector_port>con l'indirizzo IP e la porta del tuo raccoglitore syslog):set system analytics log-collector-exporter destination-address <collector_ip> set system analytics log-collector-exporter destination-port <collector_port> set system analytics log-collector-exporter transport tcp set system analytics log-collector-exporter log-types firewall-log set system analytics log-collector-exporter log-types threat-log commitSalva la configurazione:
save
Abilita la registrazione dell'ID sessione
Per registrare le informazioni relative all'IP, attiva la registrazione dell'ID sessione:
- Accedi a Versa Director.
- Passa alla visualizzazione del regista.
- Vai a Configurazione > Dispositivi > Tenant > Dispositivo per accedere a Visualizzazione appliance.
- Seleziona Configuration > Others > System > Configuration > Configuration.
- Nel riquadro Parametri, fai clic su Modifica.
- Nella finestra Modifica parametri, seleziona LEF.
- Nella sezione Firewall, seleziona la casella di controllo Includi il logging dell'ID sessione.
Fai clic su OK.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logic |
|---|---|---|
accCkt |
additional.fields[].key: "accCkt"additional.fields[].value.string_value: accCkt |
Valore estratto direttamente dal campo accCkt. |
accCktId |
additional.fields[].key: "accCktId"additional.fields[].value.string_value: accCktId |
Valore estratto direttamente dal campo accCktId. |
accCktName |
additional.fields[].key: "accCktName"additional.fields[].value.string_value: accCktName |
Valore estratto direttamente dal campo accCktName. |
accessType |
additional.fields[].key: "accessType"additional.fields[].value.string_value: accessType |
Valore estratto direttamente dal campo accessType. |
action |
security_result.action: action |
Se action, type, idpAction, avAction o urlAction sono impostati su "consenti", allora ALLOW. Se action, type, idpAction, avAction o urlAction sono "reject", "drop", "block", "deny", allora BLOCK. Se idpAction è diverso da UNKNOWN_ACTION. |
alarmCause |
security_result.detection_fields[].key: "alarmCause"security_result.detection_fields[].value: alarmCause |
Valore estratto direttamente dal campo alarmCause. |
alarmClass |
security_result.detection_fields[].key: "alarmClass"security_result.detection_fields[].value: alarmClass |
Valore estratto direttamente dal campo alarmClass. |
alarmClearable |
security_result.detection_fields[].key: "alarmClearable"security_result.detection_fields[].value: alarmClearable |
Valore estratto direttamente dal campo alarmClearable. |
alarmEventType |
metadata.product_event_type: alarmEventType |
Valore estratto direttamente dal campo alarmEventType. |
alarmKey |
security_result.detection_fields[].key: "alarmKey"security_result.detection_fields[].value: alarmKey |
Valore estratto direttamente dal campo alarmKey. |
alarmKind |
security_result.detection_fields[].key: "alarmKind"security_result.detection_fields[].value: alarmKind |
Valore estratto direttamente dal campo alarmKind. |
alarmOwner |
security_result.detection_fields[].key: "alarmOwner"security_result.detection_fields[].value: alarmOwner |
Valore estratto direttamente dal campo alarmOwner. |
alarmSeqNo |
security_result.detection_fields[].key: "alarmSeqNo"security_result.detection_fields[].value: alarmSeqNo |
Valore estratto direttamente dal campo alarmSeqNo. |
alarmSeverity |
security_result.severity_details: alarmSeverity |
Valore estratto direttamente dal campo alarmSeverity. |
alarmText |
security_result.summary: alarmText |
Valore estratto direttamente dal campo alarmText, con le virgolette doppie rimosse. |
alarmType |
security_result.description: alarmType |
Valore estratto direttamente dal campo alarmType. |
appFamily |
metadata.product_event_type: appFamilysecurity_result.detection_fields[].key: "appFamily"security_result.detection_fields[].value: appFamily |
Valore estratto direttamente dal campo appFamily. |
appId |
security_result.detection_fields[].key: "ID applicazione"security_result.detection_fields[].value: appId |
Valore estratto direttamente dal campo appId. |
appIdStr |
security_result.detection_fields[].key: "appIdStr"security_result.detection_fields[].value: appIdStr |
Valore estratto direttamente dal campo appIdStr. |
applianceName |
principal.hostname: applianceName |
Valore estratto direttamente dal campo applianceName, siteName o site. |
appProductivity |
security_result.detection_fields[].key: "appProductivity"security_result.detection_fields[].value: appProductivity |
Valore estratto direttamente dal campo appProductivity. |
appRisk |
security_result.severity_details: appRisk |
Valore estratto direttamente dal campo appRisk. |
appSubFamily |
security_result.detection_fields[].key: "appSubFamily"security_result.detection_fields[].value: appSubFamily |
Valore estratto direttamente dal campo appSubFamily. |
avAccuracy |
additional.fields[].key: "avAccuracy"additional.fields[].value.string_value: avAccuracy |
Valore estratto direttamente dal campo avAccuracy. |
avAction |
security_result.action: avAction |
Per la logica, vedi action. |
avMalwareName |
security_result.threat_name: avMalwareName |
Valore estratto direttamente dal campo avMalwareName. |
avMalwareType |
security_result.category_details: avMalwareType |
Valore estratto direttamente dal campo avMalwareType. |
classMsg |
security_result.description: classMsg |
Valore estratto direttamente dal campo classMsg, con le virgolette doppie rimosse. |
clientIPv4Address |
target.ip: clientIPv4Address |
Valore estratto direttamente dal campo clientIPv4Address. |
destIp |
target.ip: destIpdestinationIPv4Address: destIp |
Valore estratto direttamente dal campo destIp. |
destinationIPv4Address |
target.ip: destinationIPv4Address |
Valore estratto direttamente dal campo destinationIPv4Address o derivato dal campo networkPrefix. |
destinationIPv6Address |
target.ip: destinationIPv6Address |
Valore estratto direttamente dal campo destinationIPv6Address. |
destinationPort |
target.port: destinationPort |
Valore estratto direttamente dal campo destinationPort e convertito in numero intero. |
destinationTransportPort |
target.port: destinationTransportPort |
Valore estratto direttamente dal campo destinationTransportPort e convertito in numero intero. |
deviceKey |
about.resource.attribute.labels[].key: "deviceKey"about.resource.attribute.labels[].value: deviceKey |
Valore estratto direttamente dal campo deviceKey se non è "Sconosciuto". |
deviceName |
about.resource.attribute.labels[].key: "deviceName"about.resource.attribute.labels[].value: deviceName |
Valore estratto direttamente dal campo deviceName se non è "Sconosciuto". |
duration |
network.session_duration.seconds: duration |
Valore estratto direttamente dal campo duration e convertito in numero intero. |
egressInterfaceName |
additional.fields[].key: "egressInterfaceName"additional.fields[].value.string_value: egressInterfaceName |
Valore estratto direttamente dal campo egressInterfaceName. |
event.type |
metadata.event_type: event.type |
Se sono presenti sia applianceName (o sourceIPv4Address o user o sourceIPv6Address) che destinationIPv4Address (o remoteSite o destinationIPv6Address o clientIPv4Address o hostname), allora NETWORK_CONNECTION. Altrimenti, STATUS_UPDATE. Se applianceName è vuoto, allora GENERIC_EVENT. |
eventType |
principal.resource.attribute.labels[].key: "eventType"principal.resource.attribute.labels[].value: eventType |
Valore estratto direttamente dal campo eventType. |
family |
security_result.detection_fields[].key: "family"security_result.detection_fields[].value: family |
Valore estratto direttamente dal campo family. |
fc |
security_result.detection_fields[].key: "ForwardingClass"security_result.detection_fields[].value: fc |
Valore estratto direttamente dal campo fc. |
fileTransDir |
additional.fields[].key: "fileTransDir"additional.fields[].value.string_value: fileTransDir |
Valore estratto direttamente dal campo fileTransDir. |
filename |
target.file.names: filename |
Valore estratto direttamente dal campo filename. |
flowCookie |
metadata.collected_timestamp: flowCookie |
Valore estratto direttamente dal campo flowCookie e convertito in timestamp utilizzando il formato UNIX. |
flowId |
principal.resource.product_object_id: flowId |
Valore estratto direttamente dal campo flowId. |
forwardForwardingClass |
security_result.detection_fields[].key: "forwardForwardingClass"security_result.detection_fields[].value: forwardForwardingClass |
Valore estratto direttamente dal campo forwardForwardingClass. |
fromCountry |
principal.location.country_or_region: fromCountrytarget.location.country_or_region: fromCountry |
Valore estratto direttamente dal campo fromCountry. |
fromUser |
principal.user.userid: fromUser |
Valore estratto direttamente dal campo fromUser se non è vuoto, "sconosciuto" o "Sconosciuto". |
fromZone |
additional.fields[].key: "fromZone"additional.fields[].value.string_value: fromZone |
Valore estratto direttamente dal campo fromZone. |
generateTime |
metadata.collected_timestamp: generateTime |
Valore estratto direttamente dal campo generateTime e convertito in timestamp utilizzando il formato UNIX. |
hostname |
target.hostname: hostname |
Valore estratto direttamente dal campo hostname. |
httpUrl |
target.url: httpUrl |
Valore estratto direttamente dal campo httpUrl. |
icmpTypeIPv4 |
additional.fields[].key: "icmpTypeIPv4"additional.fields[].value.string_value: icmpTypeIPv4 |
Valore estratto direttamente dal campo icmpTypeIPv4. |
idpAction |
security_result.action: idpAction |
Per la logica, vedi action. |
ingressInterfaceName |
additional.fields[].key: "ingressInterfaceName"additional.fields[].value.string_value: ingressInterfaceName |
Valore estratto direttamente dal campo ingressInterfaceName. |
ipsApplication |
additional.fields[].key: "ipsApplication"additional.fields[].value.string_value: ipsApplication |
Valore estratto direttamente dal campo ipsApplication. |
ipsDirection |
security_result.detection_fields[].key: "ipsDirection"security_result.detection_fields[].value: ipsDirection |
Valore estratto direttamente dal campo ipsDirection. |
ipsProfile |
security_result.detection_fields[].key: "ipsProfile"security_result.detection_fields[].value: ipsProfile |
Valore estratto direttamente dal campo ipsProfile. |
ipsProfileRule |
security_result.rule_name: ipsProfileRule |
Valore estratto direttamente dal campo ipsProfileRule. |
ipsProtocol |
network.ip_protocol: ipsProtocol |
Valore estratto direttamente dal campo ipsProtocol. |
log_type |
metadata.description: log_typemetadata.log_type: log_type |
Valore estratto direttamente dal campo log_type. |
mstatsTimeBlock |
metadata.collected_timestamp: mstatsTimeBlock |
Valore estratto direttamente dal campo mstatsTimeBlock e convertito in timestamp utilizzando il formato UNIX. |
mstatsTotRecvdOctets |
network.received_bytes: mstatsTotRecvdOctets |
Valore estratto direttamente dal campo mstatsTotRecvdOctets e convertito in numero intero senza segno. |
mstatsTotSentOctets |
network.sent_bytes: mstatsTotSentOctets |
Valore estratto direttamente dal campo mstatsTotSentOctets e convertito in numero intero senza segno. |
mstatsTotSessCount |
additional.fields[].key: "mstatsTotSessCount"additional.fields[].value.string_value: mstatsTotSessCount |
Valore estratto direttamente dal campo mstatsTotSessCount. |
mstatsTotSessDuration |
network.session_duration.seconds: mstatsTotSessDuration |
Valore estratto direttamente dal campo mstatsTotSessDuration e convertito in numero intero. |
mstatsType |
security_result.category_details: mstatsType |
Valore estratto direttamente dal campo mstatsType. |
networkPrefix |
target.ip: networkPrefixtarget.port: networkPrefix |
Indirizzo IP estratto dal campo networkPrefix. Porta estratta dal campo networkPrefix e convertita in numero intero. |
protocolIdentifier |
network.ip_protocol: protocolIdentifier |
Valore estratto direttamente dal campo protocolIdentifier, convertito in numero intero e mappato al nome del protocollo IP utilizzando una ricerca. |
recvdOctets |
network.received_bytes: recvdOctets |
Valore estratto direttamente dal campo recvdOctets e convertito in numero intero senza segno. |
recvdPackets |
network.received_packets: recvdPackets |
Valore estratto direttamente dal campo recvdPackets e convertito in numero intero. |
remoteSite |
target.hostname: remoteSite |
Valore estratto direttamente dal campo remoteSite. |
reverseForwardingClass |
security_result.detection_fields[].key: "reverseForwardingClass"security_result.detection_fields[].value: reverseForwardingClass |
Valore estratto direttamente dal campo reverseForwardingClass. |
risk |
security_result.risk_score: risk |
Valore estratto direttamente dal campo risk e convertito in virgola mobile. |
rule |
security_result.rule_name: rule |
Valore estratto direttamente dal campo rule. |
sentOctets |
network.sent_bytes: sentOctets |
Valore estratto direttamente dal campo sentOctets e convertito in numero intero senza segno. |
sentPackets |
network.sent_packets: sentPackets |
Valore estratto direttamente dal campo sentPackets e convertito in numero intero. |
serialNum |
security_result.detection_fields[].key: "serialNum"security_result.detection_fields[].value: serialNum |
Valore estratto direttamente dal campo serialNum. |
signatureId |
security_result.detection_fields[].key: "signatureID"security_result.detection_fields[].value: signatureId |
Valore estratto direttamente dal campo signatureId. |
signatureMsg |
security_result.detection_fields[].key: "signatureMsg"security_result.detection_fields[].value: signatureMsg |
Valore estratto direttamente dal campo signatureMsg. |
signaturePriority |
security_result.severity: signaturePriority |
Se signaturePriority è "low" (senza distinzione tra maiuscole e minuscole), allora LOW. Se signaturePriority è "medium" (senza distinzione tra maiuscole e minuscole), allora MEDIUM. Se signaturePriority è "alto" (senza distinzione tra maiuscole e minuscole), allora HIGH. |
site |
principal.hostname: siteapplianceName: site |
Valore estratto direttamente dal campo site. |
siteId |
additional.fields[].key: "siteId"additional.fields[].value.string_value: siteId |
Valore estratto direttamente dal campo siteId. |
siteName |
principal.hostname: siteNameapplianceName: siteName |
Valore estratto direttamente dal campo siteName. |
sourceIPv4Address |
principal.ip: sourceIPv4Address |
Valore estratto direttamente dal campo sourceIPv4Address. |
sourceIPv6Address |
principal.ip: sourceIPv6Address |
Valore estratto direttamente dal campo sourceIPv6Address. |
sourcePort |
principal.port: sourcePort |
Valore estratto direttamente dal campo sourcePort e convertito in numero intero. |
sourceTransportPort |
principal.port: sourceTransportPort |
Valore estratto direttamente dal campo sourceTransportPort e convertito in numero intero. |
subFamily |
security_result.detection_fields[].key: "subFamily"security_result.detection_fields[].value: subFamily |
Valore estratto direttamente dal campo subFamily. |
tcpConnAborted |
additional.fields[].key: "tcpConnAborted"additional.fields[].value.string_value: tcpConnAborted |
Valore estratto direttamente dal campo tcpConnAborted se non è vuoto o "0". |
tcpConnRefused |
additional.fields[].key: "tcpConnRefused"additional.fields[].value.string_value: tcpConnRefused |
Valore estratto direttamente dal campo tcpConnRefused se non è vuoto o "0". |
tcpPktsFwd |
network.sent_packets: tcpPktsFwd |
Valore estratto direttamente dal campo tcpPktsFwd e convertito in numero intero. |
tcpPktsRev |
network.received_packets: tcpPktsRev |
Valore estratto direttamente dal campo tcpPktsRev e convertito in numero intero. |
tcpReXmitFwd |
additional.fields[].key: "tcpReXmitFwd"additional.fields[].value.string_value: tcpReXmitFwd |
Valore estratto direttamente dal campo tcpReXmitFwd se non è vuoto o "0". |
tcpReXmitRev |
additional.fields[].key: "tcpReXmitRev"additional.fields[].value.string_value: tcpReXmitRev |
Valore estratto direttamente dal campo tcpReXmitRev se non è vuoto o "0". |
tcpSAA |
additional.fields[].key: "tcpSAA"additional.fields[].value.string_value: tcpSAA |
Valore estratto direttamente dal campo tcpSAA se non è vuoto o "0". |
tcpSSA |
additional.fields[].key: "tcpSSA"additional.fields[].value.string_value: tcpSSA |
Valore estratto direttamente dal campo tcpSSA se non è vuoto o "0". |
tcpSessCnt |
additional.fields[].key: "tcpSessCnt"additional.fields[].value.string_value: tcpSessCnt |
Valore estratto direttamente dal campo tcpSessCnt. |
tcpSessDur |
network.session_duration.seconds: tcpSessDur |
Valore estratto direttamente dal campo tcpSessDur e convertito in numero intero. |
tcpSynAckReXmit |
additional.fields[].key: "tcpSynAckReXmit"additional.fields[].value.string_value: tcpSynAckReXmit |
Valore estratto direttamente dal campo tcpSynAckReXmit se non è vuoto o "0". |
tcpSynReXmit |
additional.fields[].key: "tcpSynReXmit"additional.fields[].value.string_value: tcpSynReXmit |
Valore estratto direttamente dal campo tcpSynReXmit se non è vuoto o "0". |
tcpTWHS |
additional.fields[].key: "tcpTWHS"additional.fields[].value.string_value: tcpTWHS |
Valore estratto direttamente dal campo tcpTWHS se non è vuoto o "0". |
tenantId |
principal.resource.attribute.labels[].key: "tenantId"principal.resource.attribute.labels[].value: tenantId |
Valore estratto direttamente dal campo tenantId. |
tenantName |
observer.hostname: tenantName |
Valore estratto direttamente dal campo tenantName. |
threatType |
security_result.detection_fields[].key: "threatType"security_result.detection_fields[].value: threatType |
Valore estratto direttamente dal campo threatType. |
toCountry |
target.location.country_or_region: toCountry |
Valore estratto direttamente dal campo toCountry. |
toZone |
additional.fields[].key: "toZone"additional.fields[].value.string_value: toZone |
Valore estratto direttamente dal campo toZone. |
traffType |
additional.fields[].key: "traffType"additional.fields[].value.string_value: traffType |
Valore estratto direttamente dal campo traffType. |
ts |
metadata.event_timestamp: ts |
Valore estratto direttamente dal campo ts e convertito in timestamp. |
type |
security_result.action: type |
Per la logica, vedi action. |
urlAction |
security_result.action: urlAction |
Per la logica, vedi action. |
urlActionMessage |
security_result.summary: urlActionMessage |
Valore estratto direttamente dal campo urlActionMessage. |
urlCategory |
principal.resource.attribute.labels[].key: "urlCategory"principal.resource.attribute.labels[].value: urlCategory |
Valore estratto direttamente dal campo urlCategory. |
urlProfile |
additional.fields[].key: "urlProfile"additional.fields[].value.string_value: urlProfile |
Valore estratto direttamente dal campo urlProfile. |
urlReputation |
security_result.severity_details: urlReputation |
Valore estratto direttamente dal campo urlReputation. |
user |
principal.ip: user |
Valore estratto direttamente dal campo user. |
vsnId |
principal.resource.attribute.labels[].key: "vsnId"principal.resource.attribute.labels[].value: vsnId |
Valore estratto direttamente dal campo vsnId. Valore hardcoded. Valore hardcoded. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.