Coletar registros do AWS CloudTrail

Compatível com:

Este documento detalha as etapas para configurar a ingestão de registros do AWS CloudTrail e dados de contexto no Google Security Operations. Essas etapas também se aplicam à ingestão de registros de outros serviços da AWS, como AWS GuardDuty, AWS VPC Flow, AWS CloudWatch e AWS Security Hub.

Para processar os registros de eventos, a configuração direciona os registros do CloudTrail para um bucket do Amazon Simple Storage Service (Amazon S3). Você pode escolher o Amazon Simple Queue Service (Amazon SQS) ou o Amazon S3 como o tipo de origem do feed.

A primeira seção deste documento apresenta etapas concisas para transferir registros usando o Amazon S3 como o tipo de origem do feed ou, de preferência, usando o Amazon S3 com o Amazon SQS como o tipo de origem do feed.

A segunda seção apresenta etapas mais detalhadas com capturas de tela para usar o Amazon S3 como o tipo de origem do feed. O Amazon SQS não é abordado nesta seção.

A terceira seção descreve como ingestir dados de contexto da AWS para hosts, serviços, redes VPC e usuários.

Etapas básicas para ingerir registros do S3 com ou sem o SQS

Esta seção descreve as etapas básicas para ingerir registros do AWS CloudTrail na sua instância do Google Security Operations. As etapas descrevem como fazer isso usando o Amazon S3 com Amazon SQS como o tipo de origem do feed ou, opcionalmente, usando o Amazon S3 como o tipo de origem do feed.

Configurar o AWS CloudTrail e o S3

Neste procedimento, você configura os registros do AWS CloudTrail para serem gravados em um bucket do S3.

  1. No console da AWS, pesquise CloudTrail.
  2. Clique em Criar trilha.
  3. Informe o nome do percurso.
  4. Selecione Criar bucket do S3. Você também pode usar um bucket do S3.
  5. Informe um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS.
  6. Deixe as outras configurações como padrão e clique em Próxima.
  7. Escolha Tipo de evento, adicione Eventos de dados conforme necessário e clique em Próxima.
  8. Revise as configurações em Revisar e criar e clique em Criar trilha.
  9. No console da AWS, pesquise Buckets do Amazon S3.
  10. Clique no bucket de registros recém-criado e selecione a pasta AWSLogs. Em seguida, clique em Copiar URI do S3 e salve para usar nas próximas etapas.

Criar uma fila do SQS

É recomendável usar uma fila do SQS. Se você usar uma fila do SQS, ela precisa ser padrão, não uma fila PEPS.

Para saber como criar filas do SQS, consulte Primeiros passos com o Amazon SQS.

Configurar notificações na fila do SQS

Se você usar uma fila do SQS, configure notificações no bucket do S3 para gravar na fila do SQS. Anexe uma política de acesso.

Configurar o usuário do AWS IAM

Configure um usuário do IAM da AWS que o Google Security Operations vai usar para acessar a fila do SQS (se usada) e o bucket do S3.

  1. No console da AWS, pesquise IAM.
  2. Clique em Usuários e,na tela seguinte, em Adicionar usuários.
  3. Dê um nome ao usuário, por exemplo, chronicle-feed-user, Selecione o tipo de credencial da AWS como Chave de acesso - Acesso programático e clique em Próxima: Permissões.
  4. Na próxima etapa, selecione Anexar políticas atuais diretamente e selecione AmazonS3ReadOnlyAccess ou AmazonS3FullAccess, conforme necessário. AmazonS3FullAccess seria usado se as operações de segurança do Google precisassem limpar os buckets do S3 depois de ler os registros para otimizar os custos de armazenamento do S3 da AWS.
  5. Como alternativa recomendada à etapa anterior, você pode restringir ainda mais o acesso apenas ao bucket do S3 especificado criando uma política personalizada. Clique em Criar política e siga a documentação da AWS para criar uma política personalizada.
  6. Ao aplicar uma política, inclua sqs:DeleteMessage. O Google Security Operations não pode excluir mensagens se a permissão sqs:DeleteMessage não estiver anexada à fila do SQS. Todas as mensagens são acumuladas no lado da AWS, o que causa um atraso, já que as operações de segurança do Google tentam transferir os mesmos arquivos repetidamente.
  7. Clique em Próxima:tags.
  8. Adicione tags, se necessário, e clique em Próxima:analisar.
  9. Revise a configuração e clique em Criar usuário.
  10. Copie o ID da chave de acesso e a chave de acesso secreta do usuário criado para usar na próxima etapa.

Criar o feed

Depois de concluir os procedimentos anteriores, crie um feed para transferir os registros da AWS do bucket do Amazon S3 para a instância do Google Security Operations. Se você não estiver usando uma fila do SQS, selecione Amazon S3 como o tipo de origem do feed em vez de Amazon SQS no procedimento a seguir.

Para criar um feed:

  1. Na barra de navegação, selecione Configurações > Configurações do SIEM e Feeds.
  2. Na página Feeds, clique em Adicionar novo.
  3. Na caixa de diálogo Adicionar feed, use a caixa de diálogo Tipo de origem para selecionar Amazon SQS ou Amazon S3.
  4. No menu Tipo de registro, selecione AWS CloudTrail (ou outro serviço da AWS).
  5. Clique em Próxima.
  6. Insira os parâmetros de entrada do seu feed nos campos.
    Se o tipo de origem do feed for Amazon S3, faça o seguinte:

    1. Selecione a região e informe o URI do S3 do bucket do Amazon S3 que você copiou anteriormente. Também é possível anexar o URI do S3 usando a variável.

       {{datetime("yyyy/MM/dd")}}
       
      No exemplo a seguir, as operações de segurança do Google verificam os registros sempre apenas para um dia específico.
       s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
       

    2. Em URI IS A, selecione Directories including subdirectories. Selecione uma opção adequada em Opção de exclusão da origem. Verifique se ele corresponde às permissões da conta de usuário do IAM que você criou anteriormente.

    3. Informe o ID da chave de acesso e a chave de acesso secreta da conta de usuário do IAM que você criou anteriormente.

  7. Clique em Próximo e em Concluir.

Etapas detalhadas para importar registros do S3

Configurar o AWS CloudTrail (ou outro serviço)

Siga as etapas abaixo para configurar os logs do AWS CloudTrail e direcioná-los para o bucket do AWS S3 criado no procedimento anterior:

  1. No console da AWS, pesquise CloudTrail.
  2. Clique em Criar trilha.

    alt_text

  3. Informe o nome do percurso.

  4. Selecione Criar bucket do S3. Você também pode usar um bucket do S3.

  5. Informe um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS.

    alt_text

  6. Deixe as outras configurações como padrão e clique em Próxima.

  7. Escolha Tipo de evento, adicione Eventos de dados conforme necessário e clique em Próxima.

    alt_text

  8. Revise as configurações em Revisar e criar e clique em Criar trilha.

  9. No console da AWS, pesquise Buckets do Amazon S3.

    alt_text

  10. Clique no bucket de registros recém-criado e selecione a pasta AWSLogs. Em seguida, clique em Copiar URI do S3 e salve para usar nas próximas etapas.

    alt_text

Configurar o usuário do AWS IAM

