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 reservas de instancias, reestructura y cambia el nombre de los campos para que se ajusten al modelo de datos unificado, gestionando varios tipos de datos y estructuras anidadas, incluidas interfaces de red, grupos y etiquetas. Además, 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-ipInstala 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 awslogsAbre el archivo de configuración de CloudWatch Logs:
sudo vi /etc/awslogs/awslogs.confCrea 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.logGuarda la secuencia de comandos como
/etc/init.d/metadata_script.shy 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.confAñ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 startComprueba 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:PutSubscriptionFilterlogs:DescribeLogGroupslogs:GetLogEventss3: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-namepor 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 feed.
- 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-namepor 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 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 de forma rígida 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 en ASSET. |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.