Collecter les journaux AWS CloudTrail

Compatible avec:

Ce document décrit la procédure à suivre pour configurer l'ingestion des journaux AWS CloudTrail et des données contextuelles dans Google Security Operations. Ces étapes s'appliquent également à l'ingestion de journaux provenant d'autres services AWS, tels que AWS GuardDuty, AWS VPC Flow, AWS CloudWatch et AWS Security Hub.

Pour ingérer les journaux d'événements, la configuration redirige les journaux CloudTrail vers un bucket Amazon Simple Storage Service (Amazon S3). Vous pouvez choisir Amazon Simple Queue Service (Amazon SQS) ou Amazon S3 comme type de source de flux.

La première section de ce document décrit de manière concise comment ingérer des journaux en utilisant Amazon S3 comme type de source de flux ou, de préférence, Amazon S3 avec Amazon SQS comme type de source de flux.

La deuxième section fournit des étapes plus détaillées avec des captures d'écran pour utiliser Amazon S3 comme type de source de flux. Amazon SQS n'est pas abordé dans cette section.

La troisième section explique comment ingérer des données de contexte AWS pour les hôtes, les services, les réseaux VPC et les utilisateurs.

Étapes de base pour ingérer des journaux à partir de S3 avec ou sans SQS

Cette section décrit les étapes de base à suivre pour ingérer les journaux AWS CloudTrail dans votre instance Google SecOps. Les étapes suivantes décrivent comment procéder à l'aide d'Amazon S3 avec Amazon SQS comme type de source de flux ou, si vous le souhaitez, avec Amazon S3 comme type de source de flux.

Configurer AWS CloudTrail et S3

Dans cette procédure, vous allez configurer les journaux AWS CloudTrail pour qu'ils soient écrits dans un bucket S3.

  1. Dans la console AWS, recherchez CloudTrail.
  2. Cliquez sur Créer un parcours.
  3. Indiquez un nom de sentier.
  4. Sélectionnez Créer un bucket S3. Vous pouvez également choisir d'utiliser un bucket S3 existant.
  5. Attribuez un nom à l'alias AWS KMS ou choisissez une clé AWS KMS existante.
  6. Vous pouvez conserver les autres paramètres par défaut et cliquer sur Suivant.
  7. Sélectionnez Type d'événement, ajoutez les événements de données si nécessaire, puis cliquez sur Suivant.
  8. Vérifiez les paramètres dans Vérifier et créer, puis cliquez sur Créer un enregistrement.
  9. Dans la console AWS, recherchez Buckets Amazon S3.
  10. Cliquez sur le bucket de journaux nouvellement créé, puis sélectionnez le dossier AWSLogs. Cliquez ensuite sur Copier l'URI S3 et enregistrez-le pour l'utiliser aux étapes suivantes.

Créer une file d'attente SQS

Nous vous recommandons d'utiliser une file d'attente SQS. Si vous utilisez une file d'attente SQS, elle doit être une file d'attente standard, et non une file d'attente FIFO.

Pour en savoir plus sur la création de files d'attente SQS, consultez Premiers pas avec Amazon SQS.

Configurer des notifications pour votre file d'attente SQS

Si vous utilisez une file d'attente SQS, configurez des notifications sur votre bucket S3 pour écrire dans votre file d'attente SQS. Veillez à joindre une règle d'accès.

Configurer un utilisateur IAM AWS