Nesta etapa, vamos configurar um usuário do AWS IAM que o Google Security Operations vai usar para receber feeds de registro da AWS.

  1. No console da AWS, pesquise IAM.

    alt_text

  2. Clique em Usuários e,na tela seguinte, em Adicionar usuários.

    alt_text

  3. Dê um nome ao usuário, por exemplo, chronicle-feed-user, Selecione o tipo de credencial da AWS como Chave de acesso - Acesso programático e clique em Próxima: Permissões.

    alt_text

  4. Na próxima etapa, selecione Anexar políticas atuais diretamente e selecione AmazonS3ReadOnlyAccess ou AmazonS3FullAccess, conforme necessário. AmazonS3FullAccess seria usado se as operações de segurança do Google precisassem limpar os buckets do S3 depois de ler os registros para otimizar os custos de armazenamento do S3 da AWS. Clique em Próxima:tags.

    alt_text

  5. Como alternativa recomendada à etapa anterior, você pode restringir ainda mais o acesso apenas ao bucket do S3 especificado criando uma política personalizada. Clique em Criar política e siga a documentação da AWS para criar uma política personalizada.

    alt_text

  6. Adicione tags, se necessário, e clique em Próxima:analisar.

  7. Revise a configuração e clique em Criar usuário.

    alt_text

  8. Copie o ID da chave de acesso e a chave de acesso secreta do usuário criado para usar na próxima etapa.

    alt_text

Configurar o feed no Google Security Operations para ingerir registros da AWS

  1. Acesse as configurações do Google Security Operations e clique em Feeds.
  2. Clique em Adicionar novo.
  3. Selecione Amazon S3 como o Tipo de origem do feed.
  4. Selecione AWS CloudTrail (ou outro serviço da AWS) em Tipo de registro.

alt_text

  1. Clique em Next.
  2. Selecione a região e informe o URI do S3 do bucket do Amazon S3 que você copiou anteriormente. Além disso, você pode anexar o URI do S3 com:

    
    {{datetime("yyyy/MM/dd","+8H")}}
    
    

    Como no exemplo a seguir, para que as operações de segurança do Google analisem os registros sempre apenas para um dia específico:

    
    s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd","+8H")}}/
    
    
  3. Em URI IS A, selecione Directories including subdirectories. Selecione uma opção adequada em Opção de exclusão da origem. Ela precisa corresponder às permissões da conta de usuário do IAM que criamos anteriormente.

  4. Informe o ID da chave de acesso e a chave de acesso secreta da conta de usuário do IAM que criamos anteriormente. alt_text

  5. Clique em Próxima e em Concluir.

Etapas para ingerir dados de contexto da AWS

Para ingerir dados de contexto sobre entidades da AWS (como hosts, instâncias e usuários), crie um feed para cada um dos seguintes tipos de registro, listados por descrição e rótulo de ingestão:

  • AWS EC2 HOSTS (AWS_EC2_HOSTS)
  • AWS EC2 INSTANCES (AWS_EC2_INSTANCES)
  • VPCs do AWS EC2 (AWS_EC2_VPCS)
  • AWS Identity and Access Management (IAM) (AWS_IAM)

Para criar um feed para cada um desses tipos de registro, faça o seguinte:

  1. Na barra de navegação, selecione Configurações, Configurações do SIEM e Feeds.
  2. Na página Feeds, clique em Adicionar novo. A caixa de diálogo Adicionar feed é exibida.
  3. No menu Tipo de origem, selecione API de terceiros.
  4. No menu Tipo de registro, selecione Hosts do AWS EC2.
  5. Clique em Próxima.
  6. Insira os parâmetros de entrada do feed nos campos.
  7. Clique em Próxima e em Concluir.

Para mais informações detalhadas sobre como configurar um feed para cada tipo de registro, consulte a seguinte documentação de gerenciamento de feeds:

Para informações gerais sobre como criar um feed, consulte o Guia do usuário para gerenciamento de feeds ou a API Feed Management.

Referência do mapeamento de campo

Esse código de analisador processa os registros do AWS CloudTrail no formato JSON. Primeiro, ele extrai e estrutura a mensagem de registro bruta e, em seguida, itera cada registro na matriz "Records", normalizando eventos únicos no mesmo formato que os eventos múltiplos. Por fim, ele mapeia os campos extraídos para o esquema de UDM do Google Security Operations, enriquecendo os dados com mais contexto e informações relevantes para a segurança.

Tabela de mapeamento do UDM

