Recopila registros de instancias de AWS EC2
En este documento, se explica cómo configurar los registros de instancias de AWS EC2 en Google Security Operations para la supervisión y el análisis. El analizador extrae datos de los registros JSON de reserva de instancias, reestructura y cambia el nombre de los campos para que se ajusten a la UDM, controla varios tipos de datos y estructuras anidadas, incluidas interfaces de red, grupos y etiquetas, y también genera relaciones de activos y metadatos. También realiza el manejo de errores y descarta los mensajes JSON con formato incorrecto.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de tener acceso con privilegios a AWS.
Configura AWS IAM y S3
- Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Cómo crear un bucket.
- Guarda el Nombre y la Región del bucket para usarlos más adelante.
- Crea un usuario siguiendo esta guía: Cómo crear un usuario de IAM.
- Selecciona el Usuario creado.
- Selecciona la pestaña Credenciales de seguridad.
- Haz clic en Crear clave de acceso en la sección Claves de acceso.
- Selecciona Servicio de terceros como Caso de uso.
- Haz clic en Siguiente.
- Opcional: Agrega una etiqueta de descripción.
- Haz clic en Crear clave de acceso.
- Haz clic en Descargar archivo CSV para guardar la Clave de acceso y la Clave de acceso secreta para usarlas más tarde.
- Haz clic en Listo.
- Selecciona la pestaña Permisos.
- Haz clic en Agregar permisos en la sección Políticas de permisos.
- Selecciona Agregar permisos.
- Selecciona Adjuntar políticas directamente.
- Busca y selecciona la política AmazonS3FullAccess.
- Haz clic en Siguiente.
- Haz clic en Agregar permisos.
Configura EC2 para que envíe registros a los registros de CloudWatch
Usa SSH para conectarte a tu instancia de EC2 y proporciona tu par de claves para la autenticación.
ssh -i your-key.pem ec2-user@your-ec2-public-ip
Instala el agente de CloudWatch Logs:
- Para instalar el agente de CloudWatch Logs en Amazon Linux, usa el siguiente comando:
sudo yum install -y awslogs
- Para instalar el agente de CloudWatch Logs en Ubuntu, usa el siguiente comando:
sudo apt-get install -y awslogs
Abre el archivo de configuración de CloudWatch Logs:
sudo vi /etc/awslogs/awslogs.conf
Crea una secuencia de comandos que recupere estos metadatos de la instancia de registro y los escriba en un archivo:
#!/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
Guarda la secuencia de comandos como
/etc/init.d/metadata_script.sh
y ejecútala al inicio de la instancia con crontab orc.local
.Abre el archivo de configuración del agente de CloudWatch Logs:
sudo vi /etc/awslogs/awslogs.conf
Agrega lo siguiente al archivo de configuración:
[/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}
Guarda la configuración y sal del editor.
Inicia el agente de CloudWatch Logs:
- En Amazon Linux:
sudo service awslogs start
- En Ubuntu:
sudo service awslogs start
Verifica que el agente esté en ejecución:
sudo service awslogs status
Configura los permisos de IAM para Lambda y S3
En la consola de IAM de AWS, crea un nuevo rol de IAM con los siguientes permisos:
logs:PutSubscriptionFilter
logs:DescribeLogGroups
logs:GetLogEvents
s3:PutObject
Adjunta este rol a tu función de Lambda que exportará los registros a S3.
Configura Lambda para exportar registros a S3
Ve a la consola de Lambda y crea una función nueva.
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 ) ```
- Reemplaza
your-s3-bucket-name
por el nombre real de tu bucket de S3.
- Reemplaza
Adjunta el rol de IAM a la función de Lambda que creaste antes.
En la consola de CloudWatch, ve a la sección Registros.
Selecciona el grupo de registros, por ejemplo,
/ec2/system/logs
.Haz clic en Acciones > Crear filtro de suscripciones.
Establece el destino en la función Lambda que creaste antes.
Configura un feed en Google SecOps para transferir registros de instancias de AWS EC2
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar nueva.
- En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros de instancias de AWS EC2.
- Selecciona Amazon S3 como el Tipo de fuente.
- Selecciona Instancia de AWS EC2 como el Tipo de registro.
- Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
- Región: Es la región en la que se encuentra el bucket de Amazon S3.
- URI de S3: Es el URI del bucket.
s3://your-log-bucket-name/
- Reemplaza
your-log-bucket-name
por el nombre real del bucket.
- Reemplaza
- El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios.
Opciones de eliminación de fuentes: Selecciona la opción de eliminación según tus preferencias.
ID de clave de acceso: Es la clave de acceso del usuario con acceso al bucket de S3.
Clave de acceso secreta: Es la clave secreta del usuario con acceso al bucket de S3.
Espacio de nombres del recurso: Es el espacio de nombres del recurso.
Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
Haz clic en Siguiente.
Revisa la configuración del nuevo feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
Architecture |
entity.entity.asset.attribute.labels.key=instances_set_architecture , entity.entity.asset.attribute.labels.value |
El valor se toma directamente del campo Instances.Architecture en el registro sin procesar. |
AmiLaunchIndex |
entity.entity.asset.attribute.labels.key=instances_set_ami_launch_index , entity.entity.asset.attribute.labels.value |
El valor se toma directamente del campo Instances.AmiLaunchIndex en el registro sin procesar. |
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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma de Instances.BlockDeviceMapping.Ebs.Status . |
BlockDeviceMapping.Ebs.VolumeID |
entity.entity.resource_ancestors.product_object_id , entity.entity.resource_ancestors.resource_type=VOLUME |
El valor se toma 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 |
El valor se toma de Instances.BlockDeviceMapping.Name . |
BootMode |
entity.entity.asset.attribute.labels.key=instances_set_boot_mode , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.BootMode . |
CapacityReservationID |
entity.entity.asset.attribute.labels.key=instances_set_capacity_reservation_id , entity.entity.asset.attribute.labels.value |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma de Instances.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationID . |
CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationResourceGroupArn |
entity.entity.resource_ancestors.name , entity.entity.resource_ancestors.resource_subtype=Capacity Reservation Arn |
El valor se toma de Instances.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationResourceGroupArn . |
ClientToken |
entity.entity.asset.attribute.labels.key=instances_set_client_token , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.ClientToken . |
CPU.AmdSevSnp |
entity.entity.asset.attribute.labels.key=instances_set_cpu_options_amd_sev_snp , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.CPU.AmdSevSnp . |
CPU.CoreCount |
entity.entity.asset.hardware.cpu_number_cores |
El valor se toma 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 |
El valor se toma de Instances.CPU.ThreadsPerCore . |
CurrentInstanceBootMode |
entity.entity.asset.attribute.labels.key=instances_set_current_instance_boot_mode , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.CurrentInstanceBootMode . |
DNSName |
entity.entity.network.dns_domain |
El valor se toma de Instances.DNSName . |
EbsOptimized |
entity.entity.asset.attribute.labels.key=instances_set_ebs_optimized , entity.entity.asset.attribute.labels.value |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma de Instances.ElasticGpuAssociationSet.ElasticGpuID . |
ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorArn |
entity.entity.resource_ancestors.name , entity.entity.resource_ancestors.resource_subtype=Elastic Interface Accelerator Arn |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma de Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationTime . |
EnaSupport |
entity.entity.asset.attribute.labels.key=instances_set_ena_support , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.EnaSupport . |
EnclaveOptions.Enabled |
entity.entity.asset.attribute.labels.key=instances_set_enclave_options_enabled , entity.entity.asset.attribute.labels.value |
El valor se toma 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 |
El valor se toma de GroupSet.GroupID . El primer GroupID del array se asigna a entity.entity.group.product_object_id . Los valores de GroupID posteriores se asignan como etiquetas. |
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 |
El valor se toma de GroupSet.GroupName . El primer GroupName del array se asigna a entity.entity.group.group_display_name . Los valores de GroupName posteriores se asignan como etiquetas. |
HibernationOptions |
entity.entity.asset.attribute.labels.key=instances_set_hibernation_options , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.HibernationOptions . |
HibernationOptions.Configured |
entity.entity.asset.attribute.labels.key=instances_set_hibernation_options_configured , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.HibernationOptions.Configured . |
Hypervisor |
entity.entity.asset.attribute.labels.key=instances_set_hypervisor , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.Hypervisor . |
IamInstanceProfile.Arn |
entity.entity.resource_ancestors.name , entity.entity.resource_ancestors.resource_subtype=Instance Profile Arn |
El valor se toma de Instances.IamInstanceProfile.Arn . |
IamInstanceProfile.ID |
entity.entity.resource_ancestors.product_object_id |
El valor se toma de Instances.IamInstanceProfile.ID . |
ImageID |
entity.entity.resource_ancestors.product_object_id , entity.entity.resource_ancestors.resource_type=IMAGE |
El valor se toma de Instances.ImageID . |
InstanceID |
entity.metadata.product_entity_id , entity.entity.asset.asset_id |
El valor se toma de Instances.InstanceID . |
InstanceLifecycle |
entity.entity.asset.attribute.labels.key=instances_set_instance_lifecycle , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.InstanceLifecycle . |
InstanceState.Code |
entity.entity.asset.attribute.labels.key=instances_set_instance_state_code , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.InstanceState.Code . |
InstanceState.Name |
entity.entity.asset.deployment_status |
El valor se deriva de Instances.InstanceState.Name . Si el valor es running , el campo UDM se establece en ACTIVE . Si el valor es shutting-down o stopping , el campo UDM se establece en PENDING_DECOMMISSION . Si el valor es stopped o terminated , el campo UDM se establece en DECOMMISSIONED . |
InstanceType |
entity.entity.asset.category |
El valor se toma de Instances.InstanceType . |
IPAddress |
entity.entity.asset.ip |
El valor se toma de Instances.IPAddress . |
Ipv6Address |
entity.entity.asset.ip |
El valor se toma de Instances.Ipv6Address . |
KernelID |
entity.entity.asset.attribute.labels.key=instances_set_kernel_id , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.KernelID . |
KeyName |
entity.entity.asset.attribute.labels.key=instances_set_key_name , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.KeyName . |
LaunchTime |
entity.metadata.creation_timestamp |
El valor se toma de Instances.LaunchTime . |
LicenseSet.LicenseConfigurationArn |
entity.entity.resource_ancestors.name , entity.entity.resource_ancestors.resource_subtype=License Configuration Arn |
El valor se toma de Instances.LicenseSet.LicenseConfigurationArn . |
MaintenanceOptions |
entity.entity.asset.attribute.labels.key=instances_set_maintenance_options_auto_recovery , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.MaintenanceOptions . |
MetadataOptions.HTTPEndpoint |
entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_endpoint , entity.entity.asset.attribute.labels.value |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma de Instances.MetadataOptions.HTTPPutResponseHopLimit . |
MetadataOptions.HTTPTokens |
entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_tokens , entity.entity.asset.attribute.labels.value |
El valor se toma 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 |
El valor se toma de Instances.MetadataOptions.InstanceMetadataTags . |
MetadataOptions.State |
entity.entity.asset.attribute.labels.key=instances_set_metadata_options_state , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.MetadataOptions.State . |
Monitoring.State |
entity.entity.asset.attribute.labels.key=instances_set_monitoring_state , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.Monitoring.State . |
NetworkInterfaceSet.Association.CarrierIP |
entity.entity.asset.nat_ip |
El valor se toma 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 |
El valor se toma 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 y entity.entity.asset.attribute.labels.value |
El valor se toma 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 y entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.NetworkInterfaceSet.Association.PublicDNSName . |
NetworkInterfaceSet.Association.PublicIP |
entity.entity.asset.ip |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma de Instances.NetworkInterfaceSet.InterfaceType . |
NetworkInterfaceSet.Ipv6AddressesSet.Ipv6Address |
entity.entity.asset.ip |
El valor se toma 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 |
El valor se toma de Instances.NetworkInterfaceSet.Ipv6AddressesSet.IsPrimaryIpv6 . |
NetworkInterfaceSet.MacAddress |
entity.entity.asset.mac |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma de Instances.NetworkInterfaceSet.PrivateDNSName . |
NetworkInterfaceSet.PrivateIPAddress |
entity.entity.asset.ip |
El valor se toma 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 |
El valor se toma de Instances.NetworkInterfaceSet.PrivateIPAddressesSet.Primary . |
NetworkInterfaceSet.PrivateIPAddressesSet.PrivateIPAddress |
entity.entity.asset.ip |
El valor se toma 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 |
El valor se toma de Instances.NetworkInterfaceSet.SourceDestCheck . |
NetworkInterfaceSet.Status |
entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_status , entity.entity.asset.attribute.labels.value |
El valor se toma 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 |
El valor se toma 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 |
El valor se toma de Instances.NetworkInterfaceSet.VpcID . |
OutpostArn |
entity.relations.entity.asset.product_object_id |
El valor se toma de Instances.OutpostArn . |
Placement.Affinity |
entity.entity.asset.attribute.labels.key=instances_set_placement_affinity , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.Placement.Affinity . |
Placement.AvailabilityZone |
entity.entity.asset.attribute.cloud.availability_zone |
El valor se toma de Instances.Placement.AvailabilityZone . |
Placement.GroupID |
entity.entity.group.attribute.labels.key=instances_set_placement_group_id , entity.entity.group.attribute.labels.value |
El valor se toma de Instances.Placement.GroupID . |
Placement.GroupName |
entity.entity.group.attribute.labels.key=instances_set_placement_group_name , entity.entity.group.attribute.labels.value |
El valor se toma de Instances.Placement.GroupName . |
Placement.HostID |
entity.relations.entity.asset.asset_id |
El valor se toma 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 |
El valor se toma de Instances.Placement.HostResourceGroupArn . |
Placement.PartitionNumber |
entity.entity.asset.attribute.labels.key=instances_set_placement_partition_number , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.Placement.PartitionNumber . |
Placement.SpreadDomain |
entity.entity.asset.attribute.labels.key=instances_set_placement_spread_domain , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.Placement.SpreadDomain . |
Placement.Tenancy |
entity.entity.asset.attribute.labels.key=instances_set_placement_tenancy , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.Placement.Tenancy . |
PlatformDetails |
entity.entity.asset.attribute.labels.key=instances_set_platform_details , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.PlatformDetails . |
PrivateDNSName |
entity.entity.network.dns.questions.name |
El valor se toma de Instances.PrivateDNSName . |
PrivateDNSNameOptions.EnableResourceNameDnsAAAARecord |
entity.entity.network.dns.questions.type |
Si el valor es true , el campo UDM se establece en 28. |
PrivateDNSNameOptions.EnableResourceNameDnsARecord |
entity.entity.network.dns.questions.type |
Si el valor es true , el campo UDM se establece en 1. |
PrivateDNSNameOptions.HostnameType |
entity.entity.asset.attribute.labels.key=instances_set_private_dns_name_options_hostname_type , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.PrivateDNSNameOptions.HostnameType . |
PrivateIPAddress |
entity.entity.asset.ip |
El valor se toma de Instances.PrivateIPAddress . |
ProductCodes.ProductCode |
entity.entity.asset.attribute.labels.key=instances_set_product_codes_product_code , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.ProductCodes.ProductCode . |
ProductCodes.Type |
entity.entity.asset.attribute.labels.key=instances_set_product_codes_type , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.ProductCodes.Type . |
RamdiskID |
entity.entity.asset.attribute.labels.key=instances_set_ramdisk_id , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.RamdiskID . |
Reason |
entity.entity.asset.attribute.labels.key=instances_set_reason , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.Reason . |
ReservationID |
entity.additional.fields.key=reservation_id , entity.additional.fields.value.string_value |
El valor se toma de ReservationID . |
RequesterID |
entity.additional.fields.key=requester_id , entity.additional.fields.value.string_value |
El valor se toma de RequesterID . |
RootDeviceName |
entity.entity.asset.attribute.labels.key=instances_set_root_device_name , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.RootDeviceName . |
RootDeviceType |
entity.entity.asset.attribute.labels.key=instances_set_root_device_type , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.RootDeviceType . |
SourceDestCheck |
entity.entity.asset.attribute.labels.key=instances_set_source_dest_check , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.SourceDestCheck . |
SpotInstanceRequestID |
entity.entity.asset.attribute.labels.key=instances_set_spot_instance_request_id , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.SpotInstanceRequestID . |
SriovNetSupport |
entity.entity.asset.attribute.labels.key=instances_set_sriov_net_support , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.SriovNetSupport . |
StateReason |
entity.entity.asset.attribute.labels.key=instances_set_state_reason_code , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.StateReason . |
StateReason.Code |
entity.entity.asset.attribute.labels.key=instances_set_state_reason_code , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.StateReason.Code . |
StateReason.Message |
entity.entity.asset.attribute.labels.key=instances_set_state_reason_message , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.StateReason.Message . |
SubnetID |
entity.entity.resource_ancestors.product_object_id , entity.entity.resource_ancestors.resource_type=SUBNET |
El valor se toma de Instances.SubnetID . |
TagSet.Key |
entity.entity.asset.attribute.labels.key |
El valor se toma de Instances.TagSet.Key . |
TagSet.Value |
entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.TagSet.Value . |
TpmSupport |
entity.entity.asset.attribute.labels.key=instances_set_tpm_support , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.TpmSupport . |
UsageOperation |
entity.entity.asset.attribute.labels.key=instances_set_usage_operation , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.UsageOperation . |
UsageOperationUpdateTime |
entity.entity.asset.attribute.labels.key=instances_set_usage_operation_update_time , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.UsageOperationUpdateTime . |
VirtualizationType |
entity.entity.asset.attribute.labels.key=instances_set_virtualization_type , entity.entity.asset.attribute.labels.value |
El valor se toma de Instances.VirtualizationType . |
VpcID |
entity.entity.resource_ancestors.product_object_id , entity.entity.resource_ancestors.resource_type=VPC_NETWORK |
El valor se toma de Instances.VpcID . |
collection_time |
entity.metadata.collected_timestamp |
El valor se toma directamente del campo collection_time en el registro sin procesar. Se codifica en AMAZON_WEB_SERVICES . Se codifica de forma fija en AMAZON_WEB_SERVICES para los tipos de recursos IMAGE, VOLUME, SUBNET, VPC_NETWORK, Arn de perfil de instancia, Arn de reserva de capacidad, Arn de acelerador de interfaz elástica y Arn de configuración de licencia. Se codifica en SERVER . Se codifica en Amazon EC2 . Se codifica en AWS . Se codifica de forma fija en ASSET si Instances.Placement.HostID está presente y no está vacío. Se codifica de forma fija en EXECUTES si Instances.Placement.HostID está presente y no está vacío. Se codifica en ASSET. |
Cambios
2024-01-31
- Se agregó compatibilidad con el nuevo esquema.
2023-12-14
- Es un analizador creado recientemente.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.