Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Création d'une table pour les CloudTrail journaux dans Athena à l'aide du partitionnement manuel

Mode de mise au point
Création d'une table pour les CloudTrail journaux dans Athena à l'aide du partitionnement manuel - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vous pouvez créer manuellement des tables pour les fichiers CloudTrail journaux dans la console Athena, puis exécuter des requêtes dans Athena.

Pour créer une table Athena pour un CloudTrail sentier à l'aide de la console Athena
  1. Copiez et collez l'instruction DDL suivante dans l'éditeur de requêtes de la console Athena, puis modifiez-la selon vos besoins. Notez que, dans la mesure où les fichiers CloudTrail journaux ne constituent pas une trace ordonnée des appels d'API publics, les champs des fichiers journaux n'apparaissent pas dans un ordre spécifique.

    CREATE EXTERNAL TABLE cloudtrail_logs ( eventversion STRING, useridentity STRUCT< type:STRING, principalid:STRING, arn:STRING, accountid:STRING, invokedby:STRING, accesskeyid:STRING, username:STRING, onbehalfof: STRUCT< userid: STRING, identitystorearn: STRING>, sessioncontext:STRUCT< attributes:STRUCT< mfaauthenticated:STRING, creationdate:STRING>, sessionissuer:STRUCT< type:STRING, principalid:STRING, arn:STRING, accountid:STRING, username:STRING>, ec2roledelivery:string, webidfederationdata: STRUCT< federatedprovider: STRING, attributes: map<string,string>> > >, eventtime STRING, eventsource STRING, eventname STRING, awsregion STRING, sourceipaddress STRING, useragent STRING, errorcode STRING, errormessage STRING, requestparameters STRING, responseelements STRING, additionaleventdata STRING, requestid STRING, eventid STRING, resources ARRAY<STRUCT< arn:STRING, accountid:STRING, type:STRING>>, eventtype STRING, apiversion STRING, readonly STRING, recipientaccountid STRING, serviceeventdetails STRING, sharedeventid STRING, vpcendpointid STRING, vpcendpointaccountid STRING, eventcategory STRING, addendum STRUCT< reason:STRING, updatedfields:STRING, originalrequestid:STRING, originaleventid:STRING>, sessioncredentialfromconsole STRING, edgedevicedetails STRING, tlsdetails STRUCT< tlsversion:STRING, ciphersuite:STRING, clientprovidedhostheader:STRING> ) PARTITIONED BY (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/Account_ID/';
    Note

    Nous vous suggérons d'utiliser ce qui org.apache.hive.hcatalog.data.JsonSerDe est indiqué dans l'exemple. Bien que a com.amazon.emr.hive.serde.CloudTrailSerde existe, il ne gère actuellement pas certains des nouveaux CloudTrail champs.

  2. (Facultatif) Supprimez les champs qui ne sont pas nécessaires pour votre table. Si vous ne devez lire qu'un certain ensemble de colonnes, la définition de votre table peut exclure les autres colonnes.

  3. Modifiez s3://amzn-s3-demo-bucket/AWSLogs/Account_ID/ pour pointer vers le compartiment Amazon S3 qui contient les données de journal que vous souhaitez interroger. Cet exemple utilise une valeur LOCATION des journaux pour un compte particulier, mais vous pouvez utiliser le degré de spécificité qui convient à votre application. Par exemple :

    • Pour analyser des données à partir de plusieurs comptes, vous pouvez restaurer le spécificateur LOCATION afin d'indiquer tous les éléments AWSLogs en utilisant LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/'.

    • Pour analyser les données correspondant à une date, un compte et une région spécifiques, utilisez LOCATION 's3://amzn-s3-demo-bucket/123456789012/CloudTrail/us-east-1/2016/03/14/'.

    • Pour analyser les données d'activité du réseau plutôt que les événements de gestion, remplacez /CloudTrail/ la LOCATION clause par/CloudTrail-NetworkActivity/.

    L'utilisation du plus haut niveau dans la hiérarchie des objets vous donne la plus grande flexibilité possible lorsque vous exécutez une requête à l'aide d'Athena.

  4. Vérifiez que les champs sont répertoriés correctement. Pour plus d'informations sur la liste complète des champs d'un CloudTrail enregistrement, consultez la section Contenu de l'CloudTrail enregistrement.

    L'exemple d'CREATE TABLEinstruction de l'étape 1 utilise leHive JSON SerDe. Dans l'exemple, les champs requestparametersresponseelements, et additionaleventdata sont répertoriés sous forme de type STRING dans la requête, mais sont STRUCT des types de données utilisés dans JSON. Ainsi, pour extraire des données de ces champs, utilisez les fonctions JSON_EXTRACT. Pour de plus amples informations, veuillez consulter Extraire des données JSON à partir de chaînes. Pour améliorer les performances, l'exemple partitionne les données par année Région AWS, mois et jour.

  5. Exécutez l'instruction CREATE TABLE dans la console Athena.

  6. Utilisez la commande ALTER TABLE ADD PARTITION pour charger les partitions afin de pouvoir les interroger, comme dans l'exemple suivant.

    ALTER TABLE table_name ADD PARTITION (region='us-east-1', year='2019', month='02', day='01') LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/Account_ID/CloudTrail/us-east-1/2019/02/01/'
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.