Campo de registro Mapeamento de UDM Lógica
Records.0.additionalEventData
.AuthenticationMethod
additional.fields
.AuthenticationMethod.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.additionalEventData
.CipherSuite
additional.fields
.CipherSuite.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.additionalEventData
.LoginTo
additional.fields
.LoginTo.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.additionalEventData
.MFAUsed
extensions.auth.auth_details Se o valor for "Sim", o campo UDM será definido como "MFAUsed: Yes". Caso contrário, ele será definido como "MFAUsed: No".
Records.0.additionalEventData
.MobileVersion
additional.fields
.MobileVersion.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.additionalEventData
.SamlProviderArn
additional.fields
.SamlProviderArn.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.additionalEventData
.SignatureVersion
additional.fields
.SignatureVersion.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.additionalEventData
.bytesTransferredIn
network.received_bytes Mapeamento direto do campo de registro bruto, convertido em um número inteiro não assinado.
Records.0.additionalEventData
.bytesTransferredOut
network.sent_bytes Mapeamento direto do campo de registro bruto, convertido em um número inteiro não assinado.
Records.0.additionalEventData
.x-amz-id-2
additional.fields
.x-amz-id-2.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.awsRegion principal.location.name Mapeamento direto do campo de registro bruto.
Records.0.awsRegion target.location.name Mapeamento direto do campo de registro bruto.
Records.0.errorCode security_result.rule_id Mapeamento direto do campo de registro bruto.
Records.0.errorMessage security_result.description O campo UDM é definido como "Reason: " concatenado com o valor do campo de registro bruto.
Records.0.eventCategory security_result.category_details Mapeamento direto do campo de registro bruto.
Records.0.eventID metadata.product_log_id Mapeamento direto do campo de registro bruto.
Records.0.eventName metadata.product_event_type Mapeamento direto do campo de registro bruto.
Records.0.eventName _metadata.event_type Mapeado com base no valor do campo de registro bruto. Consulte o código do analisador para mapeamentos específicos.
Records.0.eventSource target.application Mapeamento direto do campo de registro bruto.
Records.0.eventSource metadata.ingestion_labels.EventSource Mapeamento direto do campo de registro bruto.
Records.0.eventTime metadata.event_timestamp Mapeamento direto do campo de registro bruto, analisado como um carimbo de data/hora ISO8601.
Records.0.eventVersion metadata.product_version Mapeamento direto do campo de registro bruto.
Records.0.managementEvent additional.fields.ManagementEvent
.value.string_value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.readOnly additional.fields.ReadOnly
.value.string_value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.recipientAccountId principal.user.group_identifiers Mapeamento direto do campo de registro bruto.
Records.0.recipientAccountId target.resource.attribute
.labels.Recipient Account Id.value
Mapeamento direto do campo de registro bruto.
Records.0.requestID target.resource.attribute
.labels.Request ID.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters target.resource.attribute
.labels
Vários campos em requestParameters são mapeados para rótulos no atributo do recurso de destino. Consulte o código do analisador para mapeamentos específicos.
Records.0.requestParameters>
.AccessControlPolicy.AccessControlList
.Grant.0.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.AccessControlPolicy.AccessControlList
.Grant.1.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.AccessControlPolicy.AccessControlList
.Grant.2.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.AccessControlPolicy.AccessControlList
.Grant.3.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.AccessControlPolicy.AccessControlList
.Grant.4.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.CreateAccessPointRequest.
PublicAccessBlockConfiguration.BlockPublicAcls
target.resource.attribute
.labels.BlockPublicAcls.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.CreateAccessPointRequest.
PublicAccessBlockConfiguration.BlockPublicPolicy
target.resource.attribute
.labels.BlockPublicPolicy.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.CreateAccessPointRequest.
PublicAccessBlockConfiguration.IgnorePublicAcls
target.resource.attribute
.labels.IgnorePublicAcls.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.CreateAccessPointRequest.
PublicAccessBlockConfiguration.RestrictPublicBuckets
target.resource.attribute
.labels.RestrictPublicBuckets.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.PublicAccessBlockConfiguration.BlockPublicAcls
target.resource.attribute
.labels.BlockPublicAcls.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.PublicAccessBlockConfiguration.BlockPublicPolicy
target.resource.attribute
.labels.BlockPublicPolicy.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.PublicAccessBlockConfiguration.IgnorePublicAcls
target.resource.attribute
.labels.IgnorePublicAcls.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.PublicAccessBlockConfiguration.RestrictPublicBuckets
target.resource.attribute
.labels.RestrictPublicBuckets.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters.accessKeyId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.allocationId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.associationId target.resource.attribute
.labels.requestParameters associationId.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.certificateId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.configurationRecorder.name
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.configurationRecorderName
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.createVolumePermission.add.items.0.group
target.resource.attribute
.labels.Add Items Group.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.createVolumePermission.add.items.0.userId
target.resource.attribute
.labels.Add Items UserId.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.createVolumePermission.remove.items.0.userId
target.resource.attribute
.labels.Remove Items UserId.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.detectorId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.destinationId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.directoryId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.documentName target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.egress target.resource.attribute
.labels.requestParameters egress.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.emailIdentity target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.enabled target.resource.attribute
.labels.Request Enabled.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.filterSet.items.0
.valueSet.items.0.value
target.resource.attribute
.labels.requestParameters
.filterSet.items.0.valueSet
.items.0.value.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.functionName target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.granteePrincipal
principal.hostname Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.granteePrincipal
principal.asset.hostname Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.groupId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.groupName target.group.group_display_name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.imageId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.instanceId target.resource_ancestors.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.instanceProfileName
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.instanceType target.resource.attribute
.labels.Instance Type.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.instancesSet.items.0.instanceId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.instancesSet.items.0.maxCount
target.resource.attribute
.labels.Instance Set Max Count.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.instancesSet.items.0.minCount
target.resource.attribute
.labels.Instance Set Min Count.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters
.ipPermissions.items.0
.ipRanges.items.0.cidrIp
target.resource.attribute
.labels.ipPermissions cidrIp.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.ipPermissions.items.0
.ipv6Ranges.items.0.cidrIpv6
target.resource.attribute
.labels.ipPermissions cidrIpv6.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.ipPermissions.items.1
.ipv6Ranges.items.0.cidrIpv6
target.resource.attribute
.labels.ipPermissions cidrIpv6.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.keyId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.
launchPermission.add.items.0.group
target.resource.attribute
.labels.Add Items Group.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.
launchPermission.add.items
.0.organizationalUnitArn
target.resource.attribute.labels
.Add Items OrganizationalUnitArn
.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.
launchPermission.add.items
.0.userId
target.resource.attribute
.labels.Add Items UserId.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.
launchPermission.remove.items
.0.organizationalUnitArn
target.resource.attribute.labels
.Remove Items OrganizationalUnitArn
.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.
launchPermission.remove.items
.0.userId
target.resource.attribute
.labels.Remove Items UserId.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.loadBalancerArn target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.logGroupIdentifier target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.logGroupName target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.name target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.name target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.networkAclId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.networkInterfaceId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.parentId target.resource_ancestors.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.policyArn target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.policyArns.0.arn
target.resource.attribute
.labels.Policy ARN 0.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.policyArns.1.arn
target.resource.attribute
.labels.Policy ARN 1.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.policyName target.resource.attribute
.permissions.name
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.policyName target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.principalArn principal.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.publicKeyId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.RegionName target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.RegionName target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.roleName target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.sAMLProviderArn target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.secretId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.serialNumber target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.serviceSpecificCredentialId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.sendingEnabled target.resource.attribute
.labels.Request Sending Enabled.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.requestParameters.snapshotId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.sSHPublicKeyId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.stackName target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.status target.resource.attribute
.labels.Request Parameter Status.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.subnetId target.resource.attribute
.labels.Subnet Id.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.targets.0.InstanceIds
target.resource.attribute
.labels.requestParameters.targets
.0.InstanceIds.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters
.targets.0.key
target.resource.attribute
.labels.requestParameters.targets.0.key.value
Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.trailName target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.userName target.user.userid Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.volumeId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.requestParameters.withDecryption security_result.detection_fields
.withDecryption.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.responseElements target.resource.attribute.labels Vários campos em responseElements são mapeados para rótulos no atributo de recurso de destino. Consulte o código do analisador para mapeamentos específicos.
Records.0.responseElements.accessKey.accessKeyId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.accessKey.status target.resource.attribute
.labels.Response Access Key Status.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements.accessKey.userName target.user.userid Mapeamento direto do campo de registro bruto.
Records.0.responseElements.allocationId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.certificate.certificateId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.certificate.status
target.resource.attribute
.labels.Certificate Status.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.certificate.userName
target.user.userid Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.credentials.accessKeyId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.credentials.sessionToken
security_result.detection_fields
.sessionToken.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.createAccountStatus.accountId
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.createAccountStatus.accountName
target.user.user_display_name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.createAccountStatus.accountName
target.user.user_display_name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.createAccountStatus.accountName
target.user.user_display_name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.createCollectionDetail.arn
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.createCollectionDetail.id
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.deleteCollectionDetail.id
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.description target.resource.attribute
.labels.Response Elements Description.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements.destinationId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.detectorId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.directoryId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.domainStatus.aRN
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.domainStatus.domainId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.federatedUser.arn
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.federatedUser.federatedUserId
target.user.userid Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.firewall.firewallArn
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.firewall.firewallId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.firewall.firewallName
target.resource.attribute
.labels.Firewall Name.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.flowLogIdSet.item
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.functionArn target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.group.arn
target.group.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.group.groupName
target.group.group_display_name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.iamInstanceProfileAssociation.instanceId
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.iamInstanceProfileAssociation.instanceId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.image.imageId.imageDigest
src.file.sha256 O campo UDM é definido como o valor após "sha256:" no campo de registro bruto.
Records.0.responseElements
.image.imageManifestMediaType
src.file.mime_type Mapeamento direto do campo de registro bruto.
Records.0.responseElements.instanceArn target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.instanceProfile.arn
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.instancesSet.items.0.instanceId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.keyId target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.keyMetadata.arn
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.keyMetadata.encryptionAlgorithms
security_result.detection_fields
.encryptionAlgorithm.value
O campo UDM é definido como o valor de cada elemento na matriz do campo de registro bruto.
Records.0.responseElements
.keyMetadata.keyId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.keyPairId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.listeners.0.listenerArn
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.listeners.0.loadBalancerArn
target.resource.ancestors.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.loadBalancers.0.loadBalancerArn
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements.newAssociationId target.resource.attribute.labels
.responseElements newAssociationId.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements.packedPolicySize security_result.detection_fields
.packedPolicySize.value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.0.responseElements
.publicKey.publicKeyId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.sAMLProviderArn target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.sSHPublicKey.sSHPublicKeyId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.sSHPublicKey.status
target.resource.attribute
.labels.SSH Public Key Status.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.securityGroupRuleSet.items.0.groupId
security_result.rule_labels.Group Id.value Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.securityGroupRuleSet.items.0.ipProtocol
network.ip_protocol Mapeamento direto do campo de registro bruto, convertido em letras maiúsculas.
Records.0.responseElements
.securityGroupRuleSet.items.0.isEgress
network.direction Se o valor for "false", o campo UDM será definido como "INBOUND". Caso contrário, será definido como "SAÍDA".
Records.0.responseElements
.securityGroupRuleSet.items.0.securityGroupRuleId
security_result.rule_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.serviceSpecificCredential.serviceName
target.resource.attribute.labels
.Credencial específica ServiceName
.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.serviceSpecificCredential.serviceSpecificCredentialId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.serviceSpecificCredential.serviceUserName
target.resource.attribute.labels
.Specific Credential Service UserName
.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.serviceSpecificCredential.status
target.resource.attribute
.labels.Specific Credential Status.value
Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.serviceSpecificCredential.userName
target.user.userid Mapeamento direto do campo de registro bruto.
Records.0.responseElements.snapshotId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.stackId target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.tableDescription.tableArn
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.tableDescription.tableId
target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements.trailARN target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.user.arn
target.user.userid Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.user.userId
target.user.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.user.userName
target.user.user_display_name Mapeamento direto do campo de registro bruto.
Records.0.responseElements
.virtualMFADevice.serialNumber
target.resource.name Mapeamento direto do campo de registro bruto.
Records.0.responseElements.volumeId target.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.resources target.resource O primeiro elemento na matriz de recursos é mapeado para o recurso de destino. Outros elementos são mapeados para o campo "about".
Records.0.sharedEventID additional.fields.SharedEventID
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.sourceIPAddress principal.asset.ip Mapeamento direto do campo de registro bruto.
Records.0.sourceIPAddress principal.ip Mapeamento direto do campo de registro bruto.
Records.0.sourceIPAddress src_ip Mapeamento direto do campo de registro bruto.
Records.0.tlsDetails.cipherSuite network.tls.cipher Mapeamento direto do campo de registro bruto.
Records.0.tlsDetails.clientProvidedHostHeader security_result.detection_fields
.clientProvidedHostHeader.value
Mapeamento direto do campo de registro bruto.
Records.0.tlsDetails.tlsVersion network.tls.version Mapeamento direto do campo de registro bruto.
Records.0.userAgent network.http.user_agent Mapeamento direto do campo de registro bruto.
Records.0.userAgent network.http.parsed_user_agent Mapeamento direto do campo de registro bruto, analisado como uma string de user agent.
Records.0.userIdentity.accessKeyId additional.fields.accessKeyId
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.accountId principal.resource.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.accountId principal.user.group_identifiers Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.arn principal.resource.name Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.arn principal.user.userid Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.arn target.user.attribute
.labels.ARN.value
Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.invokedBy principal.user.userid O campo UDM é definido como o valor antes de ".amazonaws.com" no campo de registro bruto.
Records.0.userIdentity.principalId principal.user.product_object_id Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.principalId principal.user.attribute
.labels.principalId.value
Mapeamento direto do campo de registro bruto.
Records.0.userIdentity
.sessionContext.attributes.mfaAuthenticated
principal.user.attribute
.labels.mfaAuthenticated.value
Mapeamento direto do campo de registro bruto.
Records.0.userIdentity
.sessionContext.sessionIssuer.arn
target.user.attribute
.labels.ARN.value
Mapeamento direto do campo de registro bruto.
Records.0.userIdentity
.sessionContext.sessionIssuer.principalId
target.user.userid Mapeamento direto do campo de registro bruto.
Records.0.userIdentity
.sessionContext.sessionIssuer.type
target.user.attribute
.labels.Type.value
Mapeamento direto do campo de registro bruto.
Records.0.userIdentity
.sessionContext.sessionIssuer.userName
target.user.user_display_name Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.type principal.resource.resource_subtype Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.type principal.resource.type Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.userName principal.user.user_display_name Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.userName src.user.userid Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.userName src.user.user_display_name Mapeamento direto do campo de registro bruto.
Records.0.userIdentity.userName target.user.user_display_name Mapeamento direto do campo de registro bruto.
Records.1.additionalEventData
.AuthenticationMethod
additional.fields.AuthenticationMethod
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.1.additionalEventData
.CipherSuite
additional.fields.CipherSuite
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.1.additionalEventData
.LoginTo
additional.fields.LoginTo
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.1.additionalEventData
.MFAUsed
extensions.auth.auth_details Se o valor for "Sim", o campo UDM será definido como "MFAUsed: Yes". Caso contrário, ele será definido como "MFAUsed: No".
Records.1.additionalEventData
.MobileVersion
additional.fields.MobileVersion
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.1.additionalEventData
.SamlProviderArn
additional.fields.SamlProviderArn
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.1.additionalEventData
.SignatureVersion
additional.fields.SignatureVersion
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.1.additionalEventData
.bytesTransferredIn
network.received_bytes Mapeamento direto do campo de registro bruto, convertido em um número inteiro não assinado.
Records.1.additionalEventData
.bytesTransferredOut
network.sent_bytes Mapeamento direto do campo de registro bruto, convertido em um número inteiro não assinado.
Records.1.additionalEventData
.x-amz-id-2
additional.fields.x-amz-id-2
.value.string_value
Mapeamento direto do campo de registro bruto.
Records.1.awsRegion principal.location.name Mapeamento direto do campo de registro bruto.
Records.1.awsRegion target.location.name Mapeamento direto do campo de registro bruto.
Records.1.errorCode security_result.rule_id Mapeamento direto do campo de registro bruto.
Records.1.errorMessage security_result.description O campo UDM é definido como "Reason: " concatenado com o valor do campo de registro bruto.
Records.1.eventCategory security_result.category_details Mapeamento direto do campo de registro bruto.
Records.1.eventID metadata.product_log_id Mapeamento direto do campo de registro bruto.
Records.1.eventName metadata.product_event_type Mapeamento direto do campo de registro bruto.
Records.1.eventName _metadata.event_type Mapeado com base no valor do campo de registro bruto. Consulte o código do analisador para mapeamentos específicos.
Records.1.eventSource target.application Mapeamento direto do campo de registro bruto.
Records.1.eventSource metadata.ingestion_labels.EventSource Mapeamento direto do campo de registro bruto.
Records.1.eventTime metadata.event_timestamp Mapeamento direto do campo de registro bruto, analisado como um carimbo de data/hora ISO8601.
Records.1.eventVersion metadata.product_version Mapeamento direto do campo de registro bruto.
Records.1.managementEvent additional.fields.ManagementEvent
.value.string_value
Mapeamento direto do campo de registro bruto, convertido em uma string.
Records.1.readOnly additional.fields.ReadOnly
.value

