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 partie de ce document décrit de manière concise comment utiliser 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 partie fournit des étapes plus détaillées avec des captures d'écran pour utiliser Amazon S3 comme type de source de flux. L'utilisation d'Amazon SQS n'est pas abordée dans la deuxième partie. La troisième partie explique comment ingérer des données de contexte AWS sur 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 insérer les journaux AWS CloudTrail dans votre instance Google Security Operations. 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 nécessaires, puis cliquez sur Suivant.
  8. Vérifiez les paramètres dans Vérifier et créer, puis cliquez sur Créer une piste.
  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 Security Operations 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 Security Operations 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 Security Operations 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 Security Operations tente à plusieurs reprises de transférer les mêmes fichiers.
  7. Cliquez sur Suivant:Tags.
  8. Ajoutez des tags si nécessaire, puis cliquez sur Suivant:Vérification.
  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.

Créer le flux

Après avoir effectué les procédures précédentes, créez un flux pour ingérer les journaux AWS de votre bucket Amazon S3 dans votre instance Google Security Operations. 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 créer un flux:

  1. Dans la barre de navigation, sélectionnez Paramètres > Paramètres du SIEM, puis Flux.
  2. Sur la page Flux, cliquez sur Ajouter.
  3. Dans la boîte de dialogue Add feed (Ajouter un flux), utilisez la boîte de dialogue Source type (Type de source) pour sélectionner Amazon SQS ou Amazon S3.
  4. Dans le menu Type de journal, sélectionnez AWS CloudTrail (ou un autre service AWS).
  5. Cliquez sur Suivant.
  6. 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.

  7. Cliquez sur Suivant, puis sur Terminer.

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 une piste.

  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 IAM AWS

À cette étape, nous allons configurer un utilisateur IAM AWS que Google Security Operations 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 Security Operations 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 tags si nécessaire, puis cliquez sur Suivant:Vérification.

  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éé, afin de les utiliser à l'étape suivante.

    alt_text

