Raccogli i log AWS CloudWatch

Supportato in:

Questo documento spiega come importare i log di AWS CloudWatch in Google Security Operations utilizzando Amazon S3.

AWS CloudWatch è un servizio di monitoraggio e osservabilità che raccoglie dati operativi sotto forma di log, metriche ed eventi da risorse e applicazioni AWS. Questa integrazione utilizza Amazon Data Firehose per trasmettere in streaming i dati dei log CloudWatch a un bucket S3, che Google SecOps acquisisce utilizzando un feed Amazon S3 V2.

Prima di iniziare

  • Un'istanza Google SecOps
  • Accesso privilegiato alla Console di gestione AWS con autorizzazioni per gestire:
    • Amazon CloudWatch Logs (gruppi di log, filtri di sottoscrizione)
    • Amazon Data Firehose (flussi di distribuzione)
    • Amazon S3 (bucket)
    • AWS IAM (ruoli, criteri, utenti)

Configurare il bucket AWS S3

  1. Crea un bucket Amazon S3 seguendo questa guida utente: Creazione di un bucket.
  2. Salva il nome e la regione del bucket per riferimento futuro (ad esempio, cwlogs-to-secops).

Configura il ruolo IAM per Amazon Data Firehose

Amazon Data Firehose richiede un ruolo IAM per scrivere i log nel bucket S3.

Crea il criterio IAM

  1. Nella console AWS, vai a IAM > Policy > Crea policy.
  2. Seleziona la scheda JSON.
  3. Incolla la seguente policy (sostituisci cwlogs-to-secops con il nome del bucket effettivo):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "S3Delivery",
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetBucketLocation",
                    "s3:GetObject",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:PutObject"
                ],
                "Resource": [
                    "arn:aws:s3:::cwlogs-to-secops",
                    "arn:aws:s3:::cwlogs-to-secops/*"
                ]
            },
            {
                "Sid": "CloudWatchLogging",
                "Effect": "Allow",
                "Action": [
                    "logs:PutLogEvents"
                ],
                "Resource": "arn:aws:logs:*:*:log-group:/aws/kinesisfirehose/cwlogs-to-secops:log-stream:*"
            }
        ]
    }
    
  4. Fai clic su Avanti.

  5. Nel campo Nome policy, inserisci FirehoseS3DeliveryPolicy.

  6. Fai clic su Crea policy.

Crea il ruolo IAM

  1. Vai a IAM > Ruoli > Crea ruolo.
  2. Seleziona Norme di attendibilità personalizzate.
  3. Incolla la seguente policy di attendibilità:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "firehose.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  4. Fai clic su Avanti.

  5. Cerca e seleziona FirehoseS3DeliveryPolicy.

  6. Fai clic su Avanti.

  7. Nel campo Nome ruolo, inserisci FirehoseToS3Role.

  8. Fai clic su Crea ruolo.

Crea lo stream Amazon Data Firehose

  1. Apri la console Kinesis all'indirizzo https://console.aws.amazon.com/kinesis.
  2. Nel riquadro di navigazione, seleziona Amazon Data Firehose.
  3. Fai clic su Crea stream Firehose.
  4. In Scegli origine e destinazione, fornisci la seguente configurazione:
    • Origine: seleziona PUT diretto.
    • Destinazione: seleziona Amazon S3.
  5. Nel campo Nome stream Firehose, inserisci cwlogs-to-secops.
  6. Nella sezione Trasforma record, nella sezione Decomprimi record di origine da Amazon CloudWatch Logs:

    1. Seleziona Attiva decompressione.
    2. Non selezionare Attiva l'estrazione dei messaggi.
  7. Nella sezione Impostazioni destinazione:

    • Bucket S3: seleziona il bucket S3 cwlogs-to-secops.
    • Prefisso bucket S3 (facoltativo): inserisci cloudwatch-logs/.
    • Prefisso output errori bucket S3 (facoltativo): inserisci firehose-errors/.
  8. Nella sezione Suggerimenti per il buffer:

    • Dimensione del buffer: 5 MiB (valore predefinito).
    • Intervallo di buffer: 300 secondi (impostazione predefinita).
  9. Nella sezione Impostazioni avanzate:

    • Crittografia lato server: facoltativa. Attiva se è necessaria la crittografia.
    • Registrazione degli errori: seleziona Attivata (opzione consigliata).
    • Autorizzazioni: seleziona Scegli ruolo IAM esistente, quindi seleziona FirehoseToS3Role.
  10. Fai clic su Crea stream Firehose.

  11. Attendi che lo Stato dello stream mostri Attivo.