Alterações

2024-07-30

  • Corrigimos o mapeamento de "src_ip" e "event_type" para analisar os novos registros.

2024-07-29

  • Correção de bugs:
  • Quando "eventName" é "GetLoginProfile", "metadata.event_type" é mapeado para "RESOURCE_READ".

2024-07-24

  • O mapeamento foi alterado de "recipientAccountId" para "userIdentity.accountId" e mapeado para "additional.fields".

2024-07-23

  • Mapeou "alert_emails" e "owner_names" para "target.resource.attribute.labels".

2024-07-09

  • "eventVersion" foi associado a "metadata.product_version".
  • "userIdentity.principalId" foi mapeado para "principal.user.attribute.labels".
  • Mapeou "userIdentity.sessionContext.attributes.creationDate" para "principal.user.attribute.creation_time".
  • "userIdentity.sessionContext.sessionIssuer.type" foi associado a "target.user.attribute.labels".
  • Mapeamos "additionalEventData.bytesTransferredIn" para "network.received_bytes".
  • "additionalEventData.bytesTransferredOut" foi mapeado para "network.sent_bytes".
  • Mapeamos "managementEvent", "readOnly", "sharedEventID", "apiVersion", "additionalEventData.x-amz-id-2", "additionalEventData.SignatureVersion", "additionalEventData.AuthenticationMethod", "additionalEventData.CipherSuite" e "additionalEventData.sub" para "additional.fields".

