Coletar registros do AWS CloudWatch

Compatível com:

Este documento explica como ingerir registros do AWS CloudWatch no Google Security Operations. O AWS CloudWatch é um serviço de monitoramento e observabilidade que coleta dados operacionais na forma de registros, métricas e eventos. Com essa integração, é possível enviar esses registros ao Google SecOps para análise e monitoramento.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Instância do Google SecOps
  • Acesso privilegiado à AWS

Criar um bucket do Amazon S3

Recomendamos usar um bucket criado especificamente para registros do CloudWatch.

  1. Abra o console do Amazon S3.
  2. Se necessário, mude a Região.
    • Na barra de navegação, selecione a região em que os registros do CloudWatch estão localizados.
  3. Clique em Criar bucket.
    • Nome do bucket: insira um nome significativo para o bucket.
    • Região: selecione a região em que seus dados do CloudWatch Logs estão localizados.
    • Clique em Criar.

Criar um usuário do IAM com acesso total ao Amazon S3 e aos registros do CloudWatch

  1. Abra o console do IAM.
  2. Clique em Usuários > Adicionar usuário.
  3. Digite um nome de usuário (por exemplo, CWExport).
  4. Selecione Acesso programático e Acesso ao console de gerenciamento da AWS.
  5. Selecione Senha gerada automaticamente ou Senha personalizada.
  6. Clique em Próxima > Permissões.
  7. Escolha Anexar políticas atuais diretamente.
  8. Pesquise e selecione as políticas AmazonS3FullAccess e CloudWatchLogsFullAccess para o usuário.
  9. Clique em Próxima > Tags.
  10. Clique em Próxima > Revisar.
  11. Clique em Criar usuário.