Configurer un flux dans Google Security Operations 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 SQS ou 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")}}
    
    

    Comme dans l'exemple suivant, afin que Google Security Operations 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")}}/
    
    
  3. Sous URI IS A (L'URI EST), sélectionnez Directories including subdirectories (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 d'ingestion 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 Paramètres, Paramètres du SIEM, puis Flux.
  2. Sur la page Flux, cliquez sur Ajouter. 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 fait correspondre les champs extraits au schéma UDM de Google Security Operations, enrichissant les données avec un contexte supplémentaire et des informations pertinentes pour la sécurité.

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" (MFA utilisé : oui). 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 "Yes" (Oui), le champ UDM est défini sur "MFAUsed: Yes" (MFA utilisé : oui). 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

Modifications

2024-07-30

  • Correction du mappage de "src_ip" et "event_type" pour analyser les nouveaux journaux.

2024-07-29

  • Correction de bug:
  • Lorsque "eventName" est "GetLoginProfile", "metadata.event_type" est mappé sur "RESOURCE_READ".

2024-07-24

  • Modification du mappage de "recipientAccountId" en "userIdentity.accountId" et mappage sur "additional.fields".

2024-07-23

  • "alert_emails" et "owner_names" ont été mappés sur "target.resource.attribute.labels".

2024-07-09

  • "eventVersion" a été mappé sur "metadata.product_version".
  • Mappage de "userIdentity.principalId" sur "principal.user.attribute.labels".
  • Mappage de "userIdentity.sessionContext.attributes.creationDate" sur "principal.user.attribute.creation_time".
  • Mappage de "userIdentity.sessionContext.sessionIssuer.type" sur "target.user.attribute.labels".
  • Mappage de "additionalEventData.bytesTransferredIn" sur "network.received_bytes".
  • Mappage de "additionalEventData.bytesTransferredOut" sur "network.sent_bytes".
  • Mappage de "managementEvent", "readOnly", "sharedEventID", "apiVersion", "additionalEventData.x-amz-id-2", "additionalEventData.SignatureVersion", "additionalEventData.AuthenticationMethod", "additionalEventData.CipherSuite" et "additionalEventData.sub" sur "additional.fields".

2024-06-24

  • Prise en charge d'un nouveau format de journaux JSON.

2024-06-24

  • Mise à jour du mappage de "principal.resource.type" vers "principal.resource.resource_subtype", car le champ "principal.resource.type" est obsolète.

2024-05-21

  • Lorsque "requestParameters.bucketPolicy.Statement.n.Resource" est un tableau, mappez "requestParameters.bucketPolicy.Statement.n.Resource" sur "additional.fields".

2024-05-09

  • La partie "groupid" de "principal.user.userid" a été mappée sur "principal.user.groupid" et "principal.user.group_identifiers" lorsque "userid" correspond au format "^arn:aws:sts::\d+:assumed-role\/\w+\/\w+$".

2024-04-30

  • Mappage de "req.requestParameters.networkInterfaceSet.items.associatePublicIpAddress" sur "target.resource.attribute.labels".

2024-03-22

  • "Noun.user.userid" a été mappé sur "Noun.user.product_object_id".
  • "RoleName" de "userIdentity.arn" a été mappé sur "principal.user.role_name" et "principal.user.attribute.roles.name".
  • "PolicyName" de "requestParameters.policyArn" a été mappé sur "security_result.rule_name".

2024-03-04

  • Pour les journaux dont "eventName" est "TerminateInstances":
  • L'objet JSON "responseElements" a été mappé sur "target.resource.attribute.labels".
  • "sessionCredentialFromConsole" a été mappé sur "target.resource.attribute.labels".
  • Pour les journaux où "eventName" est "CreateDomain","DeleteDomain" ou "CreateCollection",
  • "DeleteCollection","CreateDBCluster","DeleteDBCluster","StopDBCluster","StartDBCluster",
  • "CreateCluster","DeleteCluster", "ListClusters", "CreateNodegroup", "DeleteNodegroup",
  • "RegisterCluster", "DeregisterCluster", "DescribeCluster", "DescribeNodegroup" et "ListNodegroups".
  • Définissez "target.resource.resource_type" sur "CLUSTER".

2023-11-21

  • Mappage de "awsRegion" sur "target.location.name".
  • Pour les journaux dont "eventName" est "PutBucketAcl", lorsque "userIdentity.arn" n'est pas présent, remplacez "metadata.event_type" par "STATUS_UPDATE".
  • Pour les journaux dont le préfixe "eventName" est "Get", "List", "Describe", "Detect", "Query", "Check", "Decode",
  • "Décrypter", "Télécharger", "Récupérer", "Lire", "Découvrir", "Rechercher", "Aperçu", "Analyser", "Sélectionner", "Classer", "Afficher", "Afficher":
  • Définissez "metadata.event_type" sur "RESOURCE_READ".
  • Pour les journaux dont le préfixe "eventName" est "Delete" (Supprimer) ou "Terminate" (Arrêter) :
  • Définissez "metadata.event_type" sur "RESOURCE_DELETION".
  • Pour les journaux dont le préfixe "eventName" est "Create", "Put", "Import", "Generate" ou "Allocate":
  • Définissez "metadata.event_type" sur "RESOURCE_CREATION".
  • Pour les journaux dont le préfixe "eventName" est "Start" (Démarrer), "Activate" (Activer), "Reboot" (Redémarrer), "Initialize" (Initialiser) ou "New" (Nouveau) :
  • Définissez "metadata.event_type" sur "STATUS_STARTUP".
  • Pour les journaux dont le préfixe "eventName" est "Stop", "Cancel" ou "Disconnect":
  • Définissez "metadata.event_type" sur "STATUS_SHUTDOWN".
  • Pour les journaux dont le préfixe "eventName" est "Test", "Accept", "Notify", "Request", "Validate", "Confirm", "Reject", "Verify", "Authorize", "Complete":
  • Définissez "metadata.event_type" sur "STATUS_UPDATE".
  • Pour les journaux dont le préfixe "eventName" est "Assume" (Supposons) ou "ConsoleLogin":
  • Définissez "metadata.event_type" sur "USER_LOGIN".
  • Pour les journaux dont "eventName" est "SendHeartbeat":
  • Définissez "metadata.event_type" sur "STATUS_HEARTBEAT".
  • Pour les journaux dont le préfixe "eventName" est "Initiate", "Publish", "Replace", "Resume", "Run", "Submit", "Suspend",
  • "Modifier", "Augmenter", "Inviter", "Provisionner", "Actualiser", "Rapport", "Mettre à niveau", "Annuler", "Appliquer", "Sauvegarder", "Diminuer",
  • "Fusionner", "Réessayer", "Faire pivoter", "Rotation", "Transférer", "Désattribuer", "Analyser", "Archiver", "Bêta_", "Effacer", "Configurer",
  • "Confirm_", "Do", "Evaluate", "Failover", "Forgot", "Lock", "Migrate", "O", "Process", "Promote", "Release", "Renew",
  • "Signer", "Désenregistrer", "Supprimer l'abandon", "Déverrouiller", "Acquitter", "Approuver", "Se connecter", "Continuer", "Refuser", "Déployer",
  • "Diagnostic", "Drop", "Exit", "Finalize", "Flush", "Forget", "Grant", "Issue", "Logout", "Move", "Opt", "Pause",
  • "Réorganiser", "Récupérer", "Repliquer", "Redémarrer", "S", "Enregistrer", "S'abonner", "Synchroniser", "Dissocier", "Désabonner", "Réactiver",
  • "Allow" (Autoriser), "Ato", "Back" (Retour), "Backtrack" (Remonter), "Bid" (Enchère), "Bind" (Liaison), "Build" (Compilation), "Bundle" (Groupe), "Clone" (Cloner), "Close" (Fermer), "Cognito", "Console", "Dispose",
  • "Dissocier", "End", "Enroll", "Enter", "Environment", "Event_", "Exclude", "Global", "Include", "Index", "Insert", "Install",
  • "Invalidate" (Invalider), "Join" (Rejoindre), "Leave" (Quitter), "Load" (Charger), "Managed" (Géré), "Mark" (Marquer), "Monitor" (Surveiller), "Peer" (Peer), "Persist" (Persister), "Prepare" (Préparer), "Pubkey" (Clé publique), "Purge" (Purger), "Push" (Transmettre),
  • "Rebalance" (Rééquilibrer), "Record" (Enregistrer), "Recovery" (Récupération), "Redact" (Masquer), "Refuse" (Refuser), "Reinvite" (Réinviter), "Reload" (Actualiser), "Rename" (Renommer), "Respond" (Répondre), "Resync" (Résynchroniser), "Retire" (Supprimer), "Reverse" (Inverser),
  • "Rollback", "Schedule", "Secret", "Shutdown", "Signal", "Skip", "Split", "Stream", "Swap", "Switch", "Toggle", "Token_",
  • "Traduire", "Découper", "Désautoriser", "Désinstaller", "Désactiver la surveillance", "Désassocier", "Utiliser":
  • Définissez "metadata.event_type" sur "RESOURCE_WRITTEN".
  • Pour les journaux dont le préfixe est "eventName" et dont le nom est "Update", "Associate", "Disassociate", "Modify", "Set", "Register" ou "Deregister",
  • "Ajouter", "Supprimer", "Activer", "Désactiver", "Envoyer", "Restaurer", "Réinitialiser", "Joindre", "Dissocier", "Exporter", "Copier", "Taguer",
  • "Désactiver le tag", "Exécuter", "Acheter", "Allouer", "Désactiver", "Publier", "Renvoyer", "Importer", "Attribuer", "Modifier", "Définir",
  • "Deprecated" (Obsolète), "Invoke" (Appeler), "Revoke" (Révoquer) :
  • Définissez "metadata.event_type" sur "RESOURCE_PERMISSIONS_CHANGE".

2023-11-11

  • Initialisez les variables à "null" ou à "vide" pour éviter les mises en correspondance en double.
  • Lorsque "requestParameters.tagSpecificationSet.items.key" est "Hostname" , mappez-le sur "target.hostname".

2023-10-27

  • Pour les journaux dont "eventName" est "AssociateIamInstanceProfile":
  • Mappage de "responseElements.AssociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" sur "target.resource.name".
  • "responseElements.AssociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" a été mappé sur "target.resource.product_object_id".
  • Définissez "metadata.event_type" sur "RESOURCE_PERMISSIONS_CHANGE".
  • Définissez "target.resource.resource_type" sur "ACCESS_POLICY".
  • Pour les journaux dont "eventName" est "DisassociateIamInstanceProfile":
  • "responseElements.DisassociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" a été mappé sur "target.resource.name".
  • "responseElements.DisassociateIamInstanceProfileResponse.iamInstanceProfileAssociation.instanceid" a été mappé sur "target.resource.product_object_id".
  • Définissez "metadata.event_type" sur "RESOURCE_PERMISSIONS_CHANGE".
  • Définissez "target.resource.resource_type" sur "ACCESS_POLICY".
  • Pour les journaux dont "eventName" est "ReplaceIamInstanceProfileAssociation":
  • "responseElements.ReplaceIamInstanceProfileAssociationResponse.iamInstanceProfileAssociation.instanceid" a été mappé sur "target.resource.name".
  • "responseElements.ReplaceIamInstanceProfileAssociationResponse.iamInstanceProfileAssociation.instanceid" a été mappé sur "target.resource.product_object_id".
  • Définissez "metadata.event_type" sur "RESOURCE_PERMISSIONS_CHANGE".
  • Définissez "target.resource.resource_type" sur "ACCESS_POLICY".
  • Mappage des objets JSON "requestParameters" et "responseElements" sur "target.resource.attribute.labels".
  • Correction d'une faute de frappe pour "req.userIdentity.userName" à partir de "req.userIdentity.username".

2023-10-13

  • Pour les journaux dont "eventName" est "UpdateDetector":
  • "requestParameters.features.name" et "requestParameters.features.status" ont été mappés sur "target.resource.attribute.labels".
  • Pour les journaux dont "eventName" est "SendCommand":
  • "requestParameters.documentName" a été mappé sur "target.resource.product_object_id".
  • Mappage de "responseElements.command.commandId" sur "target.process.product_specific_object.id".
  • "metadata.event_type" a été mappé sur "PROCESS_LAUNCH".
  • "requestParameters.documentName" a été mappé sur "target.resource.name".
  • Mappage de tous les paramètres de "requestParameters" et "responseElements" sur "target.resource.attribute.labels".
  • Pour les journaux dont "eventName" est "createAccountResult", mappez "event_type" sur "USER_RESOURCE_ACCESS".
  • Pour les journaux dont "eventName" est "createAccount", mappez "event_type" sur "RESOURCE_CREATION".

2023-09-30

  • Ajoutez des mises en correspondance pour les champs suivants:
  • "req.requestParameters.durationSeconds" a été mappé sur "target.resource.attribute.labels".
  • "req.requestParameters.policyArns" a été mappé sur "target.resource.attribute.labels".
  • Pour les journaux dont "eventName" est "GetParameter", "GetParameters", "GetParameterHistory", "GetParametersByPath" ou "DescribeParameters":
  • "metadata.event_type" a été mappé sur "RESOURCE_READ".
  • "req.requestParameters.withDecryption" a été mappé sur "security_result.detection_fields".
  • Pour les journaux dont "eventName" est "DeleteParameters" ou "DeleteParameter", définissez "metadata.event_type" sur "RESOURCE_DELETION".
  • Pour les journaux dont "eventName" est "PutParameter", définissez "metadata.event_type" sur "RESOURCE_PERMISSIONS_CHANGE".
  • Pour les journaux dont "eventName" est "EnableRegion" ou "DisableRegion", définissez "target.resource.name" à partir de "req.requestParameters.map.RegionName".
  • Pour les journaux dont "eventName" est "GetFederationToken":
  • "metadata.event_type" a été mappé sur "RESOURCE_READ".
  • Mappage de "req.responseElements.federatedUser.arn" sur "target.resource.name".
  • Mappage de "req.responseElements.federatedUser.federatedUserId" sur "target.user.userid".
  • Mappage de "req.responseElements.packedPolicySize" sur "security_result.detection_fields".
  • Mappage de "req.responseElements.credentials.sessionToken" sur "security_result.detection_fields".

2023-09-15

  • Ajoutez des mises en correspondance pour les champs suivants:
  • "requestParameters.userName" a été mappé sur "target.user.user_display_name".
  • Mappage de "additionalEventData.SamlProviderArn" sur "additional.fields".
  • "eventSource" a été mappé sur "metadata.ingestion_labels".
  • Lorsque la valeur de "requestParameters.tagSpecificationSet.items.tags.key" est "Name", la valeur de "requestParameters.tagSpecificationSet.items.tags.value" est mappée sur "target.resource.name".

2023-08-24

  • Pour les journaux dont "eventName" est "CreateFirewall" et "DeleteFirewall" :
  • Mappage de "responseElements.firewallARN" sur "target.resource.name".
  • "responseElements.firewallId" a été mappé sur "target.resource.product_object_id".
  • "responseElements.firewallName" a été mappé sur "target.resource.attribute.labels".
  • "target.resource_subtype" a été mappé sur "Firewall".
  • "target.resource.resource_type" a été mappé sur "FIREWALL_RULE".

2023-08-24

  • Pour les journaux dont l'attribut "eventName" est "CreateSubnet", définissez "metadata.event_type" sur "RESOURCE_CREATION".
  • "req.responseElements.subnet.subnetId" a été mappé sur "target.resource.attribute.labels".
  • "req.requestParameters.cidrBlock" a été mappé sur "target.resource.attribute.labels".
  • Pour les journaux dont "eventName" est "DeleteSubnet", définissez "metadata.event_type" sur "RESOURCE_DELETION".
  • "req.requestParameters.subnetId" a été mappé sur "target.resource.attribute.labels".

2023-08-16

  • Pour les journaux dont "eventName" est "DeleteSecret", mappage de "responseElements.arn" sur "target.resource.name".

2023-08-02

  • Pour les journaux dont "eventName" est "CreateTags", "metadata.event_type" a été mappé sur "RESOURCE_WRITTEN".
  • "responseElements.description","requestParameters.name","requestParameters.tagSet.items" et "requestParameters.attributeType" ont été mappés sur "target.resource.attribute.labels".
  • Définissez "metadata.event_type" sur "RESOURCE_CREATION" pour les journaux dont l'attribut "eventName" est le suivant :
  • "CreateNetworkAcl","CreateVolume","CreatePublishingDestination","CreateIPSet","CreateThreatIntelSet",
  • "CreateAddon","CreateRepository","CreateStack","CreateDomain","CreateCollection","CreateTable",
  • "CreateDBInstance","CreateDBCluster","CreateDBSnapshot","CreateDBClusterSnapshot","PutConfigRule",
  • "PutDeliveryChannel","CreateListener","CreateLoadBalancer","PutLoggingConfiguration","CreateTargetGroup",
  • "CreateWebACL","RequestCertificate","CreateCluster"
  • Définissez "metadata.event_type" sur "RESOURCE_WRITTEN" pour les journaux dont l'attribut "eventName" est le suivant :
  • "MoveAccount","PutEventSelectors","PutInsightSelectors","UpdateIPSet","UpdateThreatIntelSet","CreateTags",
  • "UpdateTable","ModifyDBInstance","StopDBInstance","StartDBInstance","RebootDBInstance",
  • "StartDBCluster","StopDBCluster","ModifyDBSnapshotAttribute","ModifyDBClusterSnapshotAttribute",
  • "AddListenerCertificates","ModifyLoadBalancerAttributes","SetSubnets","SetSecurityGroups",
  • "ModifyListener","UpdateWebACL","ResendValidationEmail","ModifyInstanceAttribute",
  • "StopInstances","StartInstances","RebootInstances"
  • Définissez "metadata.event_type" sur "RESOURCE_WRITTEN" pour les journaux dont l'attribut "eventName" est le suivant.
  • "DeletePublishingDestination","DeleteIPSet","DeleteThreatIntelSet","DeleteRepository",
  • "DeleteStack","DeleteCollection","DeleteDomain","DeleteTable","DeleteDBInstance","DeleteDBCluster",
  • "DeleteDBSnapshot","DeleteDBClusterSnapshot","DeleteConfigRule","DeleteEvaluationResults",
  • "DeleteTargetGroup","DeleteLoadBalancer","DeleteListener","DeleteLoggingConfiguration",
  • "DeleteWebACL","DeleteCertificate","DeleteCluster"
  • Définissez "metadata.event_type" sur "RESOURCE_PERMISSIONS_CHANGE" pour les journaux dont l'attribut "eventName" est le suivant :
  • "AssociateWebACL","DisassociateWebACL","AttachGroupPolicy","PutBucketAcl"
  • Définissez "metadata.event_type" sur "RESOURCE_READ" pour les journaux dont "eventName" est le suivant :
  • "GetPasswordData","GetSessionToken"
  • "target.resource.resource_type" mappé et autres champs non mappés pour les noms d'événements mentionnés ci-dessus.

2023-07-18

  • Pour les journaux dont "eventName" est le suivant, "metadata.event_type" a été mappé sur "RESOURCE_CREATION".
  • "EnableMacie","ConnectDirectory","RunInstances","CreateImage","CreateOrganization", "CreateNetworkInterface",
  • "StartSSO","CreateEmailIdentity","VerifyDomainIdentity","VerifyDomainDkim","VerifyEmailIdentity",
  • "CreateConfigurationSet","CreateSecret","ImportKeyPair","CreateAlias","CreateKey","CreateOrganizationalUnit",
  • "CreateNetworkAcl","CreateVolume","CreatePublishingDestination","CreateIPSet","CreateThreatIntelSet"
  • Pour les journaux avec le nom "eventName" suivant, "metadata.event_type" a été mappé sur "RESOURCE_WRITTEN".
  • "UpdateMacieSession","PutAccountSendingAttributes","PutConfigurationSetSendingOptions","UpdateAccountSendingEnabled",
  • "UpdateConfigurationSetSendingEnabled","UpdateSecret","DisableKey","EnableKey","CancelKeyDeletion",
  • "MoveAccount","PutEventSelectors","PutInsightSelectors","UpdateIPSet","UpdateThreatIntelSet"
  • Pour les journaux dont "eventName" est le suivant, "metadata.event_type" a été mappé sur "RESOURCE_DELETION".
  • "DeleteSnapshot","DeleteDetector","DeleteFlowLogs","DeregisterImage","TerminateInstances", "RESOURCE_DELETION",
  • "DeleteNetworkInterface","DeleteSSO","DeleteBucketPublicAccessBlock","DeleteAccountPublicAccessBlock",
  • "RemoveAccountFromOrganization","DeleteEmailIdentity","LeaveOrganization","DeleteConfigurationSet",
  • "DeleteSecret","DeleteKeyPair","DeleteAlias","ScheduleKeyDeletion","DeleteNetworkAcl",
  • "DeletePublishingDestination","DeleteIPSet","DeleteThreatIntelSet"
  • Pour les journaux avec le nom "eventName" suivant, "metadata.event_type" a été mappé sur "RESOURCE_PERMISSIONS_CHANGE".
  • "DetachRolePolicy","PutRolePolicy","PutResourcePolicy","PutCredentials","DeleteDirectory",
  • "AuthorizeSecurityGroupEgress","AuthorizeSecurityGroupIngress","RevokeSecurityGroupEgress","RevokeSecurityGroupIngress",
  • "ModifySnapshotAttribute","ModifyImageAttribute","CreateNetworkAclEntry","ReplaceNetworkAclAssociation","DeleteNetworkAclEntry"
  • Mappage de "target.resource.resource_type" et d'autres champs non mappés pour les noms d'événement mentionnés ci-dessus.
  • Ajout d'une vérification de valeur nulle avant le mappage du champ "userIdentity.invokedBy".

2023-07-06

  • Ajout d'une vérification de valeur nulle avant de mapper le champ "userIdentity.invokedBy".
  • Mappage de "requestParameters.instanceType","requestParameters.instancesSet.items.0.minCount" et "requestParameters.instancesSet.items.0.maxCount" sur "target.resource.attribute.labels".

2023-06-23

  • a mappé les journaux sur "metadata.event_type" plus spécifique en fonction du champ "eventname".
  • "target.resource.resource_type" a été mappé sur "VIRTUAL_MACHINE".
  • "requestParameters.status" et "responseElements.certificate.status" ont été mappés sur "target.resource.attribute.labels".
  • "requestParameters.instanceId" a été mappé sur "target.resource_ancestors.product_object_id".
  • Mappage de "requestParameters.userName" sur "target.user.userid".
  • "target.resource.name" et "target.resource.product_object_id" ont été mappés en fonction des clés présentes sous chaque "eventName".
  • "userIdentity.arn" a été mappé sur "principal.resource.name".
  • "userIdentity.accountId" a été mappé sur "principal.resource.product_object_id".
  • Pour les journaux dont "eventName" est le suivant, "metadata.event_type" a été mappé sur "RESOURCE_CREATION".
  • "CreateTrail","AllocateAddress","CreateVolume","CreateVirtualMFADevice","UploadSigningCertificate",
  • "CreateAccessKey","UploadSSHPublicKey","CreateServiceSpecificCredential","UploadCloudFrontPublicKey",
  • "CreateAnalyzer","CreateSAMLProvider","PutConfigurationRecorder","CreateRole","CreateInstanceProfile",
  • "CreateExportTask","CreateLogGroup","EnableSecurityHub","CreateEnvironment","CreateSession","CreateServiceLinkedRole",
  • "CreateSnapshot","CreateKeyPair","CreateSecurityGroup","CreateDetector","CreateFlowLogs",
  • "EnableMacie","ConnectDirectory","RunInstances","CreateImage","CreateOrganization"
  • Pour les journaux dont "eventName" est le suivant, "metadata.event_type" a été mappé sur "RESOURCE_WRITTEN".
  • "StartLogging","StopLogging","AssociateAddress","DisassociateAddress","DetachVolume",
  • "AttachVolume","ModifyVolume","EnableMFADevice","ResyncMFADevice","UpdateSigningCertificate",
  • "UpdateAccessKey","UpdateSSHPublicKey","ResetServiceSpecificCredential","UpdateServiceSpecificCredential",
  • "UpdateCloudFrontPublicKey","DisableRegion","EnableRegion","UpdateSAMLProvider","StartConfigurationRecorder",
  • "StopConfigurationRecorder","PutRetentionPolicy","PutDataProtectionPolicy","UpdateDetector","UpdateMacieSession"
  • Pour les journaux dont "eventName" est le suivant, "metadata.event_type" a été mappé sur "RESOURCE_DELETION".
  • "DeleteTrail","ReleaseAddress","DeleteVolume","DeactivateMFADevice","DeleteVirtualMFADevice",
  • "DeleteSigningCertificate","DeleteAccessKey","DeleteSSHPublicKey","DeleteServiceSpecificCredential",
  • "DeleteCloudFrontPublicKey","DeleteAnalyzer","DeleteSAMLProvider","DeleteConfigurationRecorder",
  • "DeletePolicy","DeleteRole","DeleteInstanceProfile","DeleteLogGroup","DisableSecurityHub","DisableMacie",
  • "DeleteSnapshot","DeleteDetector","DeleteFlowLogs","DeregisterImage","TerminateInstances"
  • Pour les journaux dont "eventName" est le suivant, "metadata.event_type" a été mappé sur "RESOURCE_PERMISSIONS_CHANGE".
  • "AttachUserPolicy","DetachUserPolicy","PutUserPolicy","DeleteUserPolicy",
  • "PutUserPermissionsBoundary","DeleteUserPermissionsBoundary","AttachRolePolicy",
  • "DetachRolePolicy","PutRolePolicy","PutResourcePolicy","PutCredentials","DeleteDirectory"

2023-06-09

  • Modification de l'expression régulière pour identifier les journaux de tableau JSON.

2023-06-07

  • Tous les champs "principal.user" ont été mappés sur "target.user" pour "eventName" en tant que "ConsoleLogin".

2023-05-26

  • Journaux analysés de différents modèles JSON.
  • Mappage de "cipherSuite" sur "network.tls.cipher".
  • "requestID" a été mappé sur "target.resource.attribute.labels".
  • Mappage de "assumedRoleId" sur "security_result.about.resource.name".
  • Mappage de "roleSessionName" sur "target.resource.name".
  • "roleArn" a été mappé sur "target.resource.product_object_id".
  • Mappage de "userAgent" sur "network.http.user_agent".
  • Mappage de "sourceIPAddress" sur "principal.ip".
  • Mappage de "sessionIssuer.userName" sur "target.user.user_display_name".
  • Mappage de "sessionIssuer.principalId" sur "target.user.userid".
  • "userIdentity.accessKeyId" a été mappé sur "target.resource.product_object_id".
  • Mappage de "userIdentity.arn" sur "security_result.about.resource.id".
  • Mappage de "req.detail.Longitude" sur "_principal.location.region_longitude".
  • "req.detail.Latitude" a été mappé sur "_principal.location.region_latitude".
  • Mappage de "detail.resourceType" sur "target.resource.resource_subtype".
  • Définissez "security_result.alert_state" sur "ALERTING".
  • Mappage de "req.detail.recommendRemediation" sur "security_result.action_details".
  • "eventLog.detail.eventName" a été mappé sur "metadata.product_event_type".

2023-02-23

  • Mappage de "requestParameters.principalArn" sur "principal.resource.name".
  • "resources.ARN" a été mappé sur "about.resource.name".

2022-11-24

  • Correctif :
  • Analyse des nouveaux journaux de format contenant configurationItem en mappant les champs suivants.
  • Mappage de "configurationItem.awsAccountId" sur "principal.user.userid".
  • "configurationItem.resourceId" a été mappé sur "target.resource.id".
  • Mappage de "configurationItem.resourceType" sur "target.resource.resource_subtype"
  • Mappage de "configurationItem.awsRegion" sur "target.location.country_or_region".
  • Mappage de "configurationItem.configurationItemCaptureTime" sur "target.asset.attribute.creation_time".
  • "configurationItem.configurationItemStatus" a été mappé sur "target.asset.attribute.labels".
  • Mappage de "configurationItems.ARN" sur "target.resource.attribute.labels".
  • Mappage de "configurationItems.availabilityZone" sur "target.resource.attribute.cloud.availability_zone".
  • "configurationItems.awsRegion" a été mappé sur "target.location.country_or_region".
  • "configurationItems.awsAccountId" a été mappé sur "principal.user.userid".
  • "configurationItems.configuration.activityStreamStatus" a été mappé sur "target.resource.attribute.labels".
  • Mappage de "configurationItems.configuration.allocatedStorage" sur "target.resource.attribute.labels".
  • "configurationItems.configuration.autoMinorVersionUpgrade" a été mappé sur "target.resource.attribute.labels".
  • "configurationItems.configuration.backupRetentionPeriod" a été mappé sur "target.resource.attribute.labels".
  • "configurationItems.configuration.copyTagsToSnapshot" a été mappé sur "target.resource.attribute.labels".
  • "configurationItems.configuration.dbClusterResourceId" a été mappé sur "target.resource.product_object_id".
  • "configurationItems.configuration.masterUsername" a été mappé sur "principal.user.user_display_name".
  • "configurationItems.resourceName" a été mappé sur "target.resource.name".

2022-10-13

  • Pour "eventName": "CreateAccessKey" a mappé le champ "responseElements.accessKey.accessKeyId" sur "target.resource.product_object_id".
  • Pour "eventName": "UpdateAccessKey" a mappé le champ "requestParameters.accessKeyId" sur "target.resource.product_object_id".
  • Pour "eventName": "DeleteAccessKey" a mappé le champ "requestParameters.accessKeyId" sur "target.resource.product_object_id".
  • Pour "eventName": "CreateUser" a mappé le champ "responseElements.user.userId" sur "target.user.product_object_id".
  • Mappage du champ "eventTime" sur "metadata.collected_timestamp".

2022-07-27

  • Ajout du type d'événement"QueryDatabase" et mappage de ses champs.
  • Conditions modifiées pour principal.ip ou principal.host pour gérer les nouveaux journaux.
  • Modification du mappage de "requestParameters.roleArn", "requestParameters.registryId" et "resources.accountId" de "target.resource.id" à "target.resource.product_object_id".
  • Modification de la condition d'analyse pour "req_params" afin d'extraire les valeurs.

2022-07-08

  • Modification du mappage de "req.requestParameters.roleName" de "target.user.role_name" à "target.user.attribute.roles".

2022-07-06

  • Modification de la mise en correspondance de "req.awsRegion" de "_principal.location.country_or_region" à "_principal.location.name".
  • Modification de la valeur de "event_type" de "GENERIC_EVENT" à "USER_LOGIN" pour le nom de l'événement "AssumeRole".
  • Modification de l'attribut event_type de "GENERIC_EVENT" en "USER_RESOURCE_ACCESS" pour le nom d'événement "PutImage", "GetDownloadUrlForLayer" ou "BatchGetImage".
  • Modification de l'attribut event_type de "GENERIC_EVENT" en "USER_RESOURCE_DELETION" pour l'attribut eventName "DeleteNetworkInterface".

2022-06-06

  • Pour l'événement "CreateUser/DeleteUser", la condition modifiée pour gérer le mappage de la source en tant que mappage existant a échoué pour les nouveaux journaux.
  • Modification du champ puserId pour gérer le nouveau journal non analysé.

2022-05-27

  • Amélioration de la mise en correspondance des éléments de journaux bruts suivants avec les éléments UDM:
  • "awsAccountId" mappé sur "target.user.group_identifiers".
  • "digestS3Bucket" mappé sur "target.resource.name".
  • "digestS3Object" mappé sur "target.file.full_path".
  • "previousDigestHashValue" mappé sur "target.file.sha256".
  • "digestSignatureAlgorithm" mappé sur "event.idm.read_only_udm.additional.fields".
  • "digestPublicKeyFingerprint" mappé sur "event.idm.read_only_udm.additional.fields".
  • "logFiles.s3Bucket" mappé sur "about_resource.resource.name".
  • "logFiles.s3Object" mappé sur "about_resource.file.full_path".
  • "logFiles.hashValue" mappé sur "about_resource.file.sha256".

2022-05-27

  • Amélioration : modification de la valeur stockée dans metadata.product_name pour qu'elle soit "AWS CloudTrail".

2022-04-13

  • Amélioration de la mise en correspondance des éléments de journaux bruts suivants avec des éléments UDM:
  • Champ mappé "requestParameters.PublicAccessBlockConfiguration.IgnorePublicAcls", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.RestrictPublicBuckets", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.BlockPublicPolicy", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.BlockPublicAcls", "requestParameters.CreateAccessPointRequest.PublicAccessBlockConfiguration.IgnorePublicAcls", "additionalEventData.configRuleInputParameters.RestrictPublicBuckets", "additionalEventData.configRuleInputParameters.BlockPublicPolicy", "additionalEventData.configRuleInputParameters.BlockPublicAcls", "additionalEventData.configRuleInputParameters.IgnorePublicAcls" à "target.resource.attribute.labels".