2024-06-24

  • Adição de suporte a um novo padrão de registros JSON.

2024-06-24

  • O mapeamento foi atualizado de "principal.resource.type" para "principal.resource.resource_subtype", porque o campo "principal.resource.type" foi descontinuado.

2024-05-21

  • Quando "requestParameters.bucketPolicy.Statement.n.Resource" é uma matriz, "requestParameters.bucketPolicy.Statement.n.Resource" é mapeado para "additional.fields".

2024-05-09

  • A parte "groupid" de "principal.user.userid" foi mapeada para "principal.user.groupid" e "principal.user.group_identifiers" quando o "userid" corresponde ao formato "^arn:aws:sts::\d+:assumed-role\/\w+\/\w+$".

2024-04-30

  • "req.requestParameters.networkInterfaceSet.items.associatePublicIpAddress" foi associado a "target.resource.attribute.labels".

2024-03-22

  • "Noun.user.userid" foi associado a "Noun.user.product_object_id".
  • "RoleName" foi mapeado de "userIdentity.arn" para "principal.user.role_name" e "principal.user.attribute.roles.name".
  • "PoicyName" foi mapeado de "requestParameters.policyArn" para "security_result.rule_name".

2024-03-04

  • Para registros com "eventName" como "TerminateInstances":
  • O objeto JSON "responseElements" foi mapeado para "target.resource.attribute.labels".
  • "sessionCredentialFromConsole" foi mapeado para "target.resource.attribute.labels".
  • Para registros em que "eventName" é "CreateDomain","DeleteDomain","CreateCollection",
  • "DeleteCollection","CreateDBCluster","DeleteDBCluster","StopDBCluster","StartDBCluster",
  • "CreateCluster","DeleteCluster", "ListClusters", "CreateNodegroup", "DeleteNodegroup",
  • "RegisterCluster", "DeregisterCluster", "DescribeCluster", "DescribeNodegroup", "ListNodegroups".
  • Defina "target.resource.resource_type" como "CLUSTER".

2023-11-21

  • "awsRegion" foi mapeado para "target.location.name".
  • Para registros com "eventName" como "PutBucketAcl", quando "userIdentity.arn" não estiver presente, modifique "metadata.event_type" para "STATUS_UPDATE".
  • Para registros com "eventName" como prefixo "Get", "List", "Describe", "Detect", "Query", "Check", "Decode",
  • "Descriptografar", "Fazer o download", "Recuperar", "Ler", "Descobrir", "Procurar", "Pré-visualizar", "Verificar", "Selecionar", "Classificar", "Mostrar", "Visualizar":
  • Defina "metadata.event_type" como "RESOURCE_READ".
  • Para registros com "eventName" como prefixo "Delete", "Terminate":
  • Defina "metadata.event_type" como "RESOURCE_DELETION".
  • Para registros com "eventName" como prefixo "Create", "Put", "Import", "Generate", "Allocate":
  • Defina "metadata.event_type" como "RESOURCE_CREATION".
  • Para registros com "eventName" como prefixo "Start", "Activate", "Reboot", "Initialize", "New":
  • Defina "metadata.event_type" como "STATUS_STARTUP".
  • Para registros com "eventName" como prefixo "Stop", "Cancel", "Disconnect":
  • Defina "metadata.event_type" como "STATUS_SHUTDOWN".
  • Para registros com "eventName" como prefixo "Test", "Accept", "Notify", "Request", "Validate", "Confirm", "Reject", "Verify", "Authorize", "Complete":
  • Defina "metadata.event_type" como "STATUS_UPDATE".
  • Para registros com "eventName" como prefixo "Assume", "ConsoleLogin":
  • Defina "metadata.event_type" como "USER_LOGIN".
  • Para registros com "eventName" como "SendHeartbeat":
  • Defina "metadata.event_type" como "STATUS_HEARTBEAT".
  • Para registros com "eventName" como prefixo "Initiate", "Publish", "Replace", "Resume", "Run", "Submit", "Suspend",
  • "Alterar", "Aumentar", "Convidar", "Provisionar", "Atualizar", "Relatório", "Atualizar", "Abortar", "Aplicar", "Backup", "Diminuir",
  • "Mesclar", "Tentar novamente", "Girar", "Rotação", "Transferir", "Desativar", "Analisar", "Arquivar", "Beta_", "Limpar", "Configurar",
  • "Confirm_", "Do", "Evaluate", "Failover", "Forgot", "Lock", "Migrate", "O", "Process", "Promote", "Release", "Renew",
  • "Assinar", "Desarquivar", "Desativar", "Desbloquear", "Confirmar", "Aprovar", "Conectar", "Continuar", "Recusar", "Implantar",
  • "Diagnostic", "Drop", "Exit", "Finalize", "Flush", "Forget", "Grant", "Issue", "Logout", "Move", "Opt", "Pause",
  • "Recriar", "Resgatar", "Replicar", "Reiniciar", "S", "Salvar", "Assinar", "Sincronizar", "Desvincular", "Cancelar inscrição", "Dessuspender",
  • "Allow", "Ato", "Back", "Backtrack", "Bid", "Bind", "Build", "Bundle", "Clone", "Close", "Cognito", "Console", "Dispose",
  • "Dissociar", "Finalizar", "Inscrever", "Entrar", "Ambiente", "Evento_", "Excluir", "Global", "Incluir", "Índice", "Inserir", "Instalar",
  • "Invalidate", "Join", "Leave", "Load", "Managed", "Mark", "Monitor", "Peer", "Persist", "Prepare", "Pubkey", "Purge", "Push",
  • "Rebalance", "Record", "Recovery", "Redact", "Refuse", "Reinvite", "Reload", "Rename", "Respond", "Resync", "Retire", "Reverse",
  • "Rollback", "Schedule", "Secret", "Shutdown", "Signal", "Skip", "Split", "Stream", "Swap", "Switch", "Toggle", "Token_",
  • "Translate", "Trim", "Unauthorize", "Undeploy", "Unmonitor", "Unpeer", "Use":
  • Defina "metadata.event_type" como "RESOURCE_WRITTEN".
  • Para registros com "eventName" como prefixo "Update", "Associate", "Disassociate", "Modify", "Set", "Register", "Deregister",
  • "Adicionar", "Remover", "Ativar", "Desativar", "Enviar", "Restaurar", "Redefinir", "Anexar", "Deletar", "Exportar", "Copiar", "Marcar",
  • "Remover tag", "Executar", "Comprar", "Alocar", "Desativar", "Publicar", "Reenviar", "Fazer upload", "Atribuir", "Mudar", "Definir",
  • "Deprecate", "Invoke", "Revoke:
  • Defina "metadata.event_type" como "RESOURCE_PERMISSIONS_CHANGE".

2023-11-11

  • Inicialize as variáveis como nulas ou vazias para evitar mapeamentos duplicados.
  • Quando "requestParameters.tagSpecificationSet.items.key" for "Hostname" , mapeie para "target.hostname".