Configurez un utilisateur IAM AWS que Google SecOps utilisera pour accéder à la file d'attente SQS (le cas échéant) et au bucket S3.

  1. Dans la console AWS, recherchez IAM.
  2. Cliquez sur Utilisateurs, puis sur Ajouter des utilisateurs dans l'écran suivant.
  3. Attribuez un nom à l'utilisateur (par exemple, chronicle-feed-user), sélectionnez Clé d'accès - Accès programmatique comme Type d'identifiants AWS, puis cliquez sur Suivant: Autorisations.
  4. À l'étape suivante, sélectionnez Attach existing policies directly (Joindre directement des règles existantes), puis AmazonS3ReadOnlyAccess ou AmazonS3FullAccess, selon le cas. AmazonS3FullAccess est utilisé si Google SecOps doit effacer les buckets S3 après avoir lu les journaux, afin d'optimiser les coûts de stockage AWS S3.
  5. Nous vous recommandons de remplacer l'étape précédente par la création d'une règle personnalisée pour limiter l'accès au bucket S3 spécifié. Cliquez sur Créer une règle, puis suivez la documentation AWS pour créer une règle personnalisée.
  6. Lorsque vous appliquez une stratégie, assurez-vous d'avoir inclus sqs:DeleteMessage. Google SecOps ne peut pas supprimer les messages si l'autorisation sqs:DeleteMessage n'est pas associée à la file d'attente SQS. Tous les messages sont cumulés côté AWS, ce qui entraîne un retard, car Google SecOps tente à plusieurs reprises de transférer les mêmes fichiers.
  7. Cliquez sur Suivant:Tags.
  8. Ajoutez des balises si nécessaire, puis cliquez sur Suivant > Examiner.
  9. Vérifiez la configuration, puis cliquez sur Créer un utilisateur.
  10. Copiez l'ID de clé d'accès et la clé d'accès secrète de l'utilisateur créé pour les utiliser à l'étape suivante.

Configurer des flux

Il existe deux points d'entrée différents pour configurer des flux dans la plate-forme Google SecOps:

  • Paramètres du SIEM > Flux
  • Hub de contenu > Packs de contenu

Configurez les flux dans Paramètres du SIEM > Flux.

Une fois les procédures précédentes effectuées, créez un flux pour ingérer les journaux AWS de votre bucket Amazon S3 dans votre instance Google SecOps. Si vous n'utilisez pas de file d'attente SQS, sélectionnez Amazon S3 comme type de source de flux au lieu de Amazon SQS dans la procédure suivante.

Pour configurer plusieurs flux pour différents types de journaux au sein de cette famille de produits, consultez Configurer des flux par produit.

Pour configurer un seul flux, procédez comme suit:

  1. Accédez à SIEM Settings > Feeds (Paramètres du SIEM > Flux).
  2. Cliquez sur Ajouter un flux.
  3. Sur la page suivante, cliquez sur Configurer un flux.
  4. Dans la boîte de dialogue Source type (Type de source), sélectionnez Amazon S3.
  5. Dans le menu Log Type (Type de journal), sélectionnez AWS CloudTrail (ou un autre service AWS).
  6. Cliquez sur Suivant.
  7. Saisissez les paramètres d'entrée de votre flux dans les champs.
    Si le type de source de flux est Amazon S3, procédez comme suit:

    1. Sélectionnez région, puis indiquez l'URI S3 du bucket Amazon S3 que vous avez copié précédemment. Vous pouvez également ajouter l'URI S3 à l'aide de la variable.

       {{datetime("yyyy/MM/dd")}}
       
      Dans l'exemple suivant, Google Security Operations analyse les journaux chaque fois pour un jour donné uniquement.
       s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
       

    2. Pour URI EST, sélectionnez Répertoires, y compris les sous-répertoires. Sélectionnez l'option appropriée sous Source Deletion Option (Option de suppression de la source). Assurez-vous qu'il correspond aux autorisations du compte Utilisateur IAM que vous avez créé précédemment.

    3. Indiquez l'ID de clé d'accès et la clé d'accès secrète du compte utilisateur IAM que vous avez créé précédemment.

  8. Cliquez sur Suivant, puis sur Terminer.

Configurer des flux depuis le Centre de contenu

Vous pouvez configurer le flux d'ingestion dans Google SecOps à l'aide d'Amazon SQS (recommandé) ou d'Amazon S3.

Indiquez les valeurs des champs suivants:

  • Région: saisissez l'URI S3 du bucket Amazon S3 que vous avez copié précédemment. Vous pouvez également ajouter l'URI S3 à l'aide de la variable.
         {{datetime("yyyy/MM/dd")}}
         
    Dans l'exemple suivant, Google SecOps n'analyse les journaux que pour un jour donné.
         s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
         
  • L'URI EST: sélectionnez Répertoires, y compris les sous-répertoires.
  • Option de suppression de la source: choisissez une option appropriée correspondant aux autorisations du compte Utilisateur IAM créé précédemment.
  • Indiquez l'ID de clé d'accès et la clé d'accès secrète du compte utilisateur IAM que vous avez créé précédemment.

