Collecter les journaux Cisco Meraki

Compatible avec :

Ce document explique comment ingérer des journaux Cisco Meraki dans Google Security Operations à l'aide de Bindplane.

L'analyseur extrait les champs des journaux au format syslog et JSON de Cisco Meraki. Il utilise l'analyse grok et/ou JSON pour traiter le message de journal, puis mappe ces valeurs au modèle de données unifié (UDM). Il définit également les valeurs de métadonnées par défaut pour la source et le type d'événement.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Windows Server 2016 ou version ultérieure, ou hôte Linux avec systemd
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
  • Accès privilégié au tableau de bord Cisco Meraki

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Installer l'agent Bindplane

Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.

Installation de fenêtres

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendez la fin de l'installation.

  4. Vérifiez l'installation en exécutant la commande suivante :

    sc query observiq-otel-collector
    

Le service doit être indiqué comme RUNNING (EN COURS D'EXÉCUTION).

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. Exécutez la commande suivante :

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Attendez la fin de l'installation.

  4. Vérifiez l'installation en exécutant la commande suivante :

    sudo systemctl status observiq-otel-collector
    

Le service doit être indiqué comme actif (en cours d'exécution).

Autres ressources d'installation

Pour obtenir d'autres options d'installation et de dépannage, consultez le guide d'installation de l'agent Bindplane.

Configurer l'agent Bindplane pour ingérer les journaux syslog et les envoyer à Google SecOps

Localiser le fichier de configuration

  • Linux :

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows :

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifiez le fichier de configuration

  • Remplacez l'intégralité du contenu de config.yaml par la configuration suivante :

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            customer_id: 'YOUR_CUSTOMER_ID'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: 'CISCO_MERAKI'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Paramètres de configuration

  • Remplacez les espaces réservés suivants :

    • Configuration du récepteur :

      • udplog : utilisez udplog pour syslog UDP ou tcplog pour syslog TCP.
      • 0.0.0.0 : adresse IP à écouter (0.0.0.0 pour écouter sur toutes les interfaces)
      • 514 : numéro de port à écouter (port syslog standard)
    • Configuration de l'exportateur :

      • creds_file_path : chemin d'accès complet au fichier d'authentification de l'ingestion :
        • Linux : /etc/bindplane-agent/ingestion-auth.json
        • Windows : C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • YOUR_CUSTOMER_ID : ID client de la section "Obtenir l'ID client"
      • endpoint : URL du point de terminaison régional :
        • États-Unis : malachiteingestion-pa.googleapis.com
        • Europe : europe-malachiteingestion-pa.googleapis.com
        • Asie : asia-southeast1-malachiteingestion-pa.googleapis.com
        • Pour obtenir la liste complète, consultez Points de terminaison régionaux.
      • log_type : type de journal tel qu'il apparaît dans Chronicle (CISCO_MERAKI)

Enregistrez le fichier de configuration.

  • Après avoir modifié le fichier, enregistrez-le :
    • Linux : appuyez sur Ctrl+O, puis sur Enter, puis sur Ctrl+X.
    • Windows : cliquez sur Fichier > Enregistrer.

Redémarrez l'agent Bindplane pour appliquer les modifications.

  • Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart observiq-otel-collector
    
    1. Vérifiez que le service est en cours d'exécution :

        sudo systemctl status observiq-otel-collector
      
    2. Recherchez les erreurs dans les journaux :

        sudo journalctl -u observiq-otel-collector -f
      
  • Pour redémarrer l'agent Bindplane dans Windows, choisissez l'une des options suivantes :

    • Invite de commandes ou PowerShell en tant qu'administrateur :

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console Services :

      1. Appuyez sur Win+R, saisissez services.msc, puis appuyez sur Entrée.
      2. Localisez observIQ OpenTelemetry Collector.
      3. Effectuez un clic droit, puis sélectionnez Redémarrer.

      4. Vérifiez que le service est en cours d'exécution :

        sc query observiq-otel-collector
        
      5. Recherchez les erreurs dans les journaux :

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configurer le transfert Syslog sur Cisco Meraki

  1. Connectez-vous au tableau de bord Cisco Meraki sur https://dashboard.meraki.com.
  2. Sélectionnez le réseau cible dans le menu déroulant des réseaux.
  3. Accédez à À l'échelle du réseau > Général.
  4. Accédez à la section Reporting.
  5. Recherchez Serveurs Syslog, puis cliquez sur Ajouter un serveur Syslog.
  6. Fournissez les informations de configuration suivantes :
    • Adresse IP du serveur : saisissez l'adresse IP de l'hôte de l'agent Bindplane.
    • Port : saisissez 514.
    • Rôles : sélectionnez les types de journaux à transférer :
      • Flux : données sur les flux réseau
      • URL : journaux d'accès aux URL
      • Événements de sécurité : alertes IDS/IPS
      • Journal des événements de l'appliance : événements de l'appliance MX
      • Événements Air Marshal : détection des menaces sans fil
      • Alertes IDS : alertes du système de détection des intrusions
  7. Cliquez sur Enregistrer.
  8. Vérifiez que les messages syslog sont envoyés en consultant les journaux de l'agent Bindplane.

Table de mappage UDM

Champ de journal Mappage UDM Logique
action security_result.action La valeur est convertie en majuscules. Si la valeur est "deny", elle est remplacée par "BLOCK". Si sc_action contient "allow", la valeur est remplacée par "ALLOW". Sinon, si la décision contient "block", la valeur est remplacée par "BLOCK". Sinon, si l'autorisation est "success", elle est définie sur "ALLOW", et si elle est "failure", elle est définie sur "BLOCK". Sinon, si le modèle est "1 all", "deny all" ou "Group Policy Deny", il est défini sur "BLOCK". Si le modèle est "allow all" (tout autoriser), "Group Policy Allow" (Autorisation par la stratégie de groupe) ou "0 all" (0 tout), il est défini sur "ALLOW" (AUTORISER). Sinon, la valeur est définie sur "UNKNOWN_ACTION". Si la décision contient "block", elle est définie sur "BLOCK".
adId principal.user.user_display_name Directement mappé à partir du champ "adId" dans les journaux JSON.
agent network.http.user_agent Les apostrophes sont supprimées. Directement mappé à partir du champ "Agent". Également converti en network.http.parsed_user_agent à l'aide du filtre parseduseragent.
soins network.session_id Mappé directement à partir du champ "Aide".
appProtocol network.application_protocol Converti en majuscules. Mappé directement à partir du champ "appProtocol".
attr additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "attr".
autorisation security_result.action_details Mappé directement à partir du champ d'autorisation dans les journaux JSON.
bracelet additional.fields Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "band".
bssids.bssid principal.mac Converties en minuscules. Fusionné dans le tableau principal.mac.
bssids.detectedBy.device intermediary.asset.asset_id Formaté comme suit : "ID de l'appareil : ".
bssids.detectedBy.rssi intermediary.asset.product_object_id Converti en chaîne.
Canal about.resource.attribute.labels Ajouté en tant que paire clé-valeur au tableau about.resource.attribute.labels avec la clé "Channel".
clientDescription additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "clientDescription".
clientId additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "clientId".
clientIp principal.ip, principal.asset.ip Directement mappé à partir du champ "clientIp".
clientMac principal.mac Converties en minuscules. Mappé directement à partir du champ "clientMac" dans les journaux JSON.
client_ip principal.ip, principal.asset.ip Directement mappé à partir du champ "client_ip".
client_mac principal.mac Converties en minuscules. Directement mappé à partir du champ "client_mac".
code additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "code".
collection_time metadata.event_timestamp Les champs "seconds" et "nanos" sont combinés pour créer un code temporel.
Conditions security_result.about.resource.attribute.labels Les retours chariot, les retours à la ligne et les tabulations sont remplacés par des espaces, et des valeurs spécifiques sont substituées. La valeur modifiée est ajoutée en tant que paire clé-valeur au tableau security_result.about.resource.attribute.labels avec la clé "Conditions".
la décision security_result.action Si la valeur est "blocked", elle est définie sur "BLOCK".
décroiss. metadata.description Mappé directement à partir du champ "desc".
description security_result.description Mappé directement à partir du champ de description dans les journaux JSON.
DestAddress target.ip, target.asset.ip Mappé directement à partir du champ "DestAddress".
DestPort target.port Converti en entier. Mappé directement à partir du champ "DestPort".
deviceIp target.ip Directement mappé à partir du champ deviceIp.
deviceMac target.mac Converties en minuscules. Mappé directement à partir du champ "deviceMac".
deviceName target.hostname, target.asset.hostname Mappé directement à partir du champ "deviceName" dans les journaux JSON.
deviceSerial target.asset.hardware.serial_number Directement mappé à partir du champ "deviceSerial" dans les journaux JSON.
Direction network.direction Les caractères spéciaux sont supprimés et la valeur est mappée sur network.direction.
DisabledPrivilegeList target.user.attribute Les retours à la ligne, les sauts de ligne et les tabulations sont remplacés, et la valeur modifiée est analysée en tant que JSON et fusionnée dans l'objet target.user.attribute.
dport target.port Converti en entier. Mappé directement à partir du champ "dport".
dst target.ip, target.asset.ip Mappé directement à partir du champ "dst".
dstIp target.ip, target.asset.ip Mappé directement à partir du champ "dstIp".
dstPort target.port Converti en entier. Mappé directement à partir du champ "dstPort".
dvc intermediary.hostname Mappé directement à partir du champ "dvc".
EnabledPrivilegeList target.user.attribute Les retours à la ligne, les sauts de ligne et les tabulations sont remplacés, et la valeur modifiée est analysée en tant que JSON et fusionnée dans l'objet target.user.attribute.
eventData.aid principal.asset_id Formaté comme suit : "ASSET_ID:".
eventData.client_ip principal.ip, principal.asset.ip Directement mappé à partir du champ eventData.client_ip dans les journaux JSON.
eventData.client_mac principal.mac Converties en minuscules. Directement mappé à partir du champ "eventData.client_mac" dans les journaux JSON.
eventData.group principal.group.group_display_name Directement mappé à partir du champ "eventData.group" dans les journaux JSON.
eventData.identity principal.hostname Directement mappé à partir du champ "eventData.identity" dans les journaux JSON.
eventData.ip principal.ip, principal.asset.ip Directement mappé à partir du champ "eventData.ip" dans les journaux JSON.
EventID metadata.product_event_type, security_result.rule_name Converti en chaîne. Mappé à metadata.product_event_type. Également utilisé pour créer security_result.rule_name au format "EventID: ". Permet de déterminer event_type et sec_action.
eventSummary security_result.summary, metadata.description Mappé directement à partir du champ "eventSummary". Également utilisé dans security_result.description pour certains événements.
eventType metadata.product_event_type Directement mappé à partir du champ eventType. Permet de déterminer la logique d'analyse à appliquer.
filename principal.process.file.full_path Directement mappé à partir du champ "Nom de fichier".
FilterId target.resource.product_object_id Directement mappé à partir du champ FilterId pour EventID 5447.
FilterName target.resource.name Directement mappé à partir du champ FilterName pour l'EventID 5447.
FilterRTID security_result.detection_fields Ajouté en tant que paire clé-valeur au tableau security_result.detection_fields avec la clé "FilterRTID".
firstSeen security_result.detection_fields Converti en chaîne. Ajoutée en tant que paire clé/valeur au tableau security_result.detection_fields avec la clé "firstSeen".
gatewayDeviceMac target.mac Converties en minuscules. Fusionné dans le tableau target.mac.
groupe additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "group".
GroupMembership target.user Les retours à la ligne, les nouvelles lignes, les tabulations et les caractères spéciaux sont supprimés. La valeur modifiée est analysée en tant que JSON et fusionnée dans l'objet target.user.
Nom d'hôte principal.hostname, principal.asset.hostname Directement mappé à partir du champ "Nom d'hôte".
identity target.user.userid Mappé directement à partir du champ d'identité.
instigateur additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "instigator".
int_ip intermediary.ip Mappé directement à partir du champ "int_ip".
ip_msg principal.resource.attribute.labels Ajoutée en tant que paire clé-valeur au tableau principal.resource.attribute.labels avec la clé "IPs".
is_8021x additional.fields Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "is_8021x".
KeyName target.resource.name Mappé directement à partir du champ "KeyName".
KeyFilePath target.file.full_path Mappé directement à partir du champ "KeyFilePath".
lastSeen security_result.detection_fields Converti en chaîne. Ajoutée en tant que paire clé-valeur au tableau security_result.detection_fields avec la clé "lastSeen".
last_known_client_ip principal.ip, principal.asset.ip Mappé directement à partir du champ "last_known_client_ip".
LayerName security_result.detection_fields Ajouté en tant que paire clé-valeur au tableau security_result.detection_fields avec la clé "Nom du calque".
LayerRTID security_result.detection_fields Ajouté en tant que paire clé/valeur au tableau security_result.detection_fields avec la clé "LayerRTID".
localIp principal.ip, principal.asset.ip Mappé directement à partir du champ localIp.
connexion principal.user.email_addresses Directement mappé à partir du champ de connexion dans les journaux JSON s'il correspond à un format d'adresse e-mail.
LogonGuid additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "LogonGuid".
LogonType extensions.auth.mechanism Mappé à un mécanisme d'authentification spécifique en fonction de sa valeur. Si PreAuthType est présent, il remplace LogonType. Les valeurs sont mappées comme suit : 2 -> USERNAME_PASSWORD, 3 -> NETWORK, 4 -> BATCH, 5 -> SERVICE, 7 -> UNLOCK, 8 -> NETWORK_CLEAR_TEXT, 9 -> NEW_CREDENTIALS, 10 -> REMOTE_INTERACTIVE, 11 -> CACHED_INTERACTIVE, 12 -> CACHED_REMOTE_INTERACTIVE, 13 -> CACHED_UNLOCK, autre -> MECHANISM_UNSPECIFIED.
mac principal.mac Converties en minuscules. Fusionné dans le tableau principal.mac.
MandatoryLabel additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "MandatoryLabel".
Message security_result.description, security_result.summary Si AccessReason est présent, Message est mappé sur security_result.summary et AccessReason est mappé sur security_result.description. Sinon, le message est mappé sur security_result.description.
method network.http.method Mappé directement à partir du champ "method".
Message security_result.description Mappé directement à partir du champ "msg".
nom principal.user.user_display_name Directement mappé à partir du champ "name" dans les journaux JSON.
natsrcIp principal.nat_ip Mappé directement à partir du champ "natsrcIp".
natsrcport principal.nat_port Converti en entier. Mappé directement à partir du champ "natsrcport".
network_id additional.fields Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "Network ID".
NewProcessId target.process.pid Mappé directement à partir du champ "NewProcessId".
NewProcessName target.process.file.full_path Mappé directement à partir du champ "NewProcessName".
NewSd target.resource.attribute.labels Ajouté en tant que paire clé-valeur au tableau target.resource.attribute.labels avec la clé "New Security Descriptor".
occurredAt metadata.event_timestamp Analysé en tant que code temporel au format ISO8601.
ObjectName target.file.full_path, target.registry.registry_key, target.process.file.full_path, additional.fields Si EventID est défini sur 4663 et ObjectType sur "Process", il est mappé sur target.process.file.full_path. Si ObjectType est défini sur "Key", il est mappé sur target.registry.registry_key. Sinon, il est mappé sur target.file.full_path. Pour les autres événements, il est ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "ObjectName".
ObjectType additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "ObjectType". Utilisé pour déterminer event_type.
OldSd target.resource.attribute.labels Ajouté en tant que paire clé-valeur au tableau target.resource.attribute.labels avec la clé "Original Security Descriptor".
organizationId principal.resource.id Mappé directement à partir du champ "organizationId" dans les journaux JSON.
ParentProcessName target.process.parent_process.file.full_path Mappé directement à partir du champ "ParentProcessName".
modèle security_result.description Directement mappé à security_result.description. Utilisé pour déterminer security_result.action.
peer_ident target.user.userid Mappé directement à partir du champ "peer_ident".
PreAuthType extensions.auth.mechanism Utilisé pour déterminer le mécanisme d'authentification, le cas échéant. Remplace LogonType.
principalIp principal.ip, principal.asset.ip Mappé directement à partir du champ principalIp.
principalMac principal.mac Converties en minuscules. Fusionné dans le tableau principal.mac.
principalPort principal.port Converti en entier. Mappé directement à partir du champ "principalPort".
prin_ip2 principal.ip, principal.asset.ip Mappé directement à partir du champ "prin_ip2".
prin_url principal.url Mappé directement à partir du champ prin_url.
priorité security_result.priority Mappé à un niveau de priorité en fonction de sa valeur : 1 -> HIGH_PRIORITY, 2 -> MEDIUM_PRIORITY, 3 -> LOW_PRIORITY, autre -> UNKNOWN_PRIORITY.
ProcessID principal.process.pid Converti en chaîne. Mappé directement à partir du champ "ProcessID".
ProcessName principal.process.file.full_path, target.process.file.full_path Si EventID est défini sur 4689, il est mappé sur target.process.file.full_path. Sinon, il est mappé sur principal.process.file.full_path.
prod_log_id metadata.product_log_id Mappé directement à partir du champ prod_log_id.
protocol network.ip_protocol Converti en majuscules. S'il s'agit d'un nombre, il est converti en nom de protocole IP correspondant. Si la valeur est "ICMP6", elle est remplacée par "ICMP". Mappé directement à partir du champ "Protocole".
ProviderGuid metadata.product_deployment_id Directement mappé à partir du champ ProviderGuid.
requête network.dns.questions.name Directement mappé à partir du champ de requête.
query_type network.dns.questions.type Renommé en question.type et fusionné dans le tableau network.dns.questions. Correspond à une valeur numérique basée sur le type de requête DHCP.
radio additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "radio".
reason additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "reason".
rec_bytes network.received_bytes Convertie en entier non signé. Mappé directement à partir du champ "rec_bytes".
RecordNumber metadata.product_log_id Converti en chaîne. Mappé directement à partir du champ "RecordNumber".
RelativeTargetName target.process.file.full_path Mappé directement à partir du champ RelativeTargetName.
response_ip principal.ip, principal.asset.ip Mappé directement à partir du champ "response_ip".
rssi intermediary.asset.product_object_id Mappé directement à partir du champ "rssi".
sc_action security_result.action_details Mappé directement à partir du champ sc_action.
sec_action security_result.action Fusionné dans le tableau security_result.action.
server_ip client_ip Directement mappé au champ "client_ip".
Gravité security_result.severity Mappé à un niveau de gravité en fonction de sa valeur : "Info" -> INFORMATIONAL, "Error" -> ERROR, "Warning" -> MEDIUM, autre -> UNKNOWN_SEVERITY.
sha256 target.file.sha256 Mappé directement à partir du champ "sha256".
signature additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "signature".
SourceAddress principal.ip, principal.asset.ip Mappé directement à partir du champ "SourceAddress".
SourceHandleId src.resource.id Mappé directement à partir du champ SourceHandleId.
SourceModuleName observer.labels Ajouté en tant que paire clé-valeur au tableau observer.labels avec la clé "SourceModuleName".
SourceModuleType observer.application Mappé directement à partir du champ SourceModuleType.
SourcePort principal.port Converti en entier. Mappé directement à partir du champ SourcePort.
SourceProcessId src.process.pid Mappé directement à partir du champ SourceProcessId.
source_client_ip client_ip Directement mappé au champ "client_ip".
sport principal.port Converti en entier. Mappé directement à partir du champ "Sport".
src principal.ip, principal.asset.ip Mappé directement à partir du champ "src".
ssid network.session_id Directement mappé à partir du champ "ssid" dans les journaux JSON.
ssidName additional.fields Ajouté en tant que paire clé-valeur au tableau additional.fields avec la clé "ssidName".
state additional.fields Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "state".
État additional.fields Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "Status".
status_code network.http.response_code Converti en entier. Directement mappé à partir du champ "status_code".
SubjectDomainName principal.administrative_domain Mappé directement à partir du champ "SubjectDomainName".
SubjectLogonId principal.resource.attribute.labels Ajoutée en tant que paire clé/valeur au tableau principal.resource.attribute.labels avec la clé "SubjectLogonId".
SubjectUserName principal.user.userid Mappé directement à partir du champ "SubjectUserName".
SubjectUserSid principal.user.windows_sid Mappé directement à partir du champ SubjectUserSid.
targetHost target.hostname, target.asset.hostname Converti en adresse IP si possible. Sinon, il est analysé pour extraire le nom d'hôte et mappé sur target.hostname et target.asset.hostname.
TargetHandleId target.resource.id Mappé directement à partir du champ TargetHandleId.
TargetLogonId principal.resource.attribute.labels Ajouté en tant que paire clé/valeur au tableau principal.resource.attribute.labels avec la clé "TargetLogonId" s'il est différent de SubjectLogonId.
TargetProcessId target.process.pid Mappé directement à partir du champ TargetProcessId.
TargetUserName target.user.userid Mappé directement à partir du champ "TargetUserName".
TargetUserSid target.user.windows_sid Mappé directement à partir du champ TargetUserSid.
Tâche additional.fields Converti en chaîne. Ajouté en tant que paire clé/valeur au tableau additional.fields avec la clé "Task".
timestamp metadata.event_timestamp Le champ "secondes" est utilisé pour créer un code temporel.
ts metadata.event_timestamp Si ts est vide, il est créé en combinant tsDate, tsTime et tsTZ. S'il contient "", il est analysé pour extraire la valeur entière. Il est ensuite analysé comme code temporel à l'aide de différents formats.
type security_result.summary, metadata.product_event_type Directement mappé à partir du champ "type" dans les journaux JSON. Également utilisé comme eventSummary et metadata.product_event_type dans certains cas.
url target.url, principal.url Mappé directement à partir du champ "URL".
url1 target.url Mappé directement à partir du champ "url1".
utilisateur target.user.group_identifiers Fusionné dans le tableau target.user.group_identifiers.
user_id target.user.userid Mappé directement à partir du champ "user_id".
UserID principal.user.windows_sid Mappé directement à partir du champ "UserID".
Nom d'utilisateur principal.user.userid Mappé directement à partir du champ "UserName".
user_agent network.http.user_agent Mappé directement à partir du champ "user_agent".
userId target.user.userid Mappé directement à partir du champ "userId".
vap additional.fields Ajouté en tant que paire clé-valeur au tableau "additional.fields" avec la clé "vap".
VirtualAccount security_result.about.labels Ajouté en tant que paire clé-valeur au tableau security_result.about.labels avec la clé "VirtualAccount".
wiredLastSeen security_result.detection_fields Converti en chaîne. Ajouté en tant que paire clé/valeur au tableau security_result.detection_fields avec la clé "wiredLastSeen".
wiredMacs intermediary.mac Converties en minuscules. Fusionné dans le tableau intermediary.mac.
WorkstationName principal.hostname, principal.asset.hostname Mappé directement à partir du champ "WorkstationName".

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.