2023-10-27

  • Para registros com "eventName" como "AssociateIamInstanceProfile":
  • Mapeou "responseElements.AssociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" para "target.resource.name".
  • Mapeamos "responseElements.AssociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" para "target.resource.product_object_id".
  • Defina "metadata.event_type" como "RESOURCE_PERMISSIONS_CHANGE".
  • Defina "target.resource.resource_type" como "ACCESS_POLICY".
  • Para registros com "eventName" como "DisassociateIamInstanceProfile":
  • Mapeou "responseElements.DisassociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" para "target.resource.name".
  • Mapeamos "responseElements.DisassociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" para "target.resource.product_object_id".
  • Defina "metadata.event_type" como "RESOURCE_PERMISSIONS_CHANGE".
  • Defina "target.resource.resource_type" como "ACCESS_POLICY".
  • Para registros com "eventName" como "ReplaceIamInstanceProfileAssociation":
  • Mapeou "responseElements.ReplaceIamInstanceProfileAssociationResponse.iamInstanceProfileAssociation.instanceid" para "target.resource.name".
  • "responseElements.ReplaceIamInstanceProfileAssociationResponse.iamInstanceProfileAssociation.instanceid" foi mapeado para "target.resource.product_object_id".
  • Defina "metadata.event_type" como "RESOURCE_PERMISSIONS_CHANGE".
  • Defina "target.resource.resource_type" como "ACCESS_POLICY".
  • O objeto JSON "requestParameters" e "responseElements" foi mapeado para "target.resource.attribute.labels".
  • Foi corrigido um erro de digitação em "req.userIdentity.userName" de "req.userIdentity.username".

2023-10-13

  • Para registros com "eventName" como "UpdateDetector":
  • "requestParameters.features.name" e "requestParameters.features.status" foram mapeados para "target.resource.attribute.labels".
  • Para registros com "eventName" como "SendCommand":
  • "requestParameters.documentName" foi associado a "target.resource.product_object_id".
  • Mapeamos "responseElements.command.commandId" para "target.process.product_specific_object.id".
  • "metadata.event_type" foi mapeado para "PROCESS_LAUNCH".
  • "requestParameters.documentName" foi associado a "target.resource.name".
  • Mapeou todos os parâmetros em "requestParameters" e "responseElements" para "target.resource.attribute.labels".
  • Para registros com "eventName" como "createAccountResult", mapeie "event_type" como "USER_RESOURCE_ACCESS".
  • Para registros com "eventName" como "createAccount", mapeie "event_type" como "RESOURCE_CREATION".

2023-09-30

  • Adicione novos mapeamentos para os seguintes campos:
  • "req.requestParameters.durationSeconds" foi associado a "target.resource.attribute.labels".
  • "req.requestParameters.policyArns" foi associado a "target.resource.attribute.labels".
  • Para registros com "eventName" como "GetParameter", "GetParameters", "GetParameterHistory", "GetParametersByPath", "DescribeParameters":
  • "metadata.event_type" foi mapeado para "RESOURCE_READ".
  • "req.requestParameters.withDecryption" foi associado a "security_result.detection_fields".
  • Para registros com "eventName" como "DeleteParameters","DeleteParameter", defina "metadata.event_type" como "RESOURCE_DELETION".
  • Para registros com "eventName" como "PutParameter", defina "metadata.event_type" como "RESOURCE_PERMISSIONS_CHANGE".
  • Para registros com "eventName" como "EnableRegion" ou "DisableRegion", defina "target.resource.name" em "req.requestParameters.map.RegionName".
  • Para registros com "eventName" como "GetFederationToken":
  • "metadata.event_type" foi mapeado para "RESOURCE_READ".
  • "req.responseElements.federatedUser.arn" foi mapeado para "target.resource.name".
  • "req.responseElements.federatedUser.federatedUserId" foi associado a "target.user.userid".
  • "req.responseElements.packedPolicySize" foi associado a "security_result.detection_fields".
  • "req.responseElements.credentials.sessionToken" foi mapeado para "security_result.detection_fields".

2023-09-15

  • Adicione novos mapeamentos para os seguintes campos:
  • "requestParameters.userName" foi associado a "target.user.user_display_name".
  • "additionalEventData.SamlProviderArn" foi mapeado para "additional.fields".
  • "eventSource" foi associado a "metadata.ingestion_labels".
  • Quando o valor de "requestParameters.tagSpecificationSet.items.tags.key" é "Nome", "requestParameters.tagSpecificationSet.items.tags.value" é mapeado para "target.resource.name".

2023-08-24

  • Para registros com "eventName" como "CreateFirewall" e "DeleteFirewall" :
  • "responseElements.firewallARN" foi mapeado para "target.resource.name".
  • "responseElements.firewallId" foi mapeado para "target.resource.product_object_id".
  • "responseElements.firewallName" foi associado a "target.resource.attribute.labels".
  • "target.resource_subtype" foi mapeado como "Firewall".
  • "target.resource.resource_type" foi mapeado como "FIREWALL_RULE".

2023-08-24

  • Para registros com "eventName" como "CreateSubnet", defina "metadata.event_type" como "RESOURCE_CREATION".
  • "req.responseElements.subnet.subnetId" foi mapeado para "target.resource.attribute.labels".
  • "req.requestParameters.cidrBlock" foi mapeado para "target.resource.attribute.labels".
  • Para registros com "eventName" como "DeleteSubnet", defina "metadata.event_type" como "RESOURCE_DELETION".
  • "req.requestParameters.subnetId" foi mapeado para "target.resource.attribute.labels".

2023-08-16

  • Para logs com "eventName" como "DeleteSecret", mapeie "responseElements.arn" para "target.resource.name".

2023-08-02

  • Para registros com "eventName" como "CreateTags", mapeie "metadata.event_type" para "RESOURCE_WRITTEN".
  • Mapeou "responseElements.description","requestParameters.name","requestParameters.tagSet.items" e "requestParameters.attributeType" para "target.resource.attribute.labels".
  • Defina "metadata.event_type" como "RESOURCE_CREATION" para registros com o seguinte "eventName":
  • "CreateNetworkAcl","CreateVolume","CreatePublishingDestination","CreateIPSet","CreateThreatIntelSet",
  • "CreateAddon","CreateRepository","CreateStack","CreateDomain","CreateCollection","CreateTable",
  • "CreateDBInstance","CreateDBCluster","CreateDBSnapshot","CreateDBClusterSnapshot","PutConfigRule",
  • "PutDeliveryChannel","CreateListener","CreateLoadBalancer","PutLoggingConfiguration","CreateTargetGroup",
  • "CreateWebACL","RequestCertificate","CreateCluster"
  • Defina "metadata.event_type" como "RESOURCE_WRITTEN para logs com o seguinte "nome do evento":
  • "MoveAccount","PutEventSelectors","PutInsightSelectors","UpdateIPSet","UpdateThreatIntelSet","CreateTags",
  • "UpdateTable","ModifyDBInstance","StopDBInstance","StartDBInstance","RebootDBInstance",
  • "StartDBCluster","StopDBCluster","ModifyDBSnapshotAttribute","ModifyDBClusterSnapshotAttribute",
  • "AddListenerCertificates","ModifyLoadBalancerAttributes","SetSubnets","SetSecurityGroups",
  • "ModifyListener","UpdateWebACL","ResendValidationEmail","ModifyInstanceAttribute",
  • "StopInstances","StartInstances","RebootInstances"
  • Defina "metadata.event_type" como "RESOURCE_WRITTEN" para registros com o seguinte "eventName".
  • "DeletePublishingDestination","DeleteIPSet","DeleteThreatIntelSet","DeleteRepository",
  • "DeleteStack","DeleteCollection","DeleteDomain","DeleteTable","DeleteDBInstance","DeleteDBCluster",
  • "DeleteDBSnapshot","DeleteDBClusterSnapshot","DeleteConfigRule","DeleteEvaluationResults",
  • "DeleteTargetGroup","DeleteLoadBalancer","DeleteListener","DeleteLoggingConfiguration",
  • "DeleteWebACL","DeleteCertificate","DeleteCluster"
  • Defina "metadata.event_type" como "RESOURCE_PERMISSIONS_CHANGE" para registros com o seguinte "eventName":
  • "AssociateWebACL","DisassociateWebACL","AttachGroupPolicy","PutBucketAcl"
  • Defina "metadata.event_type" como "RESOURCE_READ" para registros com o seguinte "eventName":
  • "GetPasswordData","GetSessionToken"
  • Mapeamos "target.resource.resource_type" e outros campos não mapeados para os nomes de eventos mencionados acima.

