AWS EC2-Instanzlogs erfassen

Parserversion: 1.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie AWS EC2-Instanzlogs für Monitoring und Analyse in Google Security Operations konfigurieren. Der Parser extrahiert Daten aus JSON-Logs für Instanzreservierungen, restrukturiert und benennt Felder um, um dem UDM zu entsprechen, und verarbeitet verschiedene Datentypen und verschachtelte Strukturen, einschließlich Netzwerkschnittstellen, Gruppen und Tags. Außerdem werden Asset-Beziehungen und ‑Metadaten generiert. Außerdem werden Fehler behandelt und fehlerhaft formatierte JSON-Nachrichten verworfen.

Hinweis

  • Prüfen Sie, ob Sie eine Google SecOps-Instanz haben.
  • Prüfen Sie, ob Sie privilegierten Zugriff auf AWS haben.

AWS IAM und S3 konfigurieren

  1. Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu der Anleitung unter Bucket erstellen.
  2. Speichern Sie den Namen und die Region des Buckets für die spätere Verwendung.
  3. Erstellen Sie einen Nutzer gemäß diesem Nutzerhandbuch: IAM-Nutzer erstellen.
  4. Wählen Sie den erstellten Nutzer aus.
  5. Wählen Sie den Tab Sicherheitsanmeldedaten aus.
  6. Klicken Sie im Bereich Access Keys (Zugriffsschlüssel) auf Create Access Key (Zugriffsschlüssel erstellen).
  7. Wählen Sie als Anwendungsfall die Option Drittanbieterdienst aus.
  8. Klicken Sie auf Weiter.
  9. Optional: Fügen Sie ein Beschreibungstag hinzu.
  10. Klicken Sie auf Zugriffsschlüssel erstellen.
  11. Klicken Sie auf CSV-Datei herunterladen, um den Access Key (Zugriffsschlüssel) und den Secret Access Key (geheimer Zugriffsschlüssel) für die spätere Verwendung zu speichern.
  12. Klicken Sie auf Fertig.
  13. Wählen Sie den Tab Berechtigungen aus.
  14. Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
  15. Wählen Sie Berechtigungen hinzufügen aus.
  16. Wählen Sie Richtlinien direkt anhängen aus.
  17. Suchen Sie nach der Richtlinie AmazonS3FullAccess und wählen Sie sie aus.
  18. Klicken Sie auf Weiter.
  19. Klicken Sie auf Berechtigungen hinzufügen.

