Création d’une table à des fins de suivi à l’échelle de l’organisation à l’aide du partitionnement manuel - Amazon Athena

Création d’une table à des fins de suivi à l’échelle de l’organisation à l’aide du partitionnement manuel

Pour créer une table pour les fichiers journaux CloudTrail à l'échelle de l'organisation dans Athena, suivez les étapes de Création d’une table pour les journaux CloudTrail dans Athena à l’aide du partitionnement manuel, mais apportez les modifications indiquées dans la procédure suivante.

Pour créer une table Athena pour les journaux CloudTrail à l'échelle de l'organisation
  1. Dans l'instruction CREATE TABLE, modifiez la clause LOCATION pour inclure l'ID de l'organisation, comme dans l'exemple suivant :

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/'
  2. Dans la clause PARTITIONED BY, ajoutez une entrée pour l'ID du compte sous forme de chaîne, comme dans l'exemple suivant :

    PARTITIONED BY (account string, region string, year string, month string, day string)

    L'exemple suivant montre le résultat combiné :

    ... PARTITIONED BY (account string, region string, year string, month string, day string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/'
  3. Dans l'instruction ALTER TABLE, clause ADD PARTITION, incluez l'ID du compte, comme dans l'exemple suivant :

    ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08')
  4. Dans l'instruction ALTER TABLE, clause LOCATION, incluez l'ID de l'organisation, l'ID du compte et la partition que vous voulez ajouter, comme dans l'exemple suivant :

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/us-east-1/2022/08/08/'

    L'exemple suivant de l'instruction ALTER TABLE montre le résultat combiné :

    ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08') LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/111122223333/CloudTrail/us-east-1/2022/08/08/'

Notez que dans une grande organisation, l’utilisation de cette méthode afin d’ajouter et de gérer manuellement une partition pour chaque ID de compte d’organisation peut s’avérer fastidieuse. Dans un tel scénario, pensez à utiliser CloudTrail Lake plutôt qu’Athena. Dans ce type de scénario, CloudTrail Lake offre les avantages suivants :

  • Agrégation automatique des journaux dans l’ensemble de l’organisation

  • Élimination de la nécessité de configurer ou maintenir des partitions ou une table Athena

  • Exécution des requêtes directement dans la console CloudTrail

  • Utilisation d’un langage de requête compatible avec SQL

Pour plus d’informations, consultez Working with AWS CloudTrail Lake dans le Guide d’utilisation d’AWS CloudTrail.