2023-07-18

  • Para registros com o seguinte "eventName", mapeie "metadata.event_type" para "RESOURCE_CREATION".
  • "EnableMacie","ConnectDirectory","RunInstances","CreateImage","CreateOrganization", "CreateNetworkInterface",
  • "StartSSO","CreateEmailIdentity","VerifyDomainIdentity","VerifyDomainDkim","VerifyEmailIdentity",
  • "CreateConfigurationSet","CreateSecret","ImportKeyPair","CreateAlias","CreateKey","CreateOrganizationalUnit",
  • "CreateNetworkAcl","CreateVolume","CreatePublishingDestination","CreateIPSet","CreateThreatIntelSet"
  • Para registros com o seguinte "eventName", "metadata.event_type" foi mapeado para "RESOURCE_WRITTEN".
  • "UpdateMacieSession","PutAccountSendingAttributes","PutConfigurationSetSendingOptions","UpdateAccountSendingEnabled",
  • "UpdateConfigurationSetSendingEnabled","UpdateSecret","DisableKey","EnableKey","CancelKeyDeletion",
  • "MoveAccount","PutEventSelectors","PutInsightSelectors","UpdateIPSet","UpdateThreatIntelSet"
  • Para registros com o seguinte "eventName", mapeamos "metadata.event_type" para "RESOURCE_DELETION".
  • "DeleteSnapshot","DeleteDetector","DeleteFlowLogs","DeregisterImage","TerminateInstances", "RESOURCE_DELETION",
  • "DeleteNetworkInterface","DeleteSSO","DeleteBucketPublicAccessBlock","DeleteAccountPublicAccessBlock",
  • "RemoveAccountFromOrganization","DeleteEmailIdentity","LeaveOrganization","DeleteConfigurationSet",
  • "DeleteSecret","DeleteKeyPair","DeleteAlias","ScheduleKeyDeletion","DeleteNetworkAcl",
  • "DeletePublishingDestination","DeleteIPSet","DeleteThreatIntelSet"
  • Para registros com o seguinte "eventName", mapeie "metadata.event_type" para "RESOURCE_PERMISSIONS_CHANGE".
  • "DetachRolePolicy","PutRolePolicy","PutResourcePolicy","PutCredentials","DeleteDirectory",
  • "AuthorizeSecurityGroupEgress","AuthorizeSecurityGroupIngress","RevokeSecurityGroupEgress","RevokeSecurityGroupIngress",
  • "ModifySnapshotAttribute","ModifyImageAttribute","CreateNetworkAclEntry","ReplaceNetworkAclAssociation","DeleteNetworkAclEntry"
  • Mapeamos "target.resource.resource_type" e outros campos não mapeados para os nomes de eventos mencionados acima.
  • Foi adicionada uma verificação de valor nulo antes do campo de mapeamento "userIdentity.invokedBy".

2023-07-06

  • Adição de verificação de valor nulo antes do campo de mapeamento "userIdentity.invokedBy".
  • Mapeou "requestParameters.instanceType","requestParameters.instancesSet.items.0.minCount","requestParameters.instancesSet.items.0.maxCount" para "target.resource.attribute.labels".

2023-06-23

  • mapeou registros para "metadata.event_type" mais específicos com base no campo "eventname".
  • "target.resource.resource_type" foi mapeado como "VIRTUAL_MACHINE".
  • "requestParameters.status" e "responseElements.certificate.status" foram mapeados para "target.resource.attribute.labels".
  • "requestParameters.instanceId" foi mapeado para "target.resource_ancestors.product_object_id".
  • "requestParameters.userName" foi associado a "target.user.userid".
  • Mapeamos "target.resource.name" e "target.resource.product_object_id" com base nas chaves presentes em cada "eventName".
  • "userIdentity.arn" foi mapeado para "principal.resource.name".
  • "userIdentity.accountId" foi mapeado para "principal.resource.product_object_id".
  • Para registros com "eventName" como o seguinte, mapeamos "metadata.event_type" para "RESOURCE_CREATION".
  • "CreateTrail","AllocateAddress","CreateVolume","CreateVirtualMFADevice","UploadSigningCertificate",
  • "CreateAccessKey","UploadSSHPublicKey","CreateServiceSpecificCredential","UploadCloudFrontPublicKey",
  • "CreateAnalyzer","CreateSAMLProvider","PutConfigurationRecorder","CreateRole","CreateInstanceProfile",
  • "CreateExportTask","CreateLogGroup","EnableSecurityHub","CreateEnvironment","CreateSession","CreateServiceLinkedRole",
  • "CreateSnapshot","CreateKeyPair","CreateSecurityGroup","CreateDetector","CreateFlowLogs",
  • "EnableMacie","ConnectDirectory","RunInstances","CreateImage","CreateOrganization"
  • Para registros com "eventName" como o seguinte, mapeie "metadata.event_type" para "RESOURCE_WRITTEN".
  • "StartLogging","StopLogging","AssociateAddress","DisassociateAddress","DetachVolume",
  • "AttachVolume","ModifyVolume","EnableMFADevice","ResyncMFADevice","UpdateSigningCertificate",
  • "UpdateAccessKey","UpdateSSHPublicKey","ResetServiceSpecificCredential","UpdateServiceSpecificCredential",
  • "UpdateCloudFrontPublicKey","DisableRegion","EnableRegion","UpdateSAMLProvider","StartConfigurationRecorder",
  • "StopConfigurationRecorder","PutRetentionPolicy","PutDataProtectionPolicy","UpdateDetector","UpdateMacieSession"
  • Para registros com "eventName" como o seguinte, mapeie "metadata.event_type" para "RESOURCE_DELETION".
  • "DeleteTrail","ReleaseAddress","DeleteVolume","DeactivateMFADevice","DeleteVirtualMFADevice",
  • "DeleteSigningCertificate","DeleteAccessKey","DeleteSSHPublicKey","DeleteServiceSpecificCredential",
  • "DeleteCloudFrontPublicKey","DeleteAnalyzer","DeleteSAMLProvider","DeleteConfigurationRecorder",
  • "DeletePolicy","DeleteRole","DeleteInstanceProfile","DeleteLogGroup","DisableSecurityHub","DisableMacie",
  • "DeleteSnapshot","DeleteDetector","DeleteFlowLogs","DeregisterImage","TerminateInstances"
  • Para registros com "eventName" como o seguinte, mapeie "metadata.event_type" para "RESOURCE_PERMISSIONS_CHANGE".
  • "AttachUserPolicy","DetachUserPolicy","PutUserPolicy","DeleteUserPolicy",
  • "PutUserPermissionsBoundary","DeleteUserPermissionsBoundary","AttachRolePolicy",
  • "DetachRolePolicy","PutRolePolicy","PutResourcePolicy","PutCredentials","DeleteDirectory"