EC2 so konfigurieren, dass Logs an CloudWatch Logs gesendet werden

  1. Stellen Sie über SSH eine Verbindung zu Ihrer EC2-Instanz her und geben Sie Ihr Schlüsselpaar für die Authentifizierung an.

    ssh -i your-key.pem ec2-user@your-ec2-public-ip
    
  2. CloudWatch Logs-Agent installieren:

    • Verwenden Sie den folgenden Befehl, um den CloudWatch Logs-Agenten unter Amazon Linux zu installieren:
    sudo yum install -y awslogs
    
    • Verwenden Sie den folgenden Befehl, um den CloudWatch Logs-Agenten unter Ubuntu zu installieren:
    sudo apt-get install -y awslogs
    
  3. Öffnen Sie die CloudWatch Logs-Konfigurationsdatei:

    sudo vi /etc/awslogs/awslogs.conf
    
  4. Erstellen Sie ein Skript, das diese Log-Instanzmetadaten abruft und in eine Datei schreibt:

    #!/bin/bash
    echo "Architecture: $(curl -s http://169.254.169.254/latest/meta-data/architecture)" >> /var/log/instance_metadata.log
    echo "AmiLaunchIndex: $(curl -s http://169.254.169.254/latest/meta-data/ami-launch-index)" >> /var/log/instance_metadata.log
    echo "BootMode: $(curl -s http://169.254.169.254/latest/meta-data/boot-mode)" >> /var/log/instance_metadata.log
    
  5. Speichern Sie das Script als /etc/init.d/metadata_script.sh und führen Sie es beim Start der Instanz mit crontab oder rc.local aus.

  6. Öffnen Sie die Konfigurationsdatei für den CloudWatch Logs-Agent:

    sudo vi /etc/awslogs/awslogs.conf
    
  7. Fügen Sie der Konfigurationsdatei den folgenden Abschnitt hinzu:

    [/var/log/messages]
    file = /var/log/messages
    log_group_name = /ec2/system/logs
    log_stream_name = {instance_id}
    
    [/var/log/secure]
    file = /var/log/secure
    log_group_name = /ec2/security/logs
    log_stream_name = {instance_id}
    
    [/var/log/auth.log]
    file = /var/log/auth.log
    log_group_name = /ec2/auth/logs
    log_stream_name = {instance_id}
    
    [/var/log/httpd/access_log]
    file = /var/log/httpd/access_log
    log_group_name = /ec2/application/apache/access_logs
    log_stream_name = {instance_id}
    
    [/var/log/httpd/error_log]
    file = /var/log/httpd/error_log
    log_group_name = /ec2/application/apache/error_logs
    log_stream_name = {instance_id}
    
  8. Speichern Sie die Konfiguration und beenden Sie den Editor.

  9. Starten Sie den CloudWatch Logs-Agent:

    • Unter Amazon Linux:
    sudo service awslogs start
    
    • Unter Ubuntu:
    sudo service awslogs start
    
  10. Prüfen Sie, ob der Agent ausgeführt wird:

    sudo service awslogs status
    

IAM-Berechtigungen für Lambda und S3 konfigurieren

  1. Erstellen Sie in der AWS IAM-Konsole eine neue IAM-Rolle mit den folgenden Berechtigungen:

    • logs:PutSubscriptionFilter
    • logs:DescribeLogGroups
    • logs:GetLogEvents
    • s3:PutObject
  2. Hängen Sie diese Rolle an Ihre Lambda-Funktion an, die die Logs nach S3 exportiert.

