Recoger 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 monitorizarlos y analizarlos. El analizador extrae datos de los registros JSON de reserva de instancias, reestructura y cambia el nombre de los campos para que se ajusten al modelo de datos unificado. Además, gestiona varios tipos de datos y estructuras anidadas, como interfaces de red, grupos y etiquetas, y genera relaciones y metadatos de activos. También gestiona los errores y elimina los mensajes JSON con errores de formato.
Antes de empezar
- Asegúrate de que tienes una instancia de Google SecOps.
- Asegúrate de que tienes acceso con privilegios a AWS.
Configurar AWS IAM y S3
- Crea un segmento de Amazon S3 siguiendo esta guía de usuario: Crear un segmento.
- Guarda el nombre y la región del bucket para usarlos más adelante.
- Crea un usuario siguiendo esta guía: Crear un usuario de gestión de identidades y accesos.
- Selecciona el usuario creado.
- Selecciona la pestaña Credenciales de seguridad.
- En la sección Claves de acceso, haz clic en Crear clave de acceso.
- Selecciona Servicio de terceros como Caso práctico.
- Haz clic en Siguiente.
- Opcional: añade 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 adelante.
- Haz clic en Listo.
- Selecciona la pestaña Permisos.
- En la sección Políticas de permisos, haz clic en Añadir permisos.
- Selecciona Añadir permisos.
- Seleccione Adjuntar políticas directamente.
- Busca y selecciona la política AmazonS3FullAccess.
- Haz clic en Siguiente.
- Haz clic en Añadir permisos.
Configurar EC2 para enviar registros a CloudWatch Logs
Usa SSH para conectarte a tu instancia 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 obtenga estos metadatos de 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 iniciar la instancia con crontab orc.local
.Abre el archivo de configuración del agente de CloudWatch Logs:
sudo vi /etc/awslogs/awslogs.conf
Añade 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 cierra el editor.
Inicia el agente de CloudWatch Logs:
- En Amazon Linux:
sudo service awslogs start
- En Ubuntu:
sudo service awslogs start
Comprueba que el agente se esté ejecutando:
sudo service awslogs status
Configurar permisos de gestión de identidades y accesos para Lambda y S3
En la consola de gestión de identidades y accesos de AWS, crea un rol de gestión de identidades y accesos con los siguientes permisos:
logs:PutSubscriptionFilter
logs:DescribeLogGroups
logs:GetLogEvents
s3:PutObject
Asigna este rol a la función Lambda que exportará los registros a S3.
Configurar Lambda para exportar registros a S3
Ve a la consola de Lambda y crea una función.
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 ) ```
- Sustituye
your-s3-bucket-name
por el nombre real de tu segmento de S3.
- Sustituye
Asigna el rol de gestión de identidades y accesos a la función de Lambda que has creado anteriormente.
En la consola de CloudWatch, ve a la sección Logs (Registros).
Selecciona el grupo de registros. Por ejemplo,
/ec2/system/logs
.Haz clic en Acciones > Crear filtro de suscripción.
Define el destino en la función Lambda que has creado anteriormente.
Configurar un feed en Google SecOps para ingerir registros de instancias de AWS EC2
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir nuevo.
- En el campo Nombre del feed, introduce un nombre para el feed. Por ejemplo, Registros de instancias de AWS EC2.
- Selecciona Amazon S3 V2 como Tipo de fuente.
- Selecciona Instancia de AWS EC2 como Tipo de registro.
- Haz clic en Siguiente.
Especifique los valores de los siguientes parámetros de entrada:
- URI de S3: el URI del segmento.
s3://your-log-bucket-name/
- Sustituye
your-log-bucket-name
por el nombre real del segmento.
- Sustituye
Opciones de eliminación de la fuente: selecciona la opción de eliminación que prefieras.
Antigüedad máxima del archivo: incluye los archivos modificados en los últimos días. El valor predeterminado es de 180 días.
ID de clave de acceso: la clave de acceso del usuario con acceso al segmento de S3.
Clave de acceso secreta: la clave secreta del usuario con acceso al segmento de S3.
Espacio de nombres de recursos: el espacio de nombres de recursos.
Etiquetas de ingestión: etiqueta que se aplicará a los eventos de este feed.
- URI de S3: el URI del segmento.
Haz clic en Siguiente.
Revise la configuración de la nueva fuente en la pantalla Finalizar y, a continuación, haga 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 del 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 del 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 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 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 de UDM se define como ACTIVE . Si el valor es shutting-down o stopping , el campo de UDM se define como PENDING_DECOMMISSION . Si el valor es stopped o terminated , el campo de UDM se define como 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 , 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 , 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 de UDM se define como 28. |
PrivateDNSNameOptions.EnableResourceNameDnsARecord |
entity.entity.network.dns.questions.type |
Si el valor es true , el campo de UDM se define como 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 del registro sin procesar. Valor fijo establecido en el código fuente AMAZON_WEB_SERVICES . Se ha codificado como AMAZON_WEB_SERVICES para los tipos de recursos IMAGE, VOLUME, SUBNET, VPC_NETWORK, Instance Profile Arn, Capacity Reservation Arn, Elastic Interface Accelerator Arn y License Configuration Arn. Valor fijo establecido en el código fuente SERVER . Valor fijo establecido en el código fuente Amazon EC2 . Valor fijo establecido en el código fuente AWS . Se asigna el valor ASSET si Instances.Placement.HostID está presente y no está vacío. Se asigna el valor EXECUTES si Instances.Placement.HostID está presente y no está vacío. Valor predefinido como ASSET. |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.