Coletar registros do AWS CloudTrail
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.
- No console da AWS, pesquise CloudTrail.
- Clique em Criar trilha.
- Informe o nome do percurso.
- Selecione Criar bucket do S3. Você também pode usar um bucket do S3.
- Informe um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS.
- Deixe as outras configurações como padrão e clique em Próxima.
- Escolha Tipo de evento, adicione Eventos de dados conforme necessário e clique em Próxima.
- Revise as configurações em Revisar e criar e clique em Criar trilha.
- No console da AWS, pesquise Buckets do Amazon S3.
- 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.
- No console da AWS, pesquise IAM.
- Clique em Usuários e,na tela seguinte, em Adicionar usuários.
- 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.
- 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.
- 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.
- Ao aplicar uma política, inclua
sqs:DeleteMessage
. O Google Security Operations não pode excluir mensagens se a permissãosqs: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. - Clique em Próxima:tags.
- Adicione tags, se necessário, e clique em Próxima:analisar.
- Revise a configuração e clique em Criar usuário.
- 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:
- Na barra de navegação, selecione Configurações > Configurações do SIEM e Feeds.
- Na página Feeds, clique em Adicionar novo.
- Na caixa de diálogo Adicionar feed, use a caixa de diálogo Tipo de origem para selecionar Amazon SQS ou Amazon S3.
- No menu Tipo de registro, selecione AWS CloudTrail (ou outro serviço da AWS).
- Clique em Próxima.
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: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.
No exemplo a seguir, as operações de segurança do Google verificam os registros sempre apenas para um dia específico.{{datetime("yyyy/MM/dd")}}
s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
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.
Informe o ID da chave de acesso e a chave de acesso secreta da conta de usuário do IAM que você criou anteriormente.
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:
- No console da AWS, pesquise CloudTrail.
Clique em Criar trilha.
Informe o nome do percurso.
Selecione Criar bucket do S3. Você também pode usar um bucket do S3.
Informe um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS.
Deixe as outras configurações como padrão e clique em Próxima.
Escolha Tipo de evento, adicione Eventos de dados conforme necessário e clique em Próxima.
Revise as configurações em Revisar e criar e clique em Criar trilha.
No console da AWS, pesquise Buckets do Amazon S3.
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.
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.
No console da AWS, pesquise IAM.
Clique em Usuários e,na tela seguinte, em Adicionar usuários.
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.
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.
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.
Adicione tags, se necessário, e clique em Próxima:analisar.
Revise a configuração e clique em Criar usuário.
Copie o ID da chave de acesso e a chave de acesso secreta do usuário criado para usar na próxima etapa.
Configurar o feed no Google Security Operations para ingerir registros da AWS
- Acesse as configurações do Google Security Operations e clique em Feeds.
- Clique em Adicionar novo.
- Selecione Amazon S3 como o Tipo de origem do feed.
- Selecione AWS CloudTrail (ou outro serviço da AWS) em Tipo de registro.
- Clique em Next.
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")}}/
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.
Informe o ID da chave de acesso e a chave de acesso secreta da conta de usuário do IAM que criamos anteriormente.
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:
- Na barra de navegação, selecione Configurações, Configurações do SIEM e Feeds.
- Na página Feeds, clique em Adicionar novo. A caixa de diálogo Adicionar feed é exibida.
- No menu Tipo de origem, selecione API de terceiros.
- No menu Tipo de registro, selecione Hosts do AWS EC2.
- Clique em Próxima.
- Insira os parâmetros de entrada do feed nos campos.
- 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:
- HOSTS DO AWS EC2 (
AWS_EC2_HOSTS
) - INSTÂNCIAS DA AWS EC2 (
AWS_EC2_INSTANCES
) - AWS EC2 VPCs (
AWS_EC2_VPCS
) - AWS Identity and Access Management (IAM) (
AWS_IAM
)
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".