Lambda für den Export von Logs nach S3 konfigurieren

  1. Rufen Sie die Lambda-Konsole auf und erstellen Sie eine neue Funktion.

    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
        )
      ```
    
    • Ersetzen Sie your-s3-bucket-name durch den tatsächlichen Namen Ihres S3-Buckets.
  2. Hängen Sie die IAM-Rolle an die zuvor erstellte Lambda-Funktion an.

  3. Rufen Sie in der CloudWatch-Konsole den Bereich Logs auf.

  4. Wählen Sie die Loggruppe aus, z. B. /ec2/system/logs.

  5. Klicken Sie auf Aktionen > Abo-Filter erstellen.

  6. Legen Sie als Ziel die zuvor erstellte Lambda-Funktion fest.

Feed in Google SecOps konfigurieren, um AWS EC2-Instanzlogs aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. AWS EC2-Instanzlogs.
  4. Wählen Sie Amazon S3 V2 als Quelltyp aus.
  5. Wählen Sie AWS EC2-Instanz als Log-Typ aus.
  6. Klicken Sie auf Weiter.
  7. Geben Sie Werte für die folgenden Eingabeparameter an:

    • S3-URI: Der Bucket-URI.
      • s3://your-log-bucket-name/
        • Ersetzen Sie your-log-bucket-name durch den tatsächlichen Namen des Buckets.
    • Optionen zum Löschen von Quellen: Wählen Sie die gewünschte Option zum Löschen aus.

    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.

    • Zugriffsschlüssel-ID: Der Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket.

    • Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Zugriff auf den S3-Bucket.

    • Asset-Namespace: der Asset-Namespace.

    • Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.

  8. Klicken Sie auf Weiter.

  9. Prüfen Sie die neue Nachrichten-Feed-Konfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

Unterstützte Logformate für AWS EC2-Instanzen

Der Parser für AWS EC2-Instanzen unterstützt Logs im JSON-Format.

Beispiellogs für unterstützte AWS EC2-Instanzen

  • JSON:

    {
      "GroupSet": null,
      "InstancesSet": [
        {
          "AmiLaunchIndex": 0,
          "Architecture": "x86_64",
          "BlockDeviceMapping": [
            {
              "DeviceName": "",
              "Ebs": null
            }
          ],
          "BootMode": "",
          "CapacityReservationID": "",
          "CapacityReservationSpecification": null,
          "ClientToken": "xMcwG14507example",
          "CPU": {
            "AmdSevSnp": "",
            "CoreCount": 1,
            "ThreadsPerCore": 1
          },
          "CurrentInstanceBootMode": "",
          "DNSName": "ec2-198-51-100-1.eu-west-1.compute.amazonaws.com",
          "EbsOptimized": false,
          "ElasticGpuAssociationSet": null,
          "ElasticInferenceAcceleratorAssociationSet": null,
          "EnaSupport": false,
          "EnclaveOption": false,
          "GroupSet": [
            {
              "GroupID": "sg-c1234567",
              "GroupName": "SecurityGroup1"
            }
          ],
          "HibernationOptions": false,
          "Hypervisor": "xen",
          "IamInstanceProfile": {
            "Arn": "arn:aws:iam::123456789012:instance-profile/AdminRole",
            "ID": "ABCDEFGHIJKLMNOP123AB"
          },
          "ImageID": "ami-abc32ddd",
          "InstanceID": "i-1234567890abcdef0",
          "InstanceLifecycle": "",
          "InstanceState": {
            "Code": 16,
            "Name": "running"
          },
          "InstanceType": "t2.micro",
          "IPAddress": "198.51.100.1",
          "Ipv6Address": "",
          "KernelID": "",
          "KeyName": "my_keypair",
          "LaunchTime": "2018-05-08T16:46:19.000Z",
          "LicenseSet": null,
          "MaintenanceOptions": "",
          "MetadataOptions": {
            "HTTPEndpoint": "",
            "HTTPProtocolIpv6": "",
            "HTTPPutResponseHopLimit": 0,
            "HTTPTokens": "",
            "InstanceMetadataTags": "",
            "State": ""
          },
          "Monitoring": {
            "State": "disabled"
          },
          "NetworkInterfaceSet": [
            {
              "Association": {
                "CarrierIP": "",
                "CustomerOwnedIP": "",
                "IPOwnerID": "amazon",
                "PublicDNSName": "ec2-198-51-100-1.eu-west-1.compute.amazonaws.com",
                "PublicIP": "198.51.100.1"
              },
              "Attachment": {
                "AttachmentID": "eni-attach-12345abc",
                "AttachTime": "2018-05-08T16:46:19.000Z",
                "DeleteOnTermination": true,
                "DeviceIndex": 0,
                "NetworkCardIndex": 0,
                "Status": "attached"
              },
              "Description": "Primary network interface",
              "GroupSet": [
                {
                  "GroupID": "sg-a1234567",
                  "GroupName": "SecurityGroup1"
                }
              ],
              "InterfaceType": "",
              "Ipv4PrefixSet": null,
              "Ipv6AddressesSet": [
                {
                  "Ipv6Address": "d9a3:d3b1:03e0:0279:5196:3b5c:242b:10da",
                  "IsPrimaryIpv6": false
                }
              ],
              "Ipv6PrefixSet": null,
              "MacAddress": "a2-d4-a6-24-12-f4",
              "NetworkInterfaceID": "eni-551ba033",
              "OwnerID": "123456789012",
              "PrivateDNSName": "ip-198-51-100-1.eu-west-1.compute.internal",
              "PrivateIPAddress": "198.51.100.1",
              "PrivateIPAddressesSet": [
                {
                  "Association": {
                    "CarrierIP": "",
                    "CustomerOwnedIP": "",
                    "IPOwnerID": "amazon",
                    "PublicDNSName": "ec2-198-51-100-1.eu-west-1.compute.amazonaws.com",
                    "PublicIP": "198.51.100.1"
                  },
                  "Primary": true,
                  "PrivateDNSName": "ip-198-51-100-1.eu-west-1.compute.internal",
                  "PrivateIPAddress": "198.51.100.1"
                }
              ],
              "SourceDestCheck": true,
              "Status": "in-use",
              "SubnetID": "subnet-56f5f633",
              "VpcID": "vpc-11112222"
            }
          ],
          "OutpostArn": "",
          "Placement": {
            "Affinity": "",
            "AvailabilityZone": "eu-west-1c",
            "GroupID": "",
            "GroupName": "",
            "HostID": "",
            "HostResourceGroupArn": "",
            "PartitionNumber": 0,
            "SpreadDomain": "",
            "Tenancy": "default"
          },
          "Platform": "",
          "PlatformDetails": "",
          "PrivateDNSName": "ip-198-51-100-1.eu-west-1.compute.internal",
          "PrivateDNSNameOptions": null,
          "PrivateIPAddress": "198.51.100.1",
          "ProductCodes": null,
          "RamdiskID": "",
          "Reason": "",
          "RootDeviceName": "/dev/xvda",
          "RootDeviceType": "ebs",
          "SourceDestCheck": true,
          "SpotInstanceRequestID": "",
          "SriovNetSupport": "",
          "StateReason": "",
          "SubnetID": "subnet-56f5f633",
          "TagSet": [
            {
              "Key": "Name",
              "Value": "Server_1"
            }
          ],
          "TpmSupport": "",
          "UsageOperation": "",
          "UsageOperationUpdateTime": "",
          "VirtualizationType": "hvm",
          "VpcID": "vpc-11112222"
        }
      ],
      "OwnerID": "123456789012",
      "RequesterID": "",
      "ReservationID": "r-1234567890abcdef0"
    }
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Architecture entity.entity.asset.attribute.labels.key=instances_set_architecture, entity.entity.asset.attribute.labels.value Der Wert wird direkt aus dem Feld Instances.Architecture im Rohlog übernommen.
AmiLaunchIndex entity.entity.asset.attribute.labels.key=instances_set_ami_launch_index, entity.entity.asset.attribute.labels.value Der Wert wird direkt aus dem Feld Instances.AmiLaunchIndex im Rohlog übernommen.
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 Der Wert stammt aus 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 Der Wert wird aus Instances.BlockDeviceMapping.Ebs.DeleteOnTermination übernommen.
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 Der Wert stammt aus Instances.BlockDeviceMapping.Ebs.Status.
BlockDeviceMapping.Ebs.VolumeID entity.entity.resource_ancestors.product_object_id, entity.entity.resource_ancestors.resource_type=VOLUME Der Wert stammt aus 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 Der Wert wird aus Instances.BlockDeviceMapping.Name übernommen.
BootMode entity.entity.asset.attribute.labels.key=instances_set_boot_mode, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.BootMode übernommen.
CapacityReservationID entity.entity.asset.attribute.labels.key=instances_set_capacity_reservation_id, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.CapacityReservationID übernommen.
CapacityReservationSpecification.CapacityReservationPreference entity.entity.asset.attribute.labels.key=instances_set_capacity_reservation_specification_capacity_reservation_preference, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.CapacityReservationSpecification.CapacityReservationPreference übernommen.
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 Der Wert wird aus Instances.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationID übernommen.
CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationResourceGroupArn entity.entity.resource_ancestors.name, entity.entity.resource_ancestors.resource_subtype=Capacity Reservation Arn Der Wert stammt aus Instances.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationResourceGroupArn.
ClientToken entity.entity.asset.attribute.labels.key=instances_set_client_token, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.ClientToken.
CPU.AmdSevSnp entity.entity.asset.attribute.labels.key=instances_set_cpu_options_amd_sev_snp, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.CPU.AmdSevSnp übernommen.
CPU.CoreCount entity.entity.asset.hardware.cpu_number_cores Der Wert stammt aus Instances.CPU.CoreCount.
CPU.ThreadsPerCore entity.entity.asset.attribute.labels.key=instances_set_cpu_options_threads_per_core, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.CPU.ThreadsPerCore.
CurrentInstanceBootMode entity.entity.asset.attribute.labels.key=instances_set_current_instance_boot_mode, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.CurrentInstanceBootMode übernommen.
DNSName entity.entity.network.dns_domain Der Wert stammt aus Instances.DNSName.
EbsOptimized entity.entity.asset.attribute.labels.key=instances_set_ebs_optimized, entity.entity.asset.attribute.labels.value Der Wert stammt aus 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 Der Wert stammt aus 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 Der Wert wird aus Instances.ElasticGpuAssociationSet.ElasticGpuAssociationState übernommen.
ElasticGpuAssociationSet.ElasticGpuAssociationTime entity.entity.asset.attribute.labels.key=instances_set_elastic_gpu_association_set_elastic_gpu_association_time, entity.entity.asset.attribute.labels.value Der Wert stammt aus 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 Der Wert stammt aus Instances.ElasticGpuAssociationSet.ElasticGpuID.
ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorArn entity.entity.resource_ancestors.name, entity.entity.resource_ancestors.resource_subtype=Elastic Interface Accelerator Arn Der Wert wird aus Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorArn übernommen.
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 Der Wert wird aus Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationID übernommen.
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 Der Wert wird aus Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationState übernommen.
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 Der Wert stammt aus Instances.ElasticInferenceAcceleratorAssociationSet.ElasticInferenceAcceleratorAssociationTime.
EnaSupport entity.entity.asset.attribute.labels.key=instances_set_ena_support, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.EnaSupport.
EnclaveOptions.Enabled entity.entity.asset.attribute.labels.key=instances_set_enclave_options_enabled, entity.entity.asset.attribute.labels.value Der Wert stammt aus 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 Der Wert stammt aus GroupSet.GroupID. Das erste GroupID im Array wird entity.entity.group.product_object_id zugeordnet. Nachfolgende GroupID-Werte werden als Labels zugeordnet.
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 Der Wert stammt aus GroupSet.GroupName. Das erste GroupName im Array wird entity.entity.group.group_display_name zugeordnet. Nachfolgende GroupName-Werte werden als Labels zugeordnet.
HibernationOptions entity.entity.asset.attribute.labels.key=instances_set_hibernation_options, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.HibernationOptions.
HibernationOptions.Configured entity.entity.asset.attribute.labels.key=instances_set_hibernation_options_configured, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.HibernationOptions.Configured.
Hypervisor entity.entity.asset.attribute.labels.key=instances_set_hypervisor, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.Hypervisor übernommen.
IamInstanceProfile.Arn entity.entity.resource_ancestors.name, entity.entity.resource_ancestors.resource_subtype=Instance Profile Arn Der Wert stammt aus Instances.IamInstanceProfile.Arn.
IamInstanceProfile.ID entity.entity.resource_ancestors.product_object_id Der Wert stammt aus Instances.IamInstanceProfile.ID.
ImageID entity.entity.resource_ancestors.product_object_id, entity.entity.resource_ancestors.resource_type=IMAGE Der Wert stammt aus Instances.ImageID.
InstanceID entity.metadata.product_entity_id, entity.entity.asset.asset_id Der Wert stammt aus Instances.InstanceID.
InstanceLifecycle entity.entity.asset.attribute.labels.key=instances_set_instance_lifecycle, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.InstanceLifecycle übernommen.
InstanceState.Code entity.entity.asset.attribute.labels.key=instances_set_instance_state_code, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.InstanceState.Code.
InstanceState.Name entity.entity.asset.deployment_status Der Wert wird aus Instances.InstanceState.Name abgeleitet. Wenn der Wert running ist, wird das UDM-Feld auf ACTIVE gesetzt. Wenn der Wert shutting-down oder stopping ist, wird das UDM-Feld auf PENDING_DECOMMISSION gesetzt. Wenn der Wert stopped oder terminated ist, wird das UDM-Feld auf DECOMMISSIONED gesetzt.
InstanceType entity.entity.asset.category Der Wert stammt aus Instances.InstanceType.
IPAddress entity.entity.asset.ip Der Wert stammt aus Instances.IPAddress.
Ipv6Address entity.entity.asset.ip Der Wert stammt aus Instances.Ipv6Address.
KernelID entity.entity.asset.attribute.labels.key=instances_set_kernel_id, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.KernelID.
KeyName entity.entity.asset.attribute.labels.key=instances_set_key_name, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.KeyName.
LaunchTime entity.metadata.creation_timestamp Der Wert stammt aus Instances.LaunchTime.
LicenseSet.LicenseConfigurationArn entity.entity.resource_ancestors.name, entity.entity.resource_ancestors.resource_subtype=License Configuration Arn Der Wert stammt aus Instances.LicenseSet.LicenseConfigurationArn.
MaintenanceOptions entity.entity.asset.attribute.labels.key=instances_set_maintenance_options_auto_recovery, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.MaintenanceOptions.
MetadataOptions.HTTPEndpoint entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_endpoint, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.MetadataOptions.HTTPEndpoint übernommen.
MetadataOptions.HTTPProtocolIpv6 entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_protocol_ipv6, entity.entity.asset.attribute.labels.value Der Wert stammt aus 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 Der Wert stammt aus Instances.MetadataOptions.HTTPPutResponseHopLimit.
MetadataOptions.HTTPTokens entity.entity.asset.attribute.labels.key=instances_set_metadata_options_http_tokens, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.MetadataOptions.HTTPTokens.
MetadataOptions.InstanceMetadataTags entity.entity.asset.attribute.labels.key=instances_set_metadata_options_instance_metadata_tags, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.MetadataOptions.InstanceMetadataTags.
MetadataOptions.State entity.entity.asset.attribute.labels.key=instances_set_metadata_options_state, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.MetadataOptions.State.
Monitoring.State entity.entity.asset.attribute.labels.key=instances_set_monitoring_state, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.Monitoring.State übernommen.
NetworkInterfaceSet.Association.CarrierIP entity.entity.asset.nat_ip Der Wert stammt aus 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 Der Wert stammt aus 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 Der Wert stammt aus 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 Der Wert wird aus Instances.NetworkInterfaceSet.Association.PublicDNSName übernommen.
NetworkInterfaceSet.Association.PublicIP entity.entity.asset.ip Der Wert stammt aus 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 Der Wert stammt aus 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 Der Wert wird aus Instances.NetworkInterfaceSet.Attachment.AttachmentID übernommen.
NetworkInterfaceSet.Attachment.DeleteOnTermination entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_attachment_delete_on_termination, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.NetworkInterfaceSet.Attachment.DeleteOnTermination übernommen.
NetworkInterfaceSet.Attachment.DeviceIndex entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_attachment_device_index, entity.entity.asset.attribute.labels.value Der Wert stammt aus 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 Der Wert stammt aus 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 Der Wert stammt aus Instances.NetworkInterfaceSet.Attachment.Status.
NetworkInterfaceSet.Description entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_description, entity.entity.asset.attribute.labels.value Der Wert stammt aus 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 Der Wert stammt aus 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 Der Wert stammt aus 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 Der Wert stammt aus Instances.NetworkInterfaceSet.InterfaceType.
NetworkInterfaceSet.Ipv6AddressesSet.Ipv6Address entity.entity.asset.ip Der Wert wird aus Instances.NetworkInterfaceSet.Ipv6AddressesSet.Ipv6Address übernommen.
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 Der Wert stammt aus Instances.NetworkInterfaceSet.Ipv6AddressesSet.IsPrimaryIpv6.
NetworkInterfaceSet.MacAddress entity.entity.asset.mac Der Wert stammt aus 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 Der Wert stammt aus Instances.NetworkInterfaceSet.NetworkInterfaceID.
NetworkInterfaceSet.OwnerID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_owner_id, entity.entity.asset.attribute.labels.value Der Wert stammt aus 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 Der Wert stammt aus Instances.NetworkInterfaceSet.PrivateDNSName.
NetworkInterfaceSet.PrivateIPAddress entity.entity.asset.ip Der Wert wird aus Instances.NetworkInterfaceSet.PrivateIPAddress übernommen.
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 Der Wert wird aus Instances.NetworkInterfaceSet.PrivateIPAddressesSet.Primary übernommen.
NetworkInterfaceSet.PrivateIPAddressesSet.PrivateIPAddress entity.entity.asset.ip Der Wert stammt aus 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 Der Wert stammt aus Instances.NetworkInterfaceSet.SourceDestCheck.
NetworkInterfaceSet.Status entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_status, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.NetworkInterfaceSet.Status.
NetworkInterfaceSet.SubnetID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_subnet_id, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.NetworkInterfaceSet.SubnetID.
NetworkInterfaceSet.VpcID entity.entity.asset.attribute.labels.key=instances_set_network_interface_set_vpc_id, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.NetworkInterfaceSet.VpcID.
OutpostArn entity.relations.entity.asset.product_object_id Der Wert stammt aus Instances.OutpostArn.
Placement.Affinity entity.entity.asset.attribute.labels.key=instances_set_placement_affinity, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.Placement.Affinity.
Placement.AvailabilityZone entity.entity.asset.attribute.cloud.availability_zone Der Wert stammt aus Instances.Placement.AvailabilityZone.
Placement.GroupID entity.entity.group.attribute.labels.key=instances_set_placement_group_id, entity.entity.group.attribute.labels.value Der Wert wird aus Instances.Placement.GroupID übernommen.
Placement.GroupName entity.entity.group.attribute.labels.key=instances_set_placement_group_name, entity.entity.group.attribute.labels.value Der Wert wird aus Instances.Placement.GroupName übernommen.
Placement.HostID entity.relations.entity.asset.asset_id Der Wert wird aus Instances.Placement.HostID übernommen.
Placement.HostResourceGroupArn entity.relations.entity.asset.attribute.labels.key=instances_set_placement_host_resource_group_arn, entity.relations.entity.asset.attribute.labels.value Der Wert stammt aus Instances.Placement.HostResourceGroupArn.
Placement.PartitionNumber entity.entity.asset.attribute.labels.key=instances_set_placement_partition_number, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.Placement.PartitionNumber.
Placement.SpreadDomain entity.entity.asset.attribute.labels.key=instances_set_placement_spread_domain, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.Placement.SpreadDomain übernommen.
Placement.Tenancy entity.entity.asset.attribute.labels.key=instances_set_placement_tenancy, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.Placement.Tenancy.
PlatformDetails entity.entity.asset.attribute.labels.key=instances_set_platform_details, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.PlatformDetails.
PrivateDNSName entity.entity.network.dns.questions.name Der Wert stammt aus Instances.PrivateDNSName.
PrivateDNSNameOptions.EnableResourceNameDnsAAAARecord entity.entity.network.dns.questions.type Wenn der Wert true ist, wird das UDM-Feld auf 28 gesetzt.
PrivateDNSNameOptions.EnableResourceNameDnsARecord entity.entity.network.dns.questions.type Wenn der Wert true ist, wird das UDM-Feld auf 1 gesetzt.
PrivateDNSNameOptions.HostnameType entity.entity.asset.attribute.labels.key=instances_set_private_dns_name_options_hostname_type, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.PrivateDNSNameOptions.HostnameType.
PrivateIPAddress entity.entity.asset.ip Der Wert wird aus Instances.PrivateIPAddress übernommen.
ProductCodes.ProductCode entity.entity.asset.attribute.labels.key=instances_set_product_codes_product_code, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.ProductCodes.ProductCode.
ProductCodes.Type entity.entity.asset.attribute.labels.key=instances_set_product_codes_type, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.ProductCodes.Type.
RamdiskID entity.entity.asset.attribute.labels.key=instances_set_ramdisk_id, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.RamdiskID.
Reason entity.entity.asset.attribute.labels.key=instances_set_reason, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.Reason.
ReservationID entity.additional.fields.key=reservation_id, entity.additional.fields.value.string_value Der Wert stammt aus ReservationID.
RequesterID entity.additional.fields.key=requester_id, entity.additional.fields.value.string_value Der Wert wird aus RequesterID übernommen.
RootDeviceName entity.entity.asset.attribute.labels.key=instances_set_root_device_name, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.RootDeviceName übernommen.
RootDeviceType entity.entity.asset.attribute.labels.key=instances_set_root_device_type, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.RootDeviceType.
SourceDestCheck entity.entity.asset.attribute.labels.key=instances_set_source_dest_check, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.SourceDestCheck.
SpotInstanceRequestID entity.entity.asset.attribute.labels.key=instances_set_spot_instance_request_id, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.SpotInstanceRequestID übernommen.
SriovNetSupport entity.entity.asset.attribute.labels.key=instances_set_sriov_net_support, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.SriovNetSupport übernommen.
StateReason entity.entity.asset.attribute.labels.key=instances_set_state_reason_code, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.StateReason übernommen.
StateReason.Code entity.entity.asset.attribute.labels.key=instances_set_state_reason_code, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.StateReason.Code.
StateReason.Message entity.entity.asset.attribute.labels.key=instances_set_state_reason_message, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.StateReason.Message.
SubnetID entity.entity.resource_ancestors.product_object_id, entity.entity.resource_ancestors.resource_type=SUBNET Der Wert stammt aus Instances.SubnetID.
TagSet.Key entity.entity.asset.attribute.labels.key Der Wert wird aus Instances.TagSet.Key übernommen.
TagSet.Value entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.TagSet.Value übernommen.
TpmSupport entity.entity.asset.attribute.labels.key=instances_set_tpm_support, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.TpmSupport.
UsageOperation entity.entity.asset.attribute.labels.key=instances_set_usage_operation, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.UsageOperation.
UsageOperationUpdateTime entity.entity.asset.attribute.labels.key=instances_set_usage_operation_update_time, entity.entity.asset.attribute.labels.value Der Wert wird aus Instances.UsageOperationUpdateTime übernommen.
VirtualizationType entity.entity.asset.attribute.labels.key=instances_set_virtualization_type, entity.entity.asset.attribute.labels.value Der Wert stammt aus Instances.VirtualizationType.
VpcID entity.entity.resource_ancestors.product_object_id, entity.entity.resource_ancestors.resource_type=VPC_NETWORK Der Wert wird aus Instances.VpcID übernommen.
collection_time entity.metadata.collected_timestamp Der Wert wird direkt aus dem Feld collection_time im Rohlog übernommen. Hartcodiert auf AMAZON_WEB_SERVICES. Für die Ressourcentypen IMAGE, VOLUME, SUBNET, VPC_NETWORK, Instance Profile Arn, Capacity Reservation Arn, Elastic Interface Accelerator Arn und License Configuration Arn ist AMAZON_WEB_SERVICES fest codiert. Hartcodiert auf SERVER. Hartcodiert auf Amazon EC2. In AWS hartcodiert. Fest codiert auf ASSET, wenn Instances.Placement.HostID vorhanden und nicht leer ist. Wenn Instances.Placement.HostID vorhanden und nicht leer ist, wird der Wert auf EXECUTES hartcodiert. Hartcodiert auf ASSET.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten