Coletar registros de instâncias do AWS EC2

Compatível com:

Neste documento, explicamos como configurar os registros de instâncias do AWS EC2 no Google Security Operations para monitoramento e análise. O analisador extrai dados dos registros JSON de reserva de instâncias, reestrutura e renomeia campos para se conformar ao UDM, processando vários tipos de dados e estruturas aninhadas, incluindo interfaces de rede, grupos e tags, além de gerar relacionamentos de recursos e metadados. Ele também realiza o tratamento de erros e descarta mensagens JSON malformadas.

Antes de começar

  • Verifique se você tem uma instância do Google SecOps.
  • Verifique se você tem acesso privilegiado à AWS.

Configurar o AWS IAM e o S3

  1. Crie um bucket do Amazon S3 seguindo este guia do usuário: Criar um bucket.
  2. Salve o Nome e a Região do bucket para uso futuro.
  3. Crie um usuário seguindo este guia: Como criar um usuário do IAM.
  4. Selecione o Usuário criado.
  5. Selecione a guia Credenciais de segurança.
  6. Clique em Criar chave de acesso na seção Chaves de acesso.
  7. Selecione Serviço de terceiros como o caso de uso.
  8. Clique em Próxima.
  9. Opcional: adicione uma tag de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para uso futuro.
  12. Clique em Concluído.
  13. Selecione a guia Permissões.
  14. Clique em Adicionar permissões na seção Políticas de permissões.
  15. Selecione Adicionar permissões.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione a política AmazonS3FullAccess.
  18. Clique em Próxima.
  19. Clique em Adicionar permissões

Configurar o EC2 para enviar registros aos Logs do CloudWatch

  1. Use o SSH para se conectar à instância do EC2, fornecendo seu par de chaves para autenticação.

    ssh -i your-key.pem ec2-user@your-ec2-public-ip
    
  2. Instale o agente do CloudWatch Logs:

    • Para instalar o agente do CloudWatch Logs no Amazon Linux, use este comando:
    sudo yum install -y awslogs
    
    • Para instalar o agente do CloudWatch Logs no Ubuntu, use o seguinte comando:
    sudo apt-get install -y awslogs
    
  3. Abra o arquivo de configuração dos Logs do CloudWatch:

    sudo vi /etc/awslogs/awslogs.conf
    
  4. Crie um script que extrai esses metadados da instância de registro e os grava em um arquivo:

    #!/bin/bash
    echo "Architecture: $(curl -s http://169.254.169.254/latest/meta-data/architecture)" >> /var/log/instance_metadata.log
    echo "AmiLaunchIndex: $(curl -s http://169.254.169.254/latest/meta-data/ami-launch-index)" >> /var/log/instance_metadata.log
    echo "BootMode: $(curl -s http://169.254.169.254/latest/meta-data/boot-mode)" >> /var/log/instance_metadata.log
    
  5. Salve o script como /etc/init.d/metadata_script.sh e execute-o na inicialização da instância usando crontab ou rc.local.

  6. Abra o arquivo de configuração do agente do CloudWatch Logs:

    sudo vi /etc/awslogs/awslogs.conf
    
  7. Adicione o código abaixo ao arquivo de configuração:

    [/var/log/messages]
    file = /var/log/messages
    log_group_name = /ec2/system/logs
    log_stream_name = {instance_id}
    
    [/var/log/secure]
    file = /var/log/secure
    log_group_name = /ec2/security/logs
    log_stream_name = {instance_id}
    
    [/var/log/auth.log]
    file = /var/log/auth.log
    log_group_name = /ec2/auth/logs
    log_stream_name = {instance_id}
    
    [/var/log/httpd/access_log]
    file = /var/log/httpd/access_log
    log_group_name = /ec2/application/apache/access_logs
    log_stream_name = {instance_id}
    
    [/var/log/httpd/error_log]
    file = /var/log/httpd/error_log
    log_group_name = /ec2/application/apache/error_logs
    log_stream_name = {instance_id}
    
  8. Salve a configuração e saia do editor.

  9. Inicie o agente do CloudWatch Logs:

    • No Amazon Linux:
    sudo service awslogs start
    
    • No Ubuntu:
    sudo service awslogs start
    
  10. Verificar se o agente está em execução:

    sudo service awslogs status
    

Configurar as permissões do IAM para Lambda e S3

  1. No console do AWS IAM, crie um novo papel do IAM com as seguintes permissões:

    • logs:PutSubscriptionFilter
    • logs:DescribeLogGroups
    • logs:GetLogEvents
    • s3:PutObject
  2. Anexe essa função à sua função Lambda, que vai exportar os registros para o S3.

Configurar o Lambda para exportar registros para o S3

  1. Acesse o console da Lambda e crie uma nova função.

    import boto3
    import gzip
    from io import BytesIO
    
    s3 = boto3.client('s3')
    logs = boto3.client('logs')
    
    def lambda_handler(event, context):
        log_group = event['logGroup']
        log_stream = event['logStream']
    
        log_events = logs.get_log_events(
            logGroupName=log_group,
            logStreamName=log_stream,
            startFromHead=True
        )
    
        log_data = "\n".join([event['message'] for event in log_events['events']])
    
        # Compress and upload to S3
        compressed_data = gzip.compress(log_data.encode('utf-8'))
        s3.put_object(
            Bucket='your-s3-bucket-name',
            Key='logs/ec2-log.gz',
            Body=compressed_data
        )
      ```
    
    • Substitua your-s3-bucket-name pelo nome real do seu bucket do S3.
  2. Anexe o papel do IAM à função Lambda criada anteriormente.

  3. No console do CloudWatch, acesse a seção de registros.

  4. Selecione o grupo de registro, por exemplo, /ec2/system/logs.

  5. Clique em Ações > Criar filtro de assinatura.

  6. Defina o destino como a função Lambda criada anteriormente.

Configurar um feed no Google SecOps para processar registros de instâncias do EC2 da AWS

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed, por exemplo, AWS EC2 Instance Logs.
  4. Selecione Amazon S3 como o Tipo de origem.
  5. Selecione Instância do AWS EC2 como o Tipo de registro.
  6. Clique em Próxima.
  7. Especifique valores para os seguintes parâmetros de entrada:

    • Região: a região em que o bucket do Amazon S3 está localizado.
    • URI do S3: o URI do bucket.
      • s3://your-log-bucket-name/
        • Substitua your-log-bucket-name pelo nome real do bucket.
    • O URI é: selecione Diretório ou Diretório que inclui subdiretórios.
    • Opções de exclusão de origem: selecione a opção de exclusão de acordo com sua preferência.

    • ID da chave de acesso: a chave de acesso do usuário com acesso ao bucket do S3.

    • Chave de acesso secreta: a chave secreta do usuário com acesso ao bucket do S3.

    • Namespace do recurso: o namespace do recurso.

    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos desse feed.

  8. Clique em Próxima.

  9. Revise a configuração do novo feed na tela Finalizar e clique em Enviar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
Architecture entity.entity.asset.attribute.labels.key=instances_set_architecture, entity.entity.asset.attribute.labels.value O valor é extraído diretamente do campo Instances.Architecture no registro bruto.
AmiLaunchIndex entity.entity.asset.attribute.labels.key=instances_set_ami_launch_index, entity.entity.asset.attribute.labels.value O valor é extraído diretamente do campo Instances.AmiLaunchIndex no registro bruto.
BlockDeviceMapping.Ebs.AttachTime entity.entity.resource_ancestors.attribute.labels.key=instances_set_block_device_mapping_ebs_attach_time, entity.entity.resource_ancestors.attribute.labels.value O valor é extraído de Instances.BlockDeviceMapping.Ebs.AttachTime.
BlockDeviceMapping.Ebs.DeleteOnTermination entity.entity.resource_ancestors.attribute.labels.key=instances_set_block_device_mapping_ebs_delete_on_termination, entity.entity.resource_ancestors.attribute.labels.value O valor é extraído de Instances.BlockDeviceMapping.Ebs.DeleteOnTermination.
BlockDeviceMapping.Ebs.Status entity.entity.resource_ancestors.attribute.labels.key=instances_set_block_device_mapping_ebs_volume_status, entity.entity.resource_ancestors.attribute.labels.value O valor é extraído de Instances.BlockDeviceMapping.Ebs.Status.
BlockDeviceMapping.Ebs.VolumeID entity.entity.resource_ancestors.product_object_id, entity.entity.resource_ancestors.resource_type=VOLUME O valor é extraído de Instances.BlockDeviceMapping.Ebs.VolumeID.
BlockDeviceMapping.Name entity.entity.resource_ancestors.attribute.labels.key=instances_set_block_device_mapping_device_name, entity.entity.resource_ancestors.attribute.labels.value O valor é extraído de Instances.BlockDeviceMapping.Name.
BootMode entity.entity.asset.attribute.labels.key=instances_set_boot_mode, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.BootMode.
CapacityReservationID entity.entity.asset.attribute.labels.key=instances_set_capacity_reservation_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.CapacityReservationID.
CapacityReservationSpecification.CapacityReservationPreference entity.entity.asset.attribute.labels.key=instances_set_capacity_reservation_specification_capacity_reservation_preference, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.CapacityReservationSpecification.CapacityReservationPreference.
CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationID entity.entity.asset.attribute.labels.key=instances_set_capacity_reservation_specification_capacity_reservation_target_capacity_reservation_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationID.
CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationResourceGroupArn entity.entity.resource_ancestors.name, entity.entity.resource_ancestors.resource_subtype=Capacity Reservation Arn O valor é extraído de Instances.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationResourceGroupArn.
ClientToken entity.entity.asset.attribute.labels.key=instances_set_client_token, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.ClientToken.
CPU.AmdSevSnp entity.entity.asset.attribute.labels.key=instances_set_cpu_options_amd_sev_snp, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.CPU.AmdSevSnp.
CPU.CoreCount entity.entity.asset.hardware.cpu_number_cores O valor é extraído de Instances.CPU.CoreCount.
CPU.ThreadsPerCore entity.entity.asset.attribute.labels.key=instances_set_cpu_options_threads_per_core, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.CPU.ThreadsPerCore.
CurrentInstanceBootMode entity.entity.asset.attribute.labels.key=instances_set_current_instance_boot_mode, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.CurrentInstanceBootMode.
DNSName entity.entity.network.dns_domain O valor é extraído de Instances.DNSName.
EbsOptimized entity.entity.asset.attribute.labels.key=instances_set_ebs_optimized, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.EbsOptimized.
ElasticGpuAssociationSet.ElasticGpuAssociationID entity.entity.asset.attribute.labels.key=instances_set_elastic_gpu_association_set_elastic_gpu_association_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.ElasticGpuAssociationSet.ElasticGpuAssociationID.
ElasticGpuAssociationSet.ElasticGpuAssociationState entity.entity.asset.attribute.labels.key=instances_set_elastic_gpu_association_set_elastic_gpu_association_state, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.ElasticGpuAssociationSet.ElasticGpuAssociationState.
ElasticGpuAssociationSet.ElasticGpuAssociationTime entity.entity.asset.attribute.labels.key=instances_set_elastic_gpu_association_set_elastic_gpu_association_time, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.ElasticGpuAssociationSet.ElasticGpuAssociationTime.
ElasticGpuAssociationSet.ElasticGpuID entity.entity.asset.attribute.labels.key=instances_set_elastic_gpu_association_set_elastic_gpu_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.ElasticGpuAssociationSet.ElasticGpuID.
ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorArn entity.entity.resource_ancestors.name, entity.entity.resource_ancestors.resource_subtype=Elastic Interface Accelerator Arn O valor é extraído de Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorArn.
ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationID entity.entity.resource_ancestors.attribute.labels.key=instances_set_elastic_inference_accelerator_association_set_elastic_inference_accelerator_association_id, entity.entity.resource_ancestors.attribute.labels.value O valor é extraído de Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationID.
ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationState entity.entity.resource_ancestors.attribute.labels.key=instances_set_elastic_inference_accelerator_association_set_elastic_inference_accelerator_association_state, entity.entity.resource_ancestors.attribute.labels.value O valor é extraído de Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationState.
ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationTime entity.entity.resource_ancestors.attribute.labels.key=instances_set_elastic_inference_accelerator_association_set_elastic_inference_accelerator_association_time, entity.entity.resource_ancestors.attribute.labels.value O valor é extraído de Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationTime.
EnaSupport entity.entity.asset.attribute.labels.key=instances_set_ena_support, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.EnaSupport.
EnclaveOptions.Enabled entity.entity.asset.attribute.labels.key=instances_set_enclave_options_enabled, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.EnclaveOptions.Enabled.
GroupSet.GroupID entity.entity.group.product_object_id, entity.entity.group.attribute.labels.key=group_set_group_id, entity.entity.group.attribute.labels.value, entity.entity.group.attribute.labels.key=instances_set_group_set_group_id, entity.entity.group.attribute.labels.value, entity.entity.group.attribute.labels.key=instances_set_network_interface_set_group_set_group_id, entity.entity.group.attribute.labels.value O valor é extraído de GroupSet.GroupID. O primeiro GroupID na matriz é mapeado para entity.entity.group.product_object_id. Os valores de GroupID subsequentes são mapeados como rótulos.
GroupSet.GroupName entity.entity.group.group_display_name, entity.entity.group.attribute.labels.key=group_set_group_name, entity.entity.group.attribute.labels.value, entity.entity.group.attribute.labels.key=instances_set_group_set_group_name, entity.entity.group.attribute.labels.value, entity.entity.group.attribute.labels.key=instances_set_network_interface_set_group_set_group_name, entity.entity.group.attribute.labels.value O valor é extraído de GroupSet.GroupName. O primeiro GroupName na matriz é mapeado para entity.entity.group.group_display_name. Os valores GroupName subsequentes são mapeados como rótulos.
HibernationOptions entity.entity.asset.attribute.labels.key=instances_set_hibernation_options, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.HibernationOptions.
HibernationOptions.Configured entity.entity.asset.attribute.labels.key=instances_set_hibernation_options_configured, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.HibernationOptions.Configured.
Hypervisor entity.entity.asset.attribute.labels.key=instances_set_hypervisor, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.Hypervisor.
IamInstanceProfile.Arn entity.entity.resource_ancestors.name, entity.entity.resource_ancestors.resource_subtype=Instance Profile Arn O valor é extraído de Instances.IamInstanceProfile.Arn.
IamInstanceProfile.ID entity.entity.resource_ancestors.product_object_id O valor é extraído de Instances.IamInstanceProfile.ID.
ImageID entity.entity.resource_ancestors.product_object_id, entity.entity.resource_ancestors.resource_type=IMAGE O valor é extraído de Instances.ImageID.
InstanceID entity.metadata.product_entity_id, entity.entity.asset.asset_id O valor é extraído de Instances.InstanceID.
InstanceLifecycle entity.entity.asset.attribute.labels.key=instances_set_instance_lifecycle, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.InstanceLifecycle.
InstanceState.Code entity.entity.asset.attribute.labels.key=instances_set_instance_state_code, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.InstanceState.Code.
InstanceState.Name entity.entity.asset.deployment_status O valor é derivado de Instances.InstanceState.Name. Se o valor for running, o campo UDM será definido como ACTIVE. Se o valor for shutting-down ou stopping, o campo do UDM será definido como PENDING_DECOMMISSION. Se o valor for stopped ou terminated, o campo do UDM será definido como DECOMMISSIONED.
InstanceType entity.entity.asset.category O valor é extraído de Instances.InstanceType.
IPAddress entity.entity.asset.ip O valor é extraído de Instances.IPAddress.
Ipv6Address entity.entity.asset.ip O valor é extraído de Instances.Ipv6Address.
KernelID entity.entity.asset.attribute.labels.key=instances_set_kernel_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.KernelID.
KeyName entity.entity.asset.attribute.labels.key=instances_set_key_name, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.KeyName.
LaunchTime entity.metadata.creation_timestamp O valor é extraído de Instances.LaunchTime.
LicenseSet.LicenseConfigurationArn entity.entity.resource_ancestors.name, entity.entity.resource_ancestors.resource_subtype=License Configuration Arn O valor é extraído de Instances.LicenseSet.LicenseConfigurationArn.
MaintenanceOptions entity.entity.asset.attribute.labels.key=instances_set_maintenance_options_auto_recovery, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.MaintenanceOptions.
MetadataOptions.HTTPEndpoint entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_endpoint, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.MetadataOptions.HTTPEndpoint.
MetadataOptions.HTTPProtocolIpv6 entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_protocol_ipv6, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.MetadataOptions.HTTPProtocolIpv6.
MetadataOptions.HTTPPutResponseHopLimit entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_put_response_hop_limit, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.MetadataOptions.HTTPPutResponseHopLimit.
MetadataOptions.HTTPTokens entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_tokens, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.MetadataOptions.HTTPTokens.
MetadataOptions.InstanceMetadataTags entity.entity.asset.attribute.labels.key=instances_set_metadata_options_instance_metadata_tags, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.MetadataOptions.InstanceMetadataTags.
MetadataOptions.State entity.entity.asset.attribute.labels.key=instances_set_metadata_options_state, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.MetadataOptions.State.
Monitoring.State entity.entity.asset.attribute.labels.key=instances_set_monitoring_state, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.Monitoring.State.
NetworkInterfaceSet.Association.CarrierIP entity.entity.asset.nat_ip O valor é extraído de Instances.NetworkInterfaceSet.Association.CarrierIP.
NetworkInterfaceSet.Association.CustomerOwnedIP entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_association_customer_owned_ip, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Association.CustomerOwnedIP.
NetworkInterfaceSet.Association.IPOwnerID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_association_ip_owner_id, entity.entity.asset.attribute.labels.value, entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_private_ip_addresses_set_association_ip_owner_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Association.IPOwnerID.
NetworkInterfaceSet.Association.PublicDNSName entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_association_public_dns_name, entity.entity.asset.attribute.labels.value, entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_private_ip_addresses_set_association_public_dns_name, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Association.PublicDNSName.
NetworkInterfaceSet.Association.PublicIP entity.entity.asset.ip O valor é extraído de Instances.NetworkInterfaceSet.Association.PublicIP.
NetworkInterfaceSet.Attachment.AttachTime entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_attachment_attach_time, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Attachment.AttachTime.
NetworkInterfaceSet.Attachment.AttachmentID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_attachment_attachment_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Attachment.AttachmentID.
NetworkInterfaceSet.Attachment.DeleteOnTermination entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_attachment_delete_on_termination, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Attachment.DeleteOnTermination.
NetworkInterfaceSet.Attachment.DeviceIndex entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_attachment_device_index, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Attachment.DeviceIndex.
NetworkInterfaceSet.Attachment.NetworkCardIndex entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_attachment_network_card_index, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Attachment.NetworkCardIndex.
NetworkInterfaceSet.Attachment.Status entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_attachment_status, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Attachment.Status.
NetworkInterfaceSet.Description entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_description, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Description.
NetworkInterfaceSet.GroupSet.GroupID entity.entity.group.attribute.labels.key=instances_set_network_interface_set_group_set_group_id, entity.entity.group.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.GroupSet.GroupID.
NetworkInterfaceSet.GroupSet.GroupName entity.entity.group.attribute.labels.key=instances_set_network_interface_set_group_set_group_name, entity.entity.group.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.GroupSet.GroupName.
NetworkInterfaceSet.InterfaceType entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_interface_type, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.InterfaceType.
NetworkInterfaceSet.Ipv6AddressesSet.Ipv6Address entity.entity.asset.ip O valor é extraído de Instances.NetworkInterfaceSet.Ipv6AddressesSet.Ipv6Address.
NetworkInterfaceSet.Ipv6AddressesSet.IsPrimaryIpv6 entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_ipv6_addresses_set_is_primary_ipv6, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Ipv6AddressesSet.IsPrimaryIpv6.
NetworkInterfaceSet.MacAddress entity.entity.asset.mac O valor é extraído de Instances.NetworkInterfaceSet.MacAddress.
NetworkInterfaceSet.NetworkInterfaceID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_network_interface_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.NetworkInterfaceID.
NetworkInterfaceSet.OwnerID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_owner_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.OwnerID.
NetworkInterfaceSet.PrivateDNSName entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_private_dns_name, entity.entity.asset.attribute.labels.value, entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_private_ip_addresses_set_private_dns_name, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.PrivateDNSName.
NetworkInterfaceSet.PrivateIPAddress entity.entity.asset.ip O valor é extraído de Instances.NetworkInterfaceSet.PrivateIPAddress.
NetworkInterfaceSet.PrivateIPAddressesSet.Primary entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_private_ip_addresses_set_primary, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.PrivateIPAddressesSet.Primary.
NetworkInterfaceSet.PrivateIPAddressesSet.PrivateIPAddress entity.entity.asset.ip O valor é extraído de Instances.NetworkInterfaceSet.PrivateIPAddressesSet.PrivateIPAddress.
NetworkInterfaceSet.SourceDestCheck entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_source_dest_check, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.SourceDestCheck.
NetworkInterfaceSet.Status entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_status, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.Status.
NetworkInterfaceSet.SubnetID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_subnet_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.SubnetID.
NetworkInterfaceSet.VpcID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_vpc_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.NetworkInterfaceSet.VpcID.
OutpostArn entity.relations.entity.asset.product_object_id O valor é extraído de Instances.OutpostArn.
Placement.Affinity entity.entity.asset.attribute.labels.key=instances_set_placement_affinity, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.Placement.Affinity.
Placement.AvailabilityZone entity.entity.asset.attribute.cloud.availability_zone O valor é extraído de Instances.Placement.AvailabilityZone.
Placement.GroupID entity.entity.group.attribute.labels.key=instances_set_placement_group_id, entity.entity.group.attribute.labels.value O valor é extraído de Instances.Placement.GroupID.
Placement.GroupName entity.entity.group.attribute.labels.key=instances_set_placement_group_name, entity.entity.group.attribute.labels.value O valor é extraído de Instances.Placement.GroupName.
Placement.HostID entity.relations.entity.asset.asset_id O valor é extraído de Instances.Placement.HostID.
Placement.HostResourceGroupArn entity.relations.entity.asset.attribute.labels.key=instances_set_placement_host_resource_group_arn, entity.relations.entity.asset.attribute.labels.value O valor é extraído de Instances.Placement.HostResourceGroupArn.
Placement.PartitionNumber entity.entity.asset.attribute.labels.key=instances_set_placement_partition_number, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.Placement.PartitionNumber.
Placement.SpreadDomain entity.entity.asset.attribute.labels.key=instances_set_placement_spread_domain, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.Placement.SpreadDomain.
Placement.Tenancy entity.entity.asset.attribute.labels.key=instances_set_placement_tenancy, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.Placement.Tenancy.
PlatformDetails entity.entity.asset.attribute.labels.key=instances_set_platform_details, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.PlatformDetails.
PrivateDNSName entity.entity.network.dns.questions.name O valor é extraído de Instances.PrivateDNSName.
PrivateDNSNameOptions.EnableResourceNameDnsAAAARecord entity.entity.network.dns.questions.type Se o valor for true, o campo UDM será definido como 28.
PrivateDNSNameOptions.EnableResourceNameDnsARecord entity.entity.network.dns.questions.type Se o valor for true, o campo da UDM será definido como 1.
PrivateDNSNameOptions.HostnameType entity.entity.asset.attribute.labels.key=instances_set_private_dns_name_options_hostname_type, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.PrivateDNSNameOptions.HostnameType.
PrivateIPAddress entity.entity.asset.ip O valor é extraído de Instances.PrivateIPAddress.
ProductCodes.ProductCode entity.entity.asset.attribute.labels.key=instances_set_product_codes_product_code, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.ProductCodes.ProductCode.
ProductCodes.Type entity.entity.asset.attribute.labels.key=instances_set_product_codes_type, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.ProductCodes.Type.
RamdiskID entity.entity.asset.attribute.labels.key=instances_set_ramdisk_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.RamdiskID.
Reason entity.entity.asset.attribute.labels.key=instances_set_reason, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.Reason.
ReservationID entity.additional.fields.key=reservation_id, entity.additional.fields.value.string_value O valor é extraído de ReservationID.
RequesterID entity.additional.fields.key=requester_id, entity.additional.fields.value.string_value O valor é extraído de RequesterID.
RootDeviceName entity.entity.asset.attribute.labels.key=instances_set_root_device_name, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.RootDeviceName.
RootDeviceType entity.entity.asset.attribute.labels.key=instances_set_root_device_type, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.RootDeviceType.
SourceDestCheck entity.entity.asset.attribute.labels.key=instances_set_source_dest_check, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.SourceDestCheck.
SpotInstanceRequestID entity.entity.asset.attribute.labels.key=instances_set_spot_instance_request_id, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.SpotInstanceRequestID.
SriovNetSupport entity.entity.asset.attribute.labels.key=instances_set_sriov_net_support, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.SriovNetSupport.
StateReason entity.entity.asset.attribute.labels.key=instances_set_state_reason_code, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.StateReason.
StateReason.Code entity.entity.asset.attribute.labels.key=instances_set_state_reason_code, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.StateReason.Code.
StateReason.Message entity.entity.asset.attribute.labels.key=instances_set_state_reason_message, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.StateReason.Message.
SubnetID entity.entity.resource_ancestors.product_object_id, entity.entity.resource_ancestors.resource_type=SUBNET O valor é extraído de Instances.SubnetID.
TagSet.Key entity.entity.asset.attribute.labels.key O valor é extraído de Instances.TagSet.Key.
TagSet.Value entity.entity.asset.attribute.labels.value O valor é extraído de Instances.TagSet.Value.
TpmSupport entity.entity.asset.attribute.labels.key=instances_set_tpm_support, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.TpmSupport.
UsageOperation entity.entity.asset.attribute.labels.key=instances_set_usage_operation, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.UsageOperation.
UsageOperationUpdateTime entity.entity.asset.attribute.labels.key=instances_set_usage_operation_update_time, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.UsageOperationUpdateTime.
VirtualizationType entity.entity.asset.attribute.labels.key=instances_set_virtualization_type, entity.entity.asset.attribute.labels.value O valor é extraído de Instances.VirtualizationType.
VpcID entity.entity.resource_ancestors.product_object_id, entity.entity.resource_ancestors.resource_type=VPC_NETWORK O valor é extraído de Instances.VpcID.
collection_time entity.metadata.collected_timestamp O valor é extraído diretamente do campo collection_time no registro bruto. Fixado em AMAZON_WEB_SERVICES. Fixado em AMAZON_WEB_SERVICES para os tipos de recurso IMAGE, VOLUME, SUBNET, VPC_NETWORK, Arn do perfil de instância, Arn da reserva de capacidade, Arn do acelerador de interface elástica e Arn da configuração da licença. Fixado em SERVER. Fixado em Amazon EC2. Fixado em AWS. Fixado em ASSET se Instances.Placement.HostID estiver presente e não estiver vazio. Fixado em EXECUTES se Instances.Placement.HostID estiver presente e não estiver vazio. Fixado em ASSET.

Alterações

2024-01-31

  • Adição de suporte ao novo esquema.

2023-12-14

  • Parser recém-criado.

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