Options avancées

  • Nom du flux: valeur préremplie qui identifie le flux.
  • Source Type (Type de source) : méthode utilisée pour collecter les journaux dans Google SecOps.
  • Espace de noms de l'élément: espace de noms associé au flux.
  • Libellés d'ingestion: libellés appliqués à tous les événements de ce flux.

Procédure détaillée pour ingérer des journaux à partir de S3

Configurer AWS CloudTrail (ou un autre service)

Pour configurer les journaux AWS CloudTrail et les écrire dans le bucket AWS S3 créé lors de la procédure précédente, procédez comme suit:

  1. Dans la console AWS, recherchez CloudTrail.
  2. Cliquez sur Créer un parcours.

    alt_text

  3. Indiquez un nom de sentier.

  4. Sélectionnez Créer un bucket S3. Vous pouvez également choisir d'utiliser un bucket S3 existant.

  5. Attribuez un nom à l'alias AWS KMS ou choisissez une clé AWS KMS existante.

    alt_text

  6. Vous pouvez conserver les autres paramètres par défaut et cliquer sur Suivant.

  7. Sélectionnez Type d'événement, ajoutez les événements de données si nécessaire, puis cliquez sur Suivant.

    alt_text

  8. Vérifiez les paramètres dans Vérifier et créer, puis cliquez sur Créer un enregistrement.

  9. Dans la console AWS, recherchez Buckets Amazon S3.

    alt_text

  10. Cliquez sur le bucket de journaux nouvellement créé, puis sélectionnez le dossier AWSLogs. Cliquez ensuite sur Copier l'URI S3 et enregistrez-le pour l'utiliser aux étapes suivantes.

    alt_text

Configurer un utilisateur AWS IAM

À cette étape, nous allons configurer un utilisateur IAM AWS que Google SecOps utilisera pour obtenir des flux de journaux à partir d'AWS.

  1. Dans la console AWS, recherchez IAM.

    alt_text

  2. Cliquez sur Utilisateurs, puis sur Ajouter des utilisateurs dans l'écran suivant.

    alt_text

  3. Attribuez un nom à l'utilisateur (par exemple, chronicle-feed-user), sélectionnez Clé d'accès - Accès programmatique comme Type d'identifiants AWS, puis cliquez sur Suivant: Autorisations.

    alt_text

  4. À l'étape suivante, sélectionnez Attach existing policies directly (Joindre directement des règles existantes), puis AmazonS3ReadOnlyAccess ou AmazonS3FullAccess, selon le cas. AmazonS3FullAccess est utilisé si Google SecOps doit effacer les buckets S3 après avoir lu les journaux, afin d'optimiser les coûts de stockage AWS S3. Cliquez sur Suivant:Tags.

    alt_text

  5. Nous vous recommandons de remplacer l'étape précédente par la création d'une règle personnalisée pour limiter l'accès au bucket S3 spécifié. Cliquez sur Créer une règle, puis suivez la documentation AWS pour créer une règle personnalisée.

    alt_text

  6. Ajoutez des balises si nécessaire, puis cliquez sur Suivant > Examiner.

  7. Vérifiez la configuration, puis cliquez sur Créer un utilisateur.

    alt_text

  8. Copiez l'ID de clé d'accès et la clé d'accès secrète de l'utilisateur créé pour les utiliser à l'étape suivante.

    alt_text

Configurer un flux dans Google SecOps pour ingèrer des journaux AWS

  1. Accédez aux paramètres de Google Security Operations, puis cliquez sur Flux.
  2. Cliquez sur Ajouter.
  3. Sélectionnez Amazon S3 comme Type de source du flux.
  4. Sélectionnez AWS CloudTrail (ou un autre service AWS) pour Type de journal.