Configura il ruolo IAM per CloudWatch Logs

CloudWatch Logs richiede un ruolo IAM per inviare i dati di log al flusso Firehose.

Crea il criterio IAM

  1. Vai a IAM > Policy > Crea policy.
  2. Seleziona la scheda JSON.
  3. Incolla il seguente criterio (sostituisci <region> e <account-id> con la tua regione AWS e il tuo ID account):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "firehose:PutRecord",
                    "firehose:PutRecordBatch"
                ],
                "Resource": "arn:aws:firehose:<region>:<account-id>:deliverystream/cwlogs-to-secops"
            }
        ]
    }
    
  4. Fai clic su Avanti.

  5. Nel campo Nome policy, inserisci CWLtoFirehoseWritePolicy.

  6. Fai clic su Crea policy.

Crea il ruolo IAM

  1. Vai a IAM > Ruoli > Crea ruolo.
  2. Seleziona Norme di attendibilità personalizzate.
  3. Incolla la seguente policy di attendibilità (sostituisci <region> con la tua regione AWS):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "logs.<region>.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  4. Fai clic su Avanti.

  5. Cerca e seleziona CWLtoFirehoseWritePolicy.

  6. Fai clic su Avanti.

  7. Nel campo Nome ruolo, inserisci CWLtoFirehoseRole.

  8. Fai clic su Crea ruolo.

Crea un filtro di sottoscrizione CloudWatch Logs

  1. Nella console AWS, vai a CloudWatch > Log > Gruppi di log.
  2. Seleziona il gruppo di log di destinazione a cui vuoi eseguire lo streaming in Google SecOps.
  3. Seleziona la scheda Filtri abbonamenti.
  4. Fai clic su Crea > Crea filtro di abbonamento Amazon Data Firehose.
  5. Fornisci i seguenti dettagli di configurazione:
    • Destinazione: seleziona lo stream Firehose cwlogs-to-secops.
    • Concedi autorizzazione: seleziona il ruolo CWLtoFirehoseRole.
    • Nome filtro iscrizione: inserisci un nome descrittivo (ad esempio, secops-all-events).
    • Formato log: seleziona Altro.
    • Pattern di filtro della sottoscrizione: lascia vuoto per inviare tutti gli eventi o inserisci un pattern di filtro per inviare solo eventi specifici.
  6. Fai clic su Avvia streaming.

Configurare l'utente IAM per Google SecOps

Google SecOps ha bisogno di un utente IAM con accesso al bucket S3 per importare i log forniti.

  1. Crea un utente seguendo questa guida utente: Creazione di un utente IAM.
  2. Seleziona l'utente creato.
  3. Seleziona la scheda Credenziali di sicurezza.
  4. Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
  5. Seleziona Servizio di terze parti come Caso d'uso.
  6. Fai clic su Avanti.
  7. (Facoltativo) Aggiungi il tag della descrizione.
  8. Fai clic su Crea chiave di accesso.
  9. Fai clic su Scarica file .csv per salvare la chiave di accesso e la chiave di accesso segreta per riferimento futuro.
  10. Fai clic su Fine.
  11. Seleziona la scheda Autorizzazioni.
  12. Fai clic su Aggiungi autorizzazioni nella sezione Norme relative alle autorizzazioni.
  13. Seleziona Aggiungi autorizzazioni.
  14. Seleziona Allega direttamente i criteri.
  15. Cerca il criterio AmazonS3FullAccess.
  16. Seleziona la policy.
  17. Fai clic su Avanti.
  18. Fai clic su Aggiungi autorizzazioni.

Configura un feed in Google SecOps per importare i log AWS CloudWatch

  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. Inserisci un nome univoco per il nome del feed.
  5. Seleziona Amazon S3 V2 come Tipo di origine.
  6. Seleziona AWS CloudWatch come tipo di log.
  7. Fai clic su Avanti e poi su Invia.
  8. Specifica i valori per i seguenti campi:
    • URI S3: s3://cwlogs-to-secops/cloudwatch-logs/
    • Opzione di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
    • Età massima file: includi i file modificati nell'ultimo numero di giorni (il valore predefinito è 180 giorni).
    • ID chiave di accesso: chiave di accesso utente con accesso al bucket S3.
    • Chiave di accesso segreta: chiave segreta dell'utente con accesso al bucket S3.
    • 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 e poi su Invia.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
account principal.user.userid Il valore di account del log non elaborato viene mappato al campo principal.user.userid.
account_id principal.user.userid Il valore di account_id del log non elaborato viene mappato al campo principal.user.userid.
AlertId metadata.product_log_id Il valore di AlertId del log non elaborato viene mappato al campo metadata.product_log_id.
arrivalTimestamp metadata.event_timestamp Il valore di arrivalTimestamp del log non elaborato viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
attemptsMade additional.fields Il valore di attemptsMade del log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "Attempts Made".
awsAccountId principal.asset_id Il valore di awsAccountId del log non elaborato viene preceduto da "ID account AWS: " e mappato al campo principal.asset_id.
billed_duration additional.fields Il valore di billed_duration del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "billed_duration".
BytesIn network.received_bytes Il valore di BytesIn del log non elaborato viene convertito in un numero intero senza segno e mappato al campo network.received_bytes.
cipher network.tls.cipher Il valore di cipher del log non elaborato viene mappato al campo network.tls.cipher.
Ciphers network.tls.client.supported_ciphers Il valore di Ciphers del log grezzo viene suddiviso in base alle virgole e ogni valore viene aggiunto all'array network.tls.client.supported_ciphers.
cloudwatchLog security_result.description Il valore di cloudwatchLog del log non elaborato viene mappato al campo security_result.description.
CloudAccountId metadata.product_deployment_id Il valore di CloudAccountId del log non elaborato viene mappato al campo metadata.product_deployment_id.
CloudType target.resource.attribute.cloud.environment Il valore di CloudType del log non elaborato determina il valore di target.resource.attribute.cloud.environment. Se CloudType è "gcp", il valore è "GOOGLE_CLOUD_PLATFORM". Se CloudType è "aws", il valore è "AMAZON_WEB_SERVICES". Se CloudType è "azure", il valore è "MICROSOFT_AZURE".
Context.Execution.Id target.resource.attribute.labels Il valore di Context.Execution.Id del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "ID contesto".
Context.Execution.Name target.resource.attribute.labels Il valore di Context.Execution.Name del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "Nome contesto".
Context.Execution.RoleArn target.resource.product_object_id Il valore di Context.Execution.RoleArn del log non elaborato viene mappato al campo target.resource.product_object_id.
descr metadata.description Il valore di descr del log non elaborato, dopo la rimozione degli spazi bianchi aggiuntivi, viene mappato al campo metadata.description, a meno che non sia "-". Se descr è vuoto, viene utilizzato il valore di log.
destination.name target.location.country_or_region Il valore di destination.name del log non elaborato viene mappato al campo target.location.country_or_region.
destination.properties.prefix target.resource.attribute.labels Il valore di destination.properties.prefix del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "Prefisso proprietà di destinazione".
detail.additionalEventData.configRuleArn security_result.rule_id Il valore di detail.additionalEventData.configRuleArn del log non elaborato viene mappato al campo security_result.rule_id.
detail.additionalEventData.configRuleName security_result.rule_name Il valore di detail.additionalEventData.configRuleName del log non elaborato viene mappato al campo security_result.rule_name.
detail.additionalEventData.managedRuleIdentifier additional.fields Il valore di detail.additionalEventData.managedRuleIdentifier del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "managedRuleIdentifier".
detail.additionalEventData.notificationJobType additional.fields Il valore di detail.additionalEventData.notificationJobType del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "notificationJobType".
detail.awsAccountId principal.asset_id Il valore di detail.awsAccountId del log non elaborato viene preceduto da "ID account AWS: " e mappato al campo principal.asset_id.
detail.awsRegion principal.location.name Il valore di detail.awsRegion del log non elaborato viene mappato al campo principal.location.name.
detail.configRuleArn security_result.rule_id Il valore di detail.configRuleArn del log non elaborato viene mappato al campo security_result.rule_id.
detail.configRuleName security_result.rule_name Il valore di detail.configRuleName del log non elaborato viene mappato al campo security_result.rule_name.
detail.configurationItem.awsAccountId principal.user.userid Il valore di detail.configurationItem.awsAccountId del log non elaborato viene mappato al campo principal.user.userid.
detail.configurationItem.awsRegion target.location.country_or_region Il valore di detail.configurationItem.awsRegion del log non elaborato viene mappato al campo target.location.country_or_region.
detail.configurationItem.configuration.complianceType security_result.summary Il valore di detail.configurationItem.configuration.complianceType del log non elaborato viene mappato al campo security_result.summary.
detail.configurationItem.configuration.targetResourceId target.resource.attribute.labels Il valore di detail.configurationItem.configuration.targetResourceId del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "configurationItem configuration targetResourceId".
detail.configurationItem.configuration.targetResourceType target.resource.attribute.labels Il valore di detail.configurationItem.configuration.targetResourceType del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "configurationItem configuration targetResourceType".
detail.configurationItem.configurationItemCaptureTime _target.asset.attribute.creation_time Il valore di detail.configurationItem.configurationItemCaptureTime del log non elaborato viene convertito in un timestamp e mappato al campo _target.asset.attribute.creation_time.
detail.configurationItem.configurationItemStatus target.resource.attribute.labels Il valore di detail.configurationItem.configurationItemStatus del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "configurationItem configurationItemStatus".
detail.configurationItem.configurationStateId target.resource.attribute.labels Il valore di detail.configurationItem.configurationStateId del log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "configurationItem configurationStateId".
detail.configurationItem.resourceId target.resource.id Il valore di detail.configurationItem.resourceId del log non elaborato viene mappato al campo target.resource.id.
detail.configurationItem.resourceType target.resource.resource_subtype Il valore di detail.configurationItem.resourceType del log non elaborato viene mappato al campo target.resource.resource_subtype.
detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn security_result.rule_id Il valore di detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn del log non elaborato viene mappato al campo security_result.rule_id.
detail.eventCategory security_result.category_details Il valore di detail.eventCategory del log non elaborato viene mappato al campo security_result.category_details.
detail.eventID metadata.product_log_id Il valore di detail.eventID del log non elaborato viene mappato al campo metadata.product_log_id.
detail.eventName additional.fields Il valore di detail.eventName del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Nome evento".
detail.eventSource target.application Il valore di detail.eventSource del log non elaborato viene mappato al campo target.application.
detail.eventType additional.fields Il valore di detail.eventType del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Tipo di evento".
detail.eventVersion metadata.product_version Il valore di detail.eventVersion del log non elaborato viene mappato al campo metadata.product_version.
detail.managementEvent additional.fields Il valore di detail.managementEvent del log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "detail managementEvent".
detail.messageType target.resource.attribute.labels Il valore di detail.messageType del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "Tipo di messaggio".
detail.newEvaluationResult.complianceType security_result.summary Il valore di detail.newEvaluationResult.complianceType del log non elaborato viene mappato al campo security_result.summary.
detail.newEvaluationResult.configRuleInvokedTime additional.fields Il valore di detail.newEvaluationResult.configRuleInvokedTime del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_configRuleInvokedTime".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName additional.fields Il valore di detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_configRuleName".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId additional.fields Il valore di detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_resourceId".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType additional.fields Il valore di detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_resourceType".
detail.newEvaluationResult.resultRecordedTime additional.fields Il valore di detail.newEvaluationResult.resultRecordedTime del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "newEvaluationResult_resultRecordedTime".
detail.oldEvaluationResult.configRuleInvokedTime additional.fields Il valore di detail.oldEvaluationResult.configRuleInvokedTime del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_configRuleInvokedTime".
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName additional.fields Il valore di detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_configRuleName".
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId additional.fields Il valore di detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_resourceId".
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType additional.fields Il valore di detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_resourceType".
detail.oldEvaluationResult.resultRecordedTime additional.fields Il valore di detail.oldEvaluationResult.resultRecordedTime del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "oldEvaluationResult_resultRecordedTime".
detail.readOnly additional.fields Il valore di detail.readOnly del log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "detail readOnly".
detail.recipientAccountId target.resource.attribute.labels Il valore di detail.recipientAccountId del log grezzo viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "ID account destinatario".
detail.recordVersion metadata.product_version Il valore di detail.recordVersion del log non elaborato viene mappato al campo metadata.product_version.
detail.requestID target.resource.attribute.labels Il valore di detail.requestID del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "ID richiesta dettagliata".
detail.resourceType target.resource.resource_subtype Il valore di detail.resourceType del log non elaborato viene mappato al campo target.resource.resource_subtype.
detail.s3Bucket about.resource.name Il valore di detail.s3Bucket del log non elaborato viene mappato al campo about.resource.name.
detail.s3ObjectKey target.resource.attribute.labels Il valore di detail.s3ObjectKey del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "s3ObjectKey".
detail.userAgent network.http.user_agent Il valore di detail.userAgent del log non elaborato viene mappato al campo network.http.user_agent.
detail.userIdentity.accessKeyId target.user.userid Il valore di detail.userIdentity.accessKeyId del log non elaborato viene mappato al campo target.user.userid.
detail.userIdentity.accountId metadata.product_deployment_id Il valore di detail.userIdentity.accountId del log non elaborato viene mappato al campo metadata.product_deployment_id.
detail.userIdentity.arn target.user.userid Il valore di detail.userIdentity.arn del log non elaborato viene mappato al campo target.user.userid.
detail.userIdentity.principalId principal.user.product_object_id Il valore di detail.userIdentity.principalId del log non elaborato viene mappato al campo principal.user.product_object_id.
detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels Il valore di detail.userIdentity.sessionContext.attributes.mfaAuthenticated del log non elaborato viene aggiunto come coppia chiave-valore a principal.user.attribute.labels con la chiave "mfaAuthenticated".
detail.userIdentity.sessionContext.sessionIssuer.userName target.user.user_display_name Il valore di detail.userIdentity.sessionContext.sessionIssuer.userName del log non elaborato viene mappato al campo target.user.user_display_name.
detail.userIdentity.type principal.resource.type Il valore di detail.userIdentity.type del log non elaborato viene mappato al campo principal.resource.type.
detail-type metadata.product_event_type Il valore di detail-type del log non elaborato viene mappato al campo metadata.product_event_type.
device principal.asset.product_object_id Il valore di device del log non elaborato viene mappato al campo principal.asset.product_object_id.
digestPublicKeyFingerprint target.file.sha1 Il valore di digestPublicKeyFingerprint del log non elaborato viene mappato al campo target.file.sha1.
digestS3Bucket principal.resource.name Il valore di digestS3Bucket del log non elaborato viene mappato al campo principal.resource.name.
digestS3Object principal.asset.asset_id Il valore di digestS3Object del log non elaborato viene preceduto da "S3 Object: " e mappato al campo principal.asset.asset_id.
digestSignatureAlgorithm network.tls.cipher Il valore di digestSignatureAlgorithm del log non elaborato viene mappato al campo network.tls.cipher.
digestStartTime metadata.event_timestamp Il valore di digestStartTime del log non elaborato viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
dimensions.VolumeId additional.fields Il valore di dimensions.VolumeId del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "VolumeId".
duration additional.fields Il valore di duration del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "duration".
errorCode security_result.rule_name Il valore di errorCode del log non elaborato viene mappato al campo security_result.rule_name.
errorMessage security_result.summary Il valore di errorMessage del log non elaborato viene mappato al campo security_result.summary.
executionId principal.process.pid Il valore di executionId del log non elaborato viene mappato al campo principal.process.pid.
host principal.hostname, principal.ip Il valore di host del log non elaborato, con i trattini sostituiti dai punti, viene analizzato come indirizzo IP e mappato al campo principal.ip se l'operazione va a buon fine. In caso contrario, viene mappato al campo principal.hostname.
http_verb network.http.method Il valore di http_verb del log non elaborato viene convertito in maiuscolo e mappato al campo network.http.method.
kubernetes.container_hash additional.fields Il valore di kubernetes.container_hash del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "container_hash".
kubernetes.container_image additional.fields Il valore di kubernetes.container_image del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "container_image".
kubernetes.container_name additional.fields Il valore di kubernetes.container_name del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "container_name".
kubernetes.docker_id principal.asset_id Il valore di kubernetes.docker_id del log non elaborato viene preceduto da "id: " e mappato al campo principal.asset_id.
kubernetes.host principal.hostname, principal.ip Il valore di kubernetes.host del log non elaborato, con i trattini sostituiti dai punti, viene analizzato come indirizzo IP e mappato al campo principal.ip se l'operazione va a buon fine. In caso contrario, viene mappato al campo principal.hostname.
kubernetes.namespace principal.namespace Il valore di kubernetes.namespace del log non elaborato viene mappato al campo principal.namespace.
kubernetes.namespace_name principal.namespace Il valore di kubernetes.namespace_name del log non elaborato viene mappato al campo principal.namespace.
kubernetes.pod_id principal.asset.asset_id Il valore di kubernetes.pod_id del log non elaborato viene preceduto da "pod_id: " e mappato al campo principal.asset.asset_id.
kubernetes.pod_name additional.fields Il valore di kubernetes.pod_name del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "nome pod".
lambdaArn principal.hostname Il valore di lambdaArn del log non elaborato viene mappato al campo principal.hostname.
level security_result.severity Il valore di level del log non elaborato determina il valore di security_result.severity. Se level è "Info", il valore è "INFORMATIONAL". Se level è "Errore", il valore è "ERROR". Se level è "Avviso", il valore è "MEDIA".
log metadata.description Se descr è vuoto, il valore di log del log non elaborato viene mappato al campo metadata.description.
logFiles about Per ogni elemento dell'array logFiles del log non elaborato, viene creato un oggetto about con file.full_path impostato su s3Object, asset.hostname impostato su s3Bucket e file.sha256 impostato su hashValue.
log_processed.cause security_result.summary Il valore di log_processed.cause del log non elaborato viene mappato al campo security_result.summary.
log_processed.ids intermediary.hostname Per ogni elemento dell'array log_processed.ids del log non elaborato, viene creato un oggetto intermediary con hostname impostato sul valore dell'elemento.
log_processed.level security_result.severity Il valore di log_processed.level del log non elaborato viene mappato al campo security_result.severity.
log_processed.msg metadata.description Il valore di log_processed.msg del log non elaborato viene mappato al campo metadata.description.
log_processed.ts metadata.event_timestamp Il valore di log_processed.ts del log non elaborato viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
log_type metadata.log_type Il valore di log_type del log non elaborato viene mappato al campo metadata.log_type. Si tratta di un campo personalizzato aggiunto per il contesto.
logevent.message security_result.description Il valore di logevent.message del log non elaborato viene mappato al campo security_result.description. Viene anche analizzato utilizzando grok per estrarre campi aggiuntivi.
logGroup security_result.about.resource.name Il valore di logGroup del log non elaborato viene mappato al campo security_result.about.resource.name.
logStream security_result.about.resource.attribute.labels Il valore di logStream del log non elaborato viene aggiunto come coppia chiave-valore a security_result.about.resource.attribute.labels con la chiave "logStream".
memory_used additional.fields Il valore di memory_used del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "memory_used".
metric_name additional.fields Il valore di metric_name del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "metric_name".
metric_stream_name additional.fields Il valore di metric_stream_name del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "metric_stream_name".
namespace principal.namespace Il valore di namespace del log non elaborato viene mappato al campo principal.namespace.
owner principal.user.userid Il valore di owner del log non elaborato viene mappato al campo principal.user.userid.
parameters additional.fields Il valore di parameters del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Parameters".
Path principal.process.file.full_path Il valore di Path del log non elaborato viene mappato al campo principal.process.file.full_path.
pid principal.process.pid Il valore di pid del log non elaborato viene mappato al campo principal.process.pid.
PolicyName security_result.rule_name Il valore di PolicyName del log non elaborato viene mappato al campo security_result.rule_name.
prin_host principal.hostname Il valore di prin_host del log non elaborato viene mappato al campo principal.hostname.
principal_hostname principal.hostname Il valore di principal_hostname del log non elaborato viene mappato al campo principal.hostname.
process principal.application Il valore di process del log non elaborato viene mappato al campo principal.application.
rawData additional.fields Il valore di rawData del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Raw Data".
Recommendation security_result.detection_fields Il valore di Recommendation del log non elaborato viene aggiunto come coppia chiave-valore a security_result.detection_fields con la chiave "Recommendation".
referral_url network.http.referral_url Il valore di referral_url del log non elaborato viene mappato al campo network.http.referral_url.
region principal.location.name Il valore di region del log non elaborato viene mappato al campo principal.location.name.
resp_code network.http.response_code Il valore di resp_code del log non elaborato viene convertito in un numero intero e mappato al campo network.http.response_code.
resource_url network.http.referral_url Il valore di resource_url del log non elaborato viene mappato al campo network.http.referral_url.
ResourceType target.resource.resource_subtype Il valore di ResourceType del log non elaborato viene mappato al campo target.resource.resource_subtype.
response_body additional.fields Il valore di response_body del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "Corpo della risposta".
Role target.resource.product_object_id Il valore di Role del log non elaborato viene mappato al campo target.resource.product_object_id.
s3_bucket_path target.file.full_path Il valore di s3_bucket_path del log non elaborato viene mappato al campo target.file.full_path.
sec_result.category security_result.category Il valore di sec_result.category è derivato dalla logica del parser. Se descr contiene "authentication is required", il valore è "AUTH_VIOLATION".
sec_result.description security_result.description Il valore di sec_result.description è derivato dalla logica del parser. Se presente, è impostato sul valore di cloudwatchLog.
sec_result.severity security_result.severity Il valore di sec_result.severity è derivato dalla logica del parser. Viene impostato in base al valore di severity o level.
sec_result.summary security_result.summary Il valore di sec_result.summary è derivato dalla logica del parser. È impostato sul valore di log_processed.cause o errorMessage, se presente.
security_result security_result L'oggetto security_result è costruito a partire da vari campi e dalla logica del parser.
serverId additional.fields Il valore di serverId del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "server_id".
severity security_result.severity Il valore di severity dal log non elaborato, convertito in maiuscolo e normalizzato, viene mappato al campo security_result.severity.
Source principal.hostname Il valore di Source del log non elaborato viene mappato al campo principal.hostname.
source principal.hostname Il valore di source del log non elaborato viene mappato al campo principal.hostname.
SourceIP principal.ip Il valore di SourceIP del log non elaborato viene mappato al campo principal.ip.
src_port principal.port Se src_port è "80", viene convertito in un numero intero e mappato al campo principal.port, mentre network.application_protocol è impostato su "HTTP".
stream additional.fields Il valore di stream del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "stream".
subscriptionFilters security_result.about.resource.attribute.labels Per ogni elemento dell'array subscriptionFilters del log non elaborato, viene aggiunta una coppia chiave-valore a security_result.about.resource.attribute.labels con la chiave "subscriptionFilter" e il valore dell'array.
support_contact target.resource.attribute.labels Il valore di support_contact del log non elaborato viene aggiunto come coppia chiave-valore a target.resource.attribute.labels con la chiave "Support Contact".
t_ip target.ip Il valore di t_ip dal log non elaborato, dopo la rimozione dei trattini, viene analizzato come indirizzo IP e mappato al campo target.ip se l'operazione va a buon fine.
time metadata.event_timestamp Il valore di time del log non elaborato viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
timestamp metadata.event_timestamp Il valore di timestamp del log non elaborato viene convertito in un timestamp utilizzando vari formati e mappato al campo metadata.event_timestamp.
tls network.tls.version Il valore di tls del log non elaborato viene mappato al campo network.tls.version.
transferDetails.serverId additional.fields Il valore di transferDetails.serverId del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "server_id".
transferDetails.sessionId network.session_id Il valore di transferDetails.sessionId del log non elaborato viene mappato al campo network.session_id.
transferDetails.username principal.user.user_display_name Il valore di transferDetails.username del log non elaborato viene mappato al campo principal.user.user_display_name.
ts metadata.event_timestamp Il valore di ts del log non elaborato, combinato con il fuso orario, se disponibile, viene convertito in un timestamp e mappato al campo metadata.event_timestamp.
type metadata.product_event_type Il valore di type del log non elaborato viene mappato al campo metadata.product_event_type.
unit additional.fields Il valore di unit del log grezzo viene aggiunto come coppia chiave-valore a additional.fields con la chiave "unit".
url target.url Il valore di url del log non elaborato viene mappato al campo target.url.
url_back_to_product metadata.url_back_to_product Il valore di url_back_to_product del log non elaborato viene mappato al campo metadata.url_back_to_product.
User principal.user.userid Il valore di User del log non elaborato viene mappato al campo principal.user.userid.
user target.user.userid, metadata.event_type, extensions.auth.mechanism Se user è presente, metadata.event_type è impostato su "USER_LOGIN", extensions.auth.mechanism è impostato su "NETWORK" e il valore di user è mappato a target.user.userid.
value.count additional.fields Il valore di value.count del log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "count".
value.max additional.fields Il valore di value.max del log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "max".
value.min additional.fields Il valore di value.min del log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "min".
value.sum additional.fields Il valore di value.sum del log non elaborato viene convertito in una stringa e aggiunto come coppia chiave-valore a additional.fields con la chiave "sum".
workflowId additional.fields Il valore di workflowId del log non elaborato viene aggiunto come coppia chiave-valore a additional.fields con la chiave "workflowId".

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