2023-06-09

  • Modificação da regex para identificar os registros da matriz JSON.

2023-06-07

  • Mapeou todos os campos "principal.user" para "target.user" para "eventName" como "ConsoleLogin".

2023-05-26

  • Registros analisados de padrões diferentes do JSON.
  • O "cipherSuite" foi mapeado para "network.tls.cipher".
  • "requestID" foi mapeado para "target.resource.attribute.labels".
  • "assumedRoleId" foi mapeado para "security_result.about.resource.name".
  • "roleSessionName" foi mapeado para "target.resource.name".
  • "roleArn" foi associado a "target.resource.product_object_id".
  • "UserAgent" foi mapeado para "network.http.user_agent".
  • O "sourceIPAddress" foi mapeado para "principal.ip".
  • Mapeamos "sessionIssuer.userName" para "target.user.user_display_name".
  • "sessionIssuer.principalId" foi mapeado para "target.user.userid".
  • "userIdentity.accessKeyId" foi associado a "target.resource.product_object_id".
  • "userIdentity.arn" foi mapeado para "security_result.about.resource.id".
  • "req.detail.Longitude" foi mapeado para "_principal.location.region_longitude".
  • "req.detail.Latitude" foi associado a "_principal.location.region_latitude".
  • "detail.resourceType" foi mapeado para "target.resource.resource_subtype".
  • Defina "security_result.alert_state" como "ALERTING".
  • "req.detail.recommendRemediation" foi associado a "security_result.action_details".
  • "eventLog.detail.eventName" foi associado a "metadata.product_event_type".

2023-02-23

  • "requestParameters.principalArn" foi associado a "principal.resource.name".
  • "resources.ARN" foi mapeado para "about.resource.name".

2022-11-24

  • Corrigir:
  • Analisamos novos registros de formato que têm configurationItem mapeando os seguintes campos.
  • "configurationItem.awsAccountId" foi mapeado para "principal.user.userid".
  • "configurationItem.resourceId" foi mapeado para "target.resource.id".
  • "configurationItem.resourceType" foi mapeado para "target.resource.resource_subtype"
  • "configurationItem.awsRegion" foi associado a "target.location.country_or_region".
  • "configurationItem.configurationItemCaptureTime" foi associado a "target.asset.attribute.creation_time".
  • "configurationItem.configurationItemStatus" foi associado a "target.asset.attribute.labels".
  • "configurationItems.ARN" foi mapeado para "target.resource.attribute.labels".
  • "configurationItems.availabilityZone" foi mapeado para "target.resource.attribute.cloud.availability_zone".
  • "configurationItems.awsRegion" foi mapeado para "target.location.country_or_region".
  • "configurationItems.awsAccountId" foi mapeado para "principal.user.userid".
  • "configurationItems.configuration.activityStreamStatus" foi associado a "target.resource.attribute.labels".
  • Mapeamos "configurationItems.configuration.allocatedStorage" para "target.resource.attribute.labels".
  • "configurationItems.configuration.autoMinorVersionUpgrade" foi mapeado para "target.resource.attribute.labels".
  • "configurationItems.configuration.backupRetentionPeriod" foi mapeado para "target.resource.attribute.labels".
  • "configurationItems.configuration.copyTagsToSnapshot" foi associado a "target.resource.attribute.labels".
  • "configurationItems.configuration.dbClusterResourceId" foi mapeado para "target.resource.product_object_id".
  • "configurationItems.configuration.masterUsername" foi associado a "principal.user.user_display_name".
  • "configurationItems.resourceName" foi mapeado para "target.resource.name".

2022-10-13

  • Para "eventName": "CreateAccessKey", o campo "responseElements.accessKey.accessKeyId" foi associado a "target.resource.product_object_id".
  • Para "eventName": "UpdateAccessKey", o campo "requestParameters.accessKeyId" foi associado a "target.resource.product_object_id".
  • Para "eventName": "DeleteAccessKey", o campo "requestParameters.accessKeyId" foi associado a "target.resource.product_object_id".
  • Para "eventName": "CreateUser" mapeou o campo "responseElements.user.userId" para "target.user.product_object_id".
  • O campo "eventTime" foi mapeado para "metadata.collected_timestamp".

2022-07-27

  • Adicionamos o eventType "QueryDatabase" e mapeamos os campos dele.
  • Condições modificadas para principal.ip ou principal.host para processar novos registros.
  • O mapeamento de "requestParameters.roleArn", "requestParameters.registryId" e "resources.accountId" mudou de "target.resource.id" para "target.resource.product_object_id".
  • Modificação da condição de análise para "req_params" para extrair os valores.

2022-07-08

  • O mapeamento de "req.requestParameters.roleName" foi modificado de "target.user.role_name" para "target.user.attribute.roles".

2022-07-06

  • O mapeamento de "req.awsRegion" mudou de "_principal.location.country_or_region" para "_principal.location.name".
  • O event_type foi modificado de "GENERIC_EVENT" para "USER_LOGIN" para eventName "AssumeRole".
  • O event_type foi modificado de "GENERIC_EVENT" para "USER_RESOURCE_ACCESS" para eventNAme "PutImage" ou "GetDownloadUrlForLayer" ou "BatchGetImage".
  • O event_type foi modificado de "GENERIC_EVENT" para "USER_RESOURCE_DELETION" para o nome do evento "DeleteNetworkInterface".

2022-06-06

  • Para eventName "CreateUser/DeleteUser", a condição modificada para processar o mapeamento de src como o existente falhou para novos registros.
  • O campo puserId foi modificado para processar um novo registro não analisado.

2022-05-27

  • Melhoria para mapear os seguintes elementos de registros brutos para elementos do UDM:
  • "awsAccountId" mapeado para "target.user.group_identifiers".
  • "digestS3Bucket" mapeado para "target.resource.name".
  • "digestS3Object" mapeado para "target.file.full_path".
  • "previousDigestHashValue" mapeado para "target.file.sha256".
  • "digestSignatureAlgorithm" mapeado para "event.idm.read_only_udm.additional.fields".
  • "digestPublicKeyFingerprint" mapeado para "event.idm.read_only_udm.additional.fields".
  • "logFiles.s3Bucket" mapeado para "about_resource.resource.name".
  • "logFiles.s3Object" mapeado para "about_resource.file.full_path".
  • "logFiles.hashValue" mapeado para "about_resource.file.sha256".

2022-05-27

  • Melhoria: o valor armazenado em metadata.product_name foi modificado para "AWS CloudTrail".

2022-04-13

  • Melhoria para mapear os seguintes elementos de registros brutos para elementos do UDM:
  • Campo mapeado "requestParameters.PublicAccessBlockConfiguration.IgnorePublicAcls", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.RestrictPublicBuckets", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.BlockPublicPolicy", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.BlockPublicAcls", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.IgnorePublicAcls", "additionalEventData.configRuleInputParameters.RestrictPublicBuckets", "additionalEventData.configRuleInputParameters.BlockPublicPolicy", "additionalEventData.configRuleInputParameters.BlockPublicAcls", "additionalEventData.configRuleInputParameters.IgnorePublicAcls" para "target.resource.attribute.labels".