alt_text

  1. Cliquez sur Suivant.
  2. Sélectionnez région, puis indiquez l'URI S3 du bucket Amazon S3 que vous avez copié précédemment. Vous pouvez également ajouter l'URI S3 avec:

    
    {{datetime("yyyy/MM/dd","+8H")}}
    
    

    Comme dans l'exemple suivant, afin que Google SecOps n'analyse les journaux que pour un jour donné:

    
    s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd","+8H")}}/
    
    
  3. Sous URI EST, sélectionnez Répertoires, y compris les sous-répertoires. Sélectionnez une option appropriée sous Source Deletion Option (Option de suppression de la source). Elle doit correspondre aux autorisations du compte IAM User (Utilisateur IAM) que nous avons créé précédemment.

  4. Indiquez l'ID de clé d'accès et la clé d'accès secrète du compte Utilisateur IAM que nous avons créé précédemment. alt_text

  5. Cliquez sur Suivant, puis sur Terminer.

Étapes à suivre pour ingérer des données de contexte AWS

Pour ingérer des données contextuelles sur les entités AWS (hôtes, instances et utilisateurs, par exemple), créez un flux pour chacun des types de journaux suivants, listés par description et étiquette d'ingestion:

  • AWS EC2 HOSTS (AWS_EC2_HOSTS)
  • INSTANCES AWS EC2 (AWS_EC2_INSTANCES)
  • VPC AWS EC2 (AWS_EC2_VPCS)
  • AWS Identity and Access Management (IAM) (AWS_IAM)

Pour créer un flux pour chacun de ces types de journaux, procédez comme suit:

  1. Dans la barre de navigation, sélectionnez SIEM Settings (Paramètres du SIEM) > Feeds (Flux).
  2. Sur la page Flux, cliquez sur Ajouter un flux. La boîte de dialogue Ajouter un flux s'affiche.
  3. Dans le menu Source type (Type de source), sélectionnez API tierce.
  4. Dans le menu Type de journal, sélectionnez Hôtes AWS EC2.
  5. Cliquez sur Suivant.
  6. Saisissez les paramètres d'entrée du flux dans les champs.
  7. Cliquez sur Suivant, puis sur Terminer.

Pour en savoir plus sur la configuration d'un flux pour chaque type de journal, consultez la documentation sur la gestion des flux suivante:

Pour obtenir des informations générales sur la création d'un flux, consultez le guide de l'utilisateur sur la gestion des flux ou l'API de gestion des flux.

Référence de mappage de champ

Ce code d'analyseur traite les journaux AWS CloudTrail au format JSON. Il commence par extraire et structurer le message de journal brut, puis itère sur chaque enregistrement du tableau "Enregistrements", en normalisant les événements uniques au même format que les événements multiples. Enfin, il met en correspondance les champs extraits avec le schéma UDM de Google Security Operations, enrichissant les données avec des informations contextuelles et de sécurité supplémentaires.

Tableau de mappage UDM