Configurar permissões no bucket do Amazon S3

  1. No console do Amazon S3, escolha o bucket que você criou anteriormente.
  2. Clique em Permissões > Política do bucket.
  3. No Editor de políticas do bucket, adicione a seguinte política:

    {             
      "Version": "2012-10-17",
      "Statement": [
          {
            "Action": "s3:GetBucketAcl",
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::cw-exported-logs",
            "Principal": { "Service": "logs.us-east-1.amazonaws.com" }
          },
          {
            "Action": "s3:PutObject" ,
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::my-exported-logs/random-string/*",
            "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } },
            "Principal": { "Service": "logs.us-east-1.amazonaws.com" }
    
          }
    
      ]
    
    }
    
  4. Mude e atualize as seguintes variáveis json:

    • Mude cw-exported-logs para o nome do seu bucket do S3.
    • Mude random-string para uma string de caracteres gerada aleatoriamente.
    • Especifique o endpoint da região correto para o principal.
  5. Clique em Salvar para definir a política que você acabou de adicionar como a política de acesso no bucket.

Como configurar a exportação do CloudWatch

  1. Faça login como o usuário do IAM que você criou anteriormente.
  2. Abra o console do CloudWatch.
  3. No menu de navegação, selecione Grupos de registros.
  4. Selecione o nome de um grupo de registros atual ou crie um novo.
  5. Escolha Ações > Exportar dados para o Amazon S3.
  6. Na tela Exportar dados para o Amazon S3, localize Definir exportação de dados.
  7. Defina o período dos dados a serem exportados usando De e Até. A exportação só é realizada durante esse período. Se você estiver procurando um push contínuo, recomendamos usar uma ferramenta como o Firehose.

  8. Escolher bucket do S3: selecione a conta associada ao bucket do Amazon S3.

  9. Nome do bucket do S3: selecione um bucket do Amazon S3.

  10. Prefixo do bucket do S3: insira a string gerada aleatoriamente que você especificou na política do bucket.

  11. Escolha Exportar para exportar os dados de registro para o Amazon S3.

  12. Para conferir o status dos dados de registro que você exportou para o Amazon S3, selecione Ações > Ver todas as exportações para o Amazon S3.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds > Adicionar novo
  • Central de conteúdo > Pacotes de conteúdo > Começar

Como configurar o feed do AWS CloudWatch

  1. Clique no pacote Amazon Cloud Platform.
  2. No tipo de registro AWS CloudWatch, especifique os seguintes valores:
  3. Especifique valores para os seguintes campos:

    • Tipo de origem: Amazon SQS V2
    • Nome da fila: o nome da fila do SQS de onde ler.
    • URI do S3: o URI do bucket.
      • s3://your-log-bucket-name/
        • Substitua your-log-bucket-name pelo nome real do seu bucket do S3.
    • Opções de exclusão de origem: selecione a opção de exclusão de acordo com suas preferências de ingestão.

    • Idade máxima do arquivo: inclui arquivos modificados no último número de dias. O padrão é de 180 dias.

    • ID da chave de acesso à fila do SQS: uma chave de acesso à conta que é uma string alfanumérica de 20 caracteres.

    • Chave de acesso secreta da fila do SQS: uma chave de acesso da conta que é uma string alfanumérica de 40 caracteres.

    Opções avançadas

    • Nome do feed: um valor pré-preenchido que identifica o feed.
    • Namespace do recurso: namespace associado ao feed.
    • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
  4. Clique em Criar feed.

Para mais informações sobre como configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.

Tabela de mapeamento da UDM

Campo de registro Mapeamento do UDM Lógica
account principal.user.userid O valor de account do registro bruto é mapeado para o campo principal.user.userid.
account_id principal.user.userid O valor de account_id do registro bruto é mapeado para o campo principal.user.userid.
AlertId metadata.product_log_id O valor de AlertId do registro bruto é mapeado para o campo metadata.product_log_id.
arrivalTimestamp metadata.event_timestamp O valor de arrivalTimestamp do registro bruto é convertido em um carimbo de data/hora e mapeado para o campo metadata.event_timestamp.
attemptsMade additional.fields O valor de attemptsMade do registro bruto é convertido em uma string e adicionado como um par de chave-valor ao additional.fields com a chave "Attempts Made".
awsAccountId principal.asset_id O valor de awsAccountId do registro bruto é precedido por "ID da conta da AWS: " e mapeado para o campo principal.asset_id.
billed_duration additional.fields O valor de billed_duration do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "billed_duration".
BytesIn network.received_bytes O valor de BytesIn do registro bruto é convertido em um número inteiro sem sinal e mapeado para o campo network.received_bytes.
cipher network.tls.cipher O valor de cipher do registro bruto é mapeado para o campo network.tls.cipher.
Ciphers network.tls.client.supported_ciphers O valor de Ciphers do registro bruto é dividido por vírgulas, e cada valor é adicionado à matriz network.tls.client.supported_ciphers.
cloudwatchLog security_result.description O valor de cloudwatchLog do registro bruto é mapeado para o campo security_result.description.
CloudAccountId metadata.product_deployment_id O valor de CloudAccountId do registro bruto é mapeado para o campo metadata.product_deployment_id.
CloudType target.resource.attribute.cloud.environment O valor de CloudType do registro bruto determina o valor de target.resource.attribute.cloud.environment. Se CloudType for "Google Cloud", o valor será "GOOGLE_CLOUD_PLATFORM". Se CloudType for "aws", o valor será "AMAZON_WEB_SERVICES". Se CloudType for "azure", o valor será "MICROSOFT_AZURE".
Context.Execution.Id target.resource.attribute.labels O valor de Context.Execution.Id do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "Context Id".
Context.Execution.Name target.resource.attribute.labels O valor de Context.Execution.Name do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "Nome do contexto".
Context.Execution.RoleArn target.resource.product_object_id O valor de Context.Execution.RoleArn do registro bruto é mapeado para o campo target.resource.product_object_id.
descr metadata.description O valor de descr do registro bruto, depois de remover o espaço em branco extra, é mapeado para o campo metadata.description, a menos que seja "-". Se descr estiver vazio, o valor de log será usado.
destination.name target.location.country_or_region O valor de destination.name do registro bruto é mapeado para o campo target.location.country_or_region.
destination.properties.prefix target.resource.attribute.labels O valor de destination.properties.prefix do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "Prefixo das propriedades de destino".
detail.additionalEventData.configRuleArn security_result.rule_id O valor de detail.additionalEventData.configRuleArn do registro bruto é mapeado para o campo security_result.rule_id.
detail.additionalEventData.configRuleName security_result.rule_name O valor de detail.additionalEventData.configRuleName do registro bruto é mapeado para o campo security_result.rule_name.
detail.additionalEventData.managedRuleIdentifier additional.fields O valor de detail.additionalEventData.managedRuleIdentifier do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "managedRuleIdentifier".
detail.additionalEventData.notificationJobType additional.fields O valor de detail.additionalEventData.notificationJobType do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "notificationJobType".
detail.awsAccountId principal.asset_id O valor de detail.awsAccountId do registro bruto é precedido por "ID da conta da AWS: " e mapeado para o campo principal.asset_id.
detail.awsRegion principal.location.name O valor de detail.awsRegion do registro bruto é mapeado para o campo principal.location.name.
detail.configRuleArn security_result.rule_id O valor de detail.configRuleArn do registro bruto é mapeado para o campo security_result.rule_id.
detail.configRuleName security_result.rule_name O valor de detail.configRuleName do registro bruto é mapeado para o campo security_result.rule_name.
detail.configurationItem.awsAccountId principal.user.userid O valor de detail.configurationItem.awsAccountId do registro bruto é mapeado para o campo principal.user.userid.
detail.configurationItem.awsRegion target.location.country_or_region O valor de detail.configurationItem.awsRegion do registro bruto é mapeado para o campo target.location.country_or_region.
detail.configurationItem.configuration.complianceType security_result.summary O valor de detail.configurationItem.configuration.complianceType do registro bruto é mapeado para o campo security_result.summary.
detail.configurationItem.configuration.targetResourceId target.resource.attribute.labels O valor de detail.configurationItem.configuration.targetResourceId do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "configurationItem configuration targetResourceId".
detail.configurationItem.configuration.targetResourceType target.resource.attribute.labels O valor de detail.configurationItem.configuration.targetResourceType do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "configurationItem configuration targetResourceType".
detail.configurationItem.configurationItemCaptureTime _target.asset.attribute.creation_time O valor de detail.configurationItem.configurationItemCaptureTime do registro bruto é convertido em um carimbo de data/hora e mapeado para o campo _target.asset.attribute.creation_time.
detail.configurationItem.configurationItemStatus target.resource.attribute.labels O valor de detail.configurationItem.configurationItemStatus do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "configurationItem configurationItemStatus".
detail.configurationItem.configurationStateId target.resource.attribute.labels O valor de detail.configurationItem.configurationStateId do registro bruto é convertido em uma string e adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave configurationItem configurationStateId.
detail.configurationItem.resourceId target.resource.id O valor de detail.configurationItem.resourceId do registro bruto é mapeado para o campo target.resource.id.
detail.configurationItem.resourceType target.resource.resource_subtype O valor de detail.configurationItem.resourceType do registro bruto é mapeado para o campo target.resource.resource_subtype.
detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn security_result.rule_id O valor de detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn do registro bruto é mapeado para o campo security_result.rule_id.
detail.eventCategory security_result.category_details O valor de detail.eventCategory do registro bruto é mapeado para o campo security_result.category_details.
detail.eventID metadata.product_log_id O valor de detail.eventID do registro bruto é mapeado para o campo metadata.product_log_id.
detail.eventName additional.fields O valor de detail.eventName do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "Nome do evento".
detail.eventSource target.application O valor de detail.eventSource do registro bruto é mapeado para o campo target.application.
detail.eventType additional.fields O valor de detail.eventType do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "Tipo de evento".
detail.eventVersion metadata.product_version O valor de detail.eventVersion do registro bruto é mapeado para o campo metadata.product_version.
detail.managementEvent additional.fields O valor de detail.managementEvent do registro bruto é convertido em uma string e adicionado como um par de chave-valor ao additional.fields com a chave "detail managementEvent".
detail.messageType target.resource.attribute.labels O valor de detail.messageType do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "Message Type".
detail.newEvaluationResult.complianceType security_result.summary O valor de detail.newEvaluationResult.complianceType do registro bruto é mapeado para o campo security_result.summary.
detail.newEvaluationResult.configRuleInvokedTime additional.fields O valor de detail.newEvaluationResult.configRuleInvokedTime do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "newEvaluationResult_configRuleInvokedTime".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName additional.fields O valor de detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "newEvaluationResult_configRuleName".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId additional.fields O valor de detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "newEvaluationResult_resourceId".
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType additional.fields O valor de detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "newEvaluationResult_resourceType".
detail.newEvaluationResult.resultRecordedTime additional.fields O valor de detail.newEvaluationResult.resultRecordedTime do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "newEvaluationResult_resultRecordedTime".
detail.oldEvaluationResult.configRuleInvokedTime additional.fields O valor de detail.oldEvaluationResult.configRuleInvokedTime do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "oldEvaluationResult_configRuleInvokedTime".
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName additional.fields O valor de detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave oldEvaluationResult_configRuleName.
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId additional.fields O valor de detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "oldEvaluationResult_resourceId".
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType additional.fields O valor de detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "oldEvaluationResult_resourceType".
detail.oldEvaluationResult.resultRecordedTime additional.fields O valor de detail.oldEvaluationResult.resultRecordedTime do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "oldEvaluationResult_resultRecordedTime".
detail.readOnly additional.fields O valor de detail.readOnly do registro bruto é convertido em uma string e adicionado como um par de chave-valor ao additional.fields com a chave "detail readOnly".
detail.recipientAccountId target.resource.attribute.labels O valor de detail.recipientAccountId do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "Recipient Account Id".
detail.recordVersion metadata.product_version O valor de detail.recordVersion do registro bruto é mapeado para o campo metadata.product_version.
detail.requestID target.resource.attribute.labels O valor de detail.requestID do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "ID da solicitação de detalhes".
detail.resourceType target.resource.resource_subtype O valor de detail.resourceType do registro bruto é mapeado para o campo target.resource.resource_subtype.
detail.s3Bucket about.resource.name O valor de detail.s3Bucket do registro bruto é mapeado para o campo about.resource.name.
detail.s3ObjectKey target.resource.attribute.labels O valor de detail.s3ObjectKey do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "s3ObjectKey".
detail.userAgent network.http.user_agent O valor de detail.userAgent do registro bruto é mapeado para o campo network.http.user_agent.
detail.userIdentity.accessKeyId target.user.userid O valor de detail.userIdentity.accessKeyId do registro bruto é mapeado para o campo target.user.userid.
detail.userIdentity.accountId metadata.product_deployment_id O valor de detail.userIdentity.accountId do registro bruto é mapeado para o campo metadata.product_deployment_id.
detail.userIdentity.arn target.user.userid O valor de detail.userIdentity.arn do registro bruto é mapeado para o campo target.user.userid.
detail.userIdentity.principalId principal.user.product_object_id O valor de detail.userIdentity.principalId do registro bruto é mapeado para o campo principal.user.product_object_id.
detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels O valor de detail.userIdentity.sessionContext.attributes.mfaAuthenticated do registro bruto é adicionado como um par de chave-valor ao principal.user.attribute.labels com a chave "mfaAuthenticated".
detail.userIdentity.sessionContext.sessionIssuer.userName target.user.user_display_name O valor de detail.userIdentity.sessionContext.sessionIssuer.userName do registro bruto é mapeado para o campo target.user.user_display_name.
detail.userIdentity.type principal.resource.type O valor de detail.userIdentity.type do registro bruto é mapeado para o campo principal.resource.type.
detail-type metadata.product_event_type O valor de detail-type do registro bruto é mapeado para o campo metadata.product_event_type.
device principal.asset.product_object_id O valor de device do registro bruto é mapeado para o campo principal.asset.product_object_id.
digestPublicKeyFingerprint target.file.sha1 O valor de digestPublicKeyFingerprint do registro bruto é mapeado para o campo target.file.sha1.
digestS3Bucket principal.resource.name O valor de digestS3Bucket do registro bruto é mapeado para o campo principal.resource.name.
digestS3Object principal.asset.asset_id O valor de digestS3Object do registro bruto é precedido por "S3 Object: " e mapeado para o campo principal.asset.asset_id.
digestSignatureAlgorithm network.tls.cipher O valor de digestSignatureAlgorithm do registro bruto é mapeado para o campo network.tls.cipher.
digestStartTime metadata.event_timestamp O valor de digestStartTime do registro bruto é convertido em um carimbo de data/hora e mapeado para o campo metadata.event_timestamp.
dimensions.VolumeId additional.fields O valor de dimensions.VolumeId do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "VolumeId".
duration additional.fields O valor de duration do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "duration".
errorCode security_result.rule_name O valor de errorCode do registro bruto é mapeado para o campo security_result.rule_name.
errorMessage security_result.summary O valor de errorMessage do registro bruto é mapeado para o campo security_result.summary.
executionId principal.process.pid O valor de executionId do registro bruto é mapeado para o campo principal.process.pid.
host principal.hostname, principal.ip O valor de host do registro bruto, com hífens substituídos por pontos, é analisado como um endereço IP e mapeado para o campo principal.ip se a operação for bem-sucedida. Caso contrário, ele será mapeado para o campo principal.hostname.
http_verb network.http.method O valor de http_verb do registro bruto é convertido para maiúsculas e mapeado para o campo network.http.method.
kubernetes.container_hash additional.fields O valor de kubernetes.container_hash do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "container_hash".
kubernetes.container_image additional.fields O valor de kubernetes.container_image do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "container_image".
kubernetes.container_name additional.fields O valor de kubernetes.container_name do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "container_name".
kubernetes.docker_id principal.asset_id O valor de kubernetes.docker_id do registro bruto é precedido por "id: " e mapeado para o campo principal.asset_id.
kubernetes.host principal.hostname, principal.ip O valor de kubernetes.host do registro bruto, com hífens substituídos por pontos, é analisado como um endereço IP e mapeado para o campo principal.ip se a operação for bem-sucedida. Caso contrário, ele será mapeado para o campo principal.hostname.
kubernetes.namespace principal.namespace O valor de kubernetes.namespace do registro bruto é mapeado para o campo principal.namespace.
kubernetes.namespace_name principal.namespace O valor de kubernetes.namespace_name do registro bruto é mapeado para o campo principal.namespace.
kubernetes.pod_id principal.asset.asset_id O valor de kubernetes.pod_id do registro bruto é precedido por "pod_id: " e mapeado para o campo principal.asset.asset_id.
kubernetes.pod_name additional.fields O valor de kubernetes.pod_name do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "nome do pod".
lambdaArn principal.hostname O valor de lambdaArn do registro bruto é mapeado para o campo principal.hostname.
level security_result.severity O valor de level do registro bruto determina o valor de security_result.severity. Se level for "Info", o valor será "INFORMATIONAL". Se level for "Error", o valor será "ERROR". Se level for "Warning", o valor será "MEDIUM".
log metadata.description O valor de log do registro bruto é mapeado para o campo metadata.description se descr estiver vazio.
logFiles about Para cada elemento na matriz logFiles do registro bruto, um objeto about é criado com file.full_path definido como s3Object, asset.hostname definido como s3Bucket e file.sha256 definido como hashValue.
log_processed.cause security_result.summary O valor de log_processed.cause do registro bruto é mapeado para o campo security_result.summary.
log_processed.ids intermediary.hostname Para cada elemento na matriz log_processed.ids do registro bruto, um objeto intermediary é criado com hostname definido como o valor do elemento.
log_processed.level security_result.severity O valor de log_processed.level do registro bruto é mapeado para o campo security_result.severity.
log_processed.msg metadata.description O valor de log_processed.msg do registro bruto é mapeado para o campo metadata.description.
log_processed.ts metadata.event_timestamp O valor de log_processed.ts do registro bruto é convertido em um carimbo de data/hora e mapeado para o campo metadata.event_timestamp.
log_type metadata.log_type O valor de log_type do registro bruto é mapeado para o campo metadata.log_type. Este é um campo personalizado adicionado para contexto.
logevent.message security_result.description O valor de logevent.message do registro bruto é mapeado para o campo security_result.description. Ele também é analisado usando grok para extrair outros campos.
logGroup security_result.about.resource.name O valor de logGroup do registro bruto é mapeado para o campo security_result.about.resource.name.
logStream security_result.about.resource.attribute.labels O valor de logStream do registro bruto é adicionado como um par de chave-valor ao security_result.about.resource.attribute.labels com a chave "logStream".
memory_used additional.fields O valor de memory_used do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "memory_used".
metric_name additional.fields O valor de metric_name do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "metric_name".
metric_stream_name additional.fields O valor de metric_stream_name do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "metric_stream_name".
namespace principal.namespace O valor de namespace do registro bruto é mapeado para o campo principal.namespace.
owner principal.user.userid O valor de owner do registro bruto é mapeado para o campo principal.user.userid.
parameters additional.fields O valor de parameters do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "Parameters".
Path principal.process.file.full_path O valor de Path do registro bruto é mapeado para o campo principal.process.file.full_path.
pid principal.process.pid O valor de pid do registro bruto é mapeado para o campo principal.process.pid.
PolicyName security_result.rule_name O valor de PolicyName do registro bruto é mapeado para o campo security_result.rule_name.
prin_host principal.hostname O valor de prin_host do registro bruto é mapeado para o campo principal.hostname.
principal_hostname principal.hostname O valor de principal_hostname do registro bruto é mapeado para o campo principal.hostname.
process principal.application O valor de process do registro bruto é mapeado para o campo principal.application.
rawData additional.fields O valor de rawData do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "Dados brutos".
Recommendation security_result.detection_fields O valor de Recommendation do registro bruto é adicionado como um par de chave-valor ao security_result.detection_fields com a chave "Recommendation".
referral_url network.http.referral_url O valor de referral_url do registro bruto é mapeado para o campo network.http.referral_url.
region principal.location.name O valor de region do registro bruto é mapeado para o campo principal.location.name.
resp_code network.http.response_code O valor de resp_code do registro bruto é convertido em um número inteiro e mapeado para o campo network.http.response_code.
resource_url network.http.referral_url O valor de resource_url do registro bruto é mapeado para o campo network.http.referral_url.
ResourceType target.resource.resource_subtype O valor de ResourceType do registro bruto é mapeado para o campo target.resource.resource_subtype.
response_body additional.fields O valor de response_body do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "Corpo da resposta".
Role target.resource.product_object_id O valor de Role do registro bruto é mapeado para o campo target.resource.product_object_id.
s3_bucket_path target.file.full_path O valor de s3_bucket_path do registro bruto é mapeado para o campo target.file.full_path.
sec_result.category security_result.category O valor de sec_result.category é derivado da lógica do analisador. Se descr contiver "autenticação é necessária", o valor será "AUTH_VIOLATION".
sec_result.description security_result.description O valor de sec_result.description é derivado da lógica do analisador. Ele é definido como o valor de cloudwatchLog, se presente.
sec_result.severity security_result.severity O valor de sec_result.severity é derivado da lógica do analisador. Ele é definido com base no valor de severity ou level.
sec_result.summary security_result.summary O valor de sec_result.summary é derivado da lógica do analisador. Ele é definido como o valor de log_processed.cause ou errorMessage, se estiver presente.
security_result security_result O objeto security_result é construído com base em vários campos e lógica de analisador.
serverId additional.fields O valor de serverId do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "server_id".
severity security_result.severity O valor de severity do registro bruto, convertido para maiúsculas e normalizado, é mapeado para o campo security_result.severity.
Source principal.hostname O valor de Source do registro bruto é mapeado para o campo principal.hostname.
source principal.hostname O valor de source do registro bruto é mapeado para o campo principal.hostname.
SourceIP principal.ip O valor de SourceIP do registro bruto é mapeado para o campo principal.ip.
src_port principal.port Se src_port for "80", ele será convertido em um número inteiro e mapeado para o campo principal.port, e network.application_protocol será definido como "HTTP".
stream additional.fields O valor de stream do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "stream".
subscriptionFilters security_result.about.resource.attribute.labels Para cada elemento na matriz subscriptionFilters do registro bruto, um par de chave-valor é adicionado ao security_result.about.resource.attribute.labels com a chave "subscriptionFilter" e o valor da matriz.
support_contact target.resource.attribute.labels O valor de support_contact do registro bruto é adicionado como um par de chave-valor ao target.resource.attribute.labels com a chave "Contato de suporte".
t_ip target.ip O valor de t_ip do registro bruto, depois de remover os hífens, é analisado como um endereço IP e mapeado para o campo target.ip se for bem-sucedido.
time metadata.event_timestamp O valor de time do registro bruto é convertido em um carimbo de data/hora e mapeado para o campo metadata.event_timestamp.
timestamp metadata.event_timestamp O valor de timestamp do registro bruto é convertido em um carimbo de data/hora usando vários formatos e mapeado para o campo metadata.event_timestamp.
tls network.tls.version O valor de tls do registro bruto é mapeado para o campo network.tls.version.
transferDetails.serverId additional.fields O valor de transferDetails.serverId do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "server_id".
transferDetails.sessionId network.session_id O valor de transferDetails.sessionId do registro bruto é mapeado para o campo network.session_id.
transferDetails.username principal.user.user_display_name O valor de transferDetails.username do registro bruto é mapeado para o campo principal.user.user_display_name.
ts metadata.event_timestamp O valor de ts do registro bruto, combinado com o fuso horário, se disponível, é convertido em um carimbo de data/hora e mapeado para o campo metadata.event_timestamp.
type metadata.product_event_type O valor de type do registro bruto é mapeado para o campo metadata.product_event_type.
unit additional.fields O valor de unit do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "unit".
url target.url O valor de url do registro bruto é mapeado para o campo target.url.
url_back_to_product metadata.url_back_to_product O valor de url_back_to_product do registro bruto é mapeado para o campo metadata.url_back_to_product.
User principal.user.userid O valor de User do registro bruto é mapeado para o campo principal.user.userid.
user target.user.userid, metadata.event_type, extensions.auth.mechanism Se user estiver presente, metadata.event_type será definido como "USER_LOGIN", extensions.auth.mechanism será definido como "NETWORK", e o valor de user será mapeado para target.user.userid.
value.count additional.fields O valor de value.count do registro bruto é convertido em uma string e adicionado como um par de chave-valor ao additional.fields com a chave "count".
value.max additional.fields O valor de value.max do registro bruto é convertido em uma string e adicionado como um par de chave-valor ao additional.fields com a chave "max".
value.min additional.fields O valor de value.min do registro bruto é convertido em uma string e adicionado como um par de chave-valor ao additional.fields com a chave "min".
value.sum additional.fields O valor de value.sum do registro bruto é convertido em uma string e adicionado como um par de chave-valor ao additional.fields com a chave "sum".
workflowId additional.fields O valor de workflowId do registro bruto é adicionado como um par de chave-valor ao additional.fields com a chave "workflowId".

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.