Champ du journal Mappage UDM Logique
Records.0.additionalEventData
.AuthenticationMethod
additional.fields
.AuthenticationMethod.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.additionalEventData
.CipherSuite
additional.fields
.CipherSuite.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.additionalEventData
.LoginTo
additional.fields
.LoginTo.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.additionalEventData
.MFAUsed
extensions.auth.auth_details Si la valeur est "Oui", le champ UDM est défini sur "MFAUsed: Yes". Sinon, la valeur est "MFAUsed: No".
Records.0.additionalEventData
.MobileVersion
additional.fields
.MobileVersion.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.additionalEventData
.SamlProviderArn
additional.fields
.SamlProviderArn.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.additionalEventData
.SignatureVersion
additional.fields
.SignatureVersion.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.additionalEventData
.bytesTransferredIn
network.received_bytes Mappage direct du champ de journal brut, converti en entier non signé.
Records.0.additionalEventData
.bytesTransferredOut
network.sent_bytes Mappage direct du champ de journal brut, converti en entier non signé.
Records.0.additionalEventData
.x-amz-id-2
additional.fields
.x-amz-id-2.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.awsRegion principal.location.name Mappage direct à partir du champ de journal brut.
Records.0.awsRegion target.location.name Mappage direct à partir du champ de journal brut.
Records.0.errorCode security_result.rule_id Mappage direct à partir du champ de journal brut.
Records.0.errorMessage security_result.description Le champ UDM est défini sur "Motif: " concaténé avec la valeur du champ de journal brut.
Records.0.eventCategory security_result.category_details Mappage direct à partir du champ de journal brut.
Records.0.eventID metadata.product_log_id Mappage direct à partir du champ de journal brut.
Records.0.eventName metadata.product_event_type Mappage direct à partir du champ de journal brut.
Records.0.eventName _metadata.event_type Mappé en fonction de la valeur du champ de journal brut. Consultez le code de l'analyseur pour connaître les mappages spécifiques.
Records.0.eventSource target.application Mappage direct à partir du champ de journal brut.
Records.0.eventSource metadata.ingestion_labels.EventSource Mappage direct à partir du champ de journal brut.
Records.0.eventTime metadata.event_timestamp Mappage direct à partir du champ de journal brut, analysé en tant qu'horodatage ISO8601.
Records.0.eventVersion metadata.product_version Mappage direct à partir du champ de journal brut.
Records.0.managementEvent additional.fields.ManagementEvent
.value.string_value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.readOnly additional.fields.ReadOnly
.value.string_value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.recipientAccountId principal.user.group_identifiers Mappage direct à partir du champ de journal brut.
Records.0.recipientAccountId target.resource.attribute
.labels.Recipient Account Id.value
Mappage direct à partir du champ de journal brut.
Records.0.requestID target.resource.attribute
.labels.Request ID.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters target.resource.attribute
.labels
Divers champs de requestParameters sont mappés sur des libellés dans l'attribut de la ressource cible. Consultez le code de l'analyseur pour connaître les mappages spécifiques.
Records.0.requestParameters>
.AccessControlPolicy.AccessControlList
.Grant.0.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.AccessControlPolicy.AccessControlList
.Grant.1.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.AccessControlPolicy.AccessControlList
.Grant.2.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.AccessControlPolicy.AccessControlList
.Grant.3.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.AccessControlPolicy.AccessControlList
.Grant.4.Grantee.URI
target.resource.attribute
.labels.AccessControlList Grantee URI.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.CreateAccessPointRequest.
PublicAccessBlockConfiguration.BlockPublicAcls
target.resource.attribute
.labels.BlockPublicAcls.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.CreateAccessPointRequest.
PublicAccessBlockConfiguration.BlockPublicPolicy
target.resource.attribute
.labels.BlockPublicPolicy.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.CreateAccessPointRequest.
PublicAccessBlockConfiguration.IgnorePublicAcls
target.resource.attribute
.labels.IgnorePublicAcls.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.CreateAccessPointRequest.
PublicAccessBlockConfiguration.RestrictPublicBuckets
target.resource.attribute
.labels.RestrictPublicBuckets.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.PublicAccessBlockConfiguration.BlockPublicAcls
target.resource.attribute
.labels.BlockPublicAcls.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.PublicAccessBlockConfiguration.BlockPublicPolicy
target.resource.attribute
.labels.BlockPublicPolicy.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.PublicAccessBlockConfiguration.IgnorePublicAcls
target.resource.attribute
.labels.IgnorePublicAcls.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.PublicAccessBlockConfiguration.RestrictPublicBuckets
target.resource.attribute
.labels.RestrictPublicBuckets.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters.accessKeyId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.allocationId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.associationId target.resource.attribute
.labels.requestParameters associationId.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.certificateId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.configurationRecorder.name
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.configurationRecorderName
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.createVolumePermission.add.items.0.group
target.resource.attribute
.labels.Add Items Group.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.createVolumePermission.add.items.0.userId
target.resource.attribute
.labels.Ajouter des éléments UserId.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.createVolumePermission.remove.items.0.userId
target.resource.attribute
.labels.Remove Items UserId.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.detectorId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.destinationId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.directoryId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.documentName target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.egress target.resource.attribute
.labels.requestParameters egress.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.emailIdentity target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.enabled target.resource.attribute
.labels.Request Enabled.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.filterSet.items.0
.valueSet.items.0.value
target.resource.attribute
.labels.requestParameters
.filterSet.items.0.valueSet
.items.0.value.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.functionName target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.granteePrincipal
principal.hostname Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.granteePrincipal
principal.asset.hostname Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.groupId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.groupName target.group.group_display_name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.imageId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.instanceId target.resource_ancestors.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.instanceProfileName
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.instanceType target.resource.attribute
.labels.Instance Type.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.instancesSet.items.0.instanceId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.instancesSet.items.0.maxCount
target.resource.attribute
.labels.Instance Set Max Count.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.instancesSet.items.0.minCount
target.resource.attribute
.labels.Instance Set Min Count.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters
.ipPermissions.items.0
.ipRanges.items.0.cidrIp
target.resource.attribute
.labels.ipPermissions cidrIp.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.ipPermissions.items.0
.ipv6Ranges.items.0.cidrIpv6
target.resource.attribute
.labels.ipPermissions cidrIpv6.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.ipPermissions.items.1
.ipv6Ranges.items.0.cidrIpv6
target.resource.attribute
.labels.ipPermissions cidrIpv6.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.keyId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.
launchPermission.add.items.0.group
target.resource.attribute
.labels.Add Items Group.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.
launchPermission.add.items
.0.organizationalUnitArn
target.resource.attribute.labels
.Add Items OrganizationalUnitArn
.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.
launchPermission.add.items
.0.userId
target.resource.attribute
.labels.Ajouter des éléments UserId.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.
launchPermission.remove.items
.0.organizationalUnitArn
target.resource.attribute.labels
.Remove Items OrganizationalUnitArn
.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.
launchPermission.remove.items
.0.userId
target.resource.attribute
.labels.Remove Items UserId.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.loadBalancerArn target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.logGroupIdentifier target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.logGroupName target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.name target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.name target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.networkAclId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.networkInterfaceId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.parentId target.resource_ancestors.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.policyArn target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.policyArns.0.arn
target.resource.attribute
.labels.Policy ARN 0.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.policyArns.1.arn
target.resource.attribute
.labels.Policy ARN 1.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.policyName target.resource.attribute
.permissions.name
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.policyName target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.principalArn principal.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.publicKeyId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.RegionName target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.RegionName target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.roleName target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.sAMLProviderArn target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.secretId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.serialNumber target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.serviceSpecificCredentialId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.sendingEnabled target.resource.attribute
.labels.Request Sending Enabled.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.requestParameters.snapshotId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.sSHPublicKeyId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.stackName target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.status target.resource.attribute
.labels.Request Parameter Status.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.subnetId target.resource.attribute
.labels.Subnet Id.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.targets.0.InstanceIds
target.resource.attribute
.labels.requestParameters.targets
.0.InstanceIds.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters
.targets.0.key
target.resource.attribute
.labels.requestParameters.targets.0.key.value
Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.trailName target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.userName target.user.userid Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.volumeId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.requestParameters.withDecryption security_result.detection_fields
.withDecryption.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.responseElements target.resource.attribute.labels Divers champs de responseElements sont mappés sur des libellés dans l'attribut de ressource cible. Consultez le code de l'analyseur pour connaître les mappages spécifiques.
Records.0.responseElements.accessKey.accessKeyId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.accessKey.status target.resource.attribute
.labels.Response Access Key Status.value
Mappage direct à partir du champ de journal brut.
Records.0.responseElements.accessKey.userName target.user.userid Mappage direct à partir du champ de journal brut.
Records.0.responseElements.allocationId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.certificate.certificateId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.certificate.status
target.resource.attribute
.labels.Certificate Status.value
Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.certificate.userName
target.user.userid Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.credentials.accessKeyId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.credentials.sessionToken
security_result.detection_fields
.sessionToken.value
Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.createAccountStatus.accountId
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.createAccountStatus.accountName
target.user.user_display_name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.createAccountStatus.accountName
target.user.user_display_name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.createAccountStatus.accountName
target.user.user_display_name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.createCollectionDetail.arn
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.createCollectionDetail.id
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.deleteCollectionDetail.id
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.description target.resource.attribute
.labels.Response Elements Description.value
Mappage direct à partir du champ de journal brut.
Records.0.responseElements.destinationId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.detectorId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.directoryId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.domainStatus.aRN
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.domainStatus.domainId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.federatedUser.arn
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.federatedUser.federatedUserId
target.user.userid Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.firewall.firewallArn
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.firewall.firewallId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.firewall.firewallName
target.resource.attribute
.labels.Firewall Name.value
Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.flowLogIdSet.item
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.functionArn target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.group.arn
target.group.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.group.groupName
target.group.group_display_name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.iamInstanceProfileAssociation.instanceId
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.iamInstanceProfileAssociation.instanceId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.image.imageId.imageDigest
src.file.sha256 Le champ UDM est défini sur la valeur après "sha256:" dans le champ de journal brut.
Records.0.responseElements
.image.imageManifestMediaType
src.file.mime_type Mappage direct à partir du champ de journal brut.
Records.0.responseElements.instanceArn target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.instanceProfile.arn
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.instancesSet.items.0.instanceId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.keyId target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.keyMetadata.arn
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.keyMetadata.encryptionAlgorithms
security_result.detection_fields
.encryptionAlgorithm.value
Le champ UDM est défini sur la valeur de chaque élément du tableau à partir du champ de journal brut.
Records.0.responseElements
.keyMetadata.keyId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.keyPairId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.listeners.0.listenerArn
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.listeners.0.loadBalancerArn
target.resource.ancestors.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.loadBalancers.0.loadBalancerArn
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements.newAssociationId target.resource.attribute.labels
.responseElements newAssociationId.value
Mappage direct à partir du champ de journal brut.
Records.0.responseElements.packedPolicySize security_result.detection_fields
.packedPolicySize.value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.0.responseElements
.publicKey.publicKeyId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.sAMLProviderArn target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.sSHPublicKey.sSHPublicKeyId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.sSHPublicKey.status
target.resource.attribute
.labels.SSH Public Key Status.value
Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.securityGroupRuleSet.items.0.groupId
security_result.rule_labels.Group Id.value Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.securityGroupRuleSet.items.0.ipProtocol
network.ip_protocol Mappage direct à partir du champ de journal brut, converti en majuscules.
Records.0.responseElements
.securityGroupRuleSet.items.0.isEgress
network.direction Si la valeur est "false", le champ UDM est défini sur "INBOUND". Sinon, elle est définie sur "OUTBOUND".
Records.0.responseElements
.securityGroupRuleSet.items.0.securityGroupRuleId
security_result.rule_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.serviceSpecificCredential.serviceName
target.resource.attribute.labels
.Identifiant spécifique ServiceName
.valeur
Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.serviceSpecificCredential.serviceSpecificCredentialId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.serviceSpecificCredential.serviceUserName
target.resource.attribute.labels
.Nom d'utilisateur du service d'identifiants spécifique
.valeur
Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.serviceSpecificCredential.status
target.resource.attribute
.labels.Specific Credential Status.value
Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.serviceSpecificCredential.userName
target.user.userid Mappage direct à partir du champ de journal brut.
Records.0.responseElements.snapshotId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.stackId target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.tableDescription.tableArn
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.tableDescription.tableId
target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements.trailARN target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.user.arn
target.user.userid Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.user.userId
target.user.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.user.userName
target.user.user_display_name Mappage direct à partir du champ de journal brut.
Records.0.responseElements
.virtualMFADevice.serialNumber
target.resource.name Mappage direct à partir du champ de journal brut.
Records.0.responseElements.volumeId target.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.resources target.resource Le premier élément du tableau de ressources est mappé sur la ressource cible. Les autres éléments sont mappés sur le champ "À propos".
Records.0.sharedEventID additional.fields.SharedEventID
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.sourceIPAddress principal.asset.ip Mappage direct à partir du champ de journal brut.
Records.0.sourceIPAddress principal.ip Mappage direct à partir du champ de journal brut.
Records.0.sourceIPAddress src_ip Mappage direct à partir du champ de journal brut.
Records.0.tlsDetails.cipherSuite network.tls.cipher Mappage direct à partir du champ de journal brut.
Records.0.tlsDetails.clientProvidedHostHeader security_result.detection_fields
.clientProvidedHostHeader.value
Mappage direct à partir du champ de journal brut.
Records.0.tlsDetails.tlsVersion network.tls.version Mappage direct à partir du champ de journal brut.
Records.0.userAgent network.http.user_agent Mappage direct à partir du champ de journal brut.
Records.0.userAgent network.http.parsed_user_agent Mappage direct à partir du champ de journal brut, analysé en tant que chaîne user-agent.
Records.0.userIdentity.accessKeyId additional.fields.accessKeyId
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.accountId principal.resource.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.accountId principal.user.group_identifiers Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.arn principal.resource.name Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.arn principal.user.userid Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.arn target.user.attribute
.labels.ARN.value
Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.invokedBy principal.user.userid Le champ UDM est défini sur la valeur précédant ".amazonaws.com" dans le champ de journal brut.
Records.0.userIdentity.principalId principal.user.product_object_id Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.principalId principal.user.attribute
.labels.principalId.value
Mappage direct à partir du champ de journal brut.
Records.0.userIdentity
.sessionContext.attributes.mfaAuthenticated
principal.user.attribute
.labels.mfaAuthenticated.value
Mappage direct à partir du champ de journal brut.
Records.0.userIdentity
.sessionContext.sessionIssuer.arn
target.user.attribute
.labels.ARN.value
Mappage direct à partir du champ de journal brut.
Records.0.userIdentity
.sessionContext.sessionIssuer.principalId
target.user.userid Mappage direct à partir du champ de journal brut.
Records.0.userIdentity
.sessionContext.sessionIssuer.type
target.user.attribute
.labels.Type.value
Mappage direct à partir du champ de journal brut.
Records.0.userIdentity
.sessionContext.sessionIssuer.userName
target.user.user_display_name Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.type principal.resource.resource_subtype Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.type principal.resource.type Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.userName principal.user.user_display_name Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.userName src.user.userid Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.userName src.user.user_display_name Mappage direct à partir du champ de journal brut.
Records.0.userIdentity.userName target.user.user_display_name Mappage direct à partir du champ de journal brut.
Records.1.additionalEventData
.AuthenticationMethod
additional.fields.AuthenticationMethod
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.1.additionalEventData
.CipherSuite
additional.fields.CipherSuite
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.1.additionalEventData
.LoginTo
additional.fields.LoginTo
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.1.additionalEventData
.MFAUsed
extensions.auth.auth_details Si la valeur est "Oui", le champ UDM est défini sur "MFAUsed: Yes". Sinon, la valeur est "MFAUsed: No".
Records.1.additionalEventData
.MobileVersion
additional.fields.MobileVersion
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.1.additionalEventData
.SamlProviderArn
additional.fields.SamlProviderArn
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.1.additionalEventData
.SignatureVersion
additional.fields.SignatureVersion
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.1.additionalEventData
.bytesTransferredIn
network.received_bytes Mappage direct du champ de journal brut, converti en entier non signé.
Records.1.additionalEventData
.bytesTransferredOut
network.sent_bytes Mappage direct du champ de journal brut, converti en entier non signé.
Records.1.additionalEventData
.x-amz-id-2
additional.fields.x-amz-id-2
.value.string_value
Mappage direct à partir du champ de journal brut.
Records.1.awsRegion principal.location.name Mappage direct à partir du champ de journal brut.
Records.1.awsRegion target.location.name Mappage direct à partir du champ de journal brut.
Records.1.errorCode security_result.rule_id Mappage direct à partir du champ de journal brut.
Records.1.errorMessage security_result.description Le champ UDM est défini sur "Motif: " concaténé avec la valeur du champ de journal brut.
Records.1.eventCategory security_result.category_details Mappage direct à partir du champ de journal brut.
Records.1.eventID metadata.product_log_id Mappage direct à partir du champ de journal brut.
Records.1.eventName metadata.product_event_type Mappage direct à partir du champ de journal brut.
Records.1.eventName _metadata.event_type Mappé en fonction de la valeur du champ de journal brut. Consultez le code de l'analyseur pour connaître les mappages spécifiques.
Records.1.eventSource target.application Mappage direct à partir du champ de journal brut.
Records.1.eventSource metadata.ingestion_labels.EventSource Mappage direct à partir du champ de journal brut.
Records.1.eventTime metadata.event_timestamp Mappage direct à partir du champ de journal brut, analysé en tant qu'horodatage ISO8601.
Records.1.eventVersion metadata.product_version Mappage direct à partir du champ de journal brut.
Records.1.managementEvent additional.fields.ManagementEvent
.value.string_value
Mappage direct à partir du champ de journal brut, converti en chaîne.
Records.1.readOnly additional.fields.ReadOnly
.value

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.