Journalisation des appels d'API AWS Glue avec AWS CloudTrail - AWS Glue

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.

Journalisation des appels d'API AWS Glue avec AWS CloudTrail

AWS Glue est intégré avec ,AWS CloudTrail un service qui fournit un registre des actions prises par un utilisateur, un rôle ou un service AWS dans AWS Glue. CloudTrail capture les appels d'API vers AWS Glue en tant qu'événements. Les appels capturés incluent des appels de la console AWS Glue et les appels de code vers les opérations d'API AWS Glue. Si vous créez un journal d'activité, vous pouvez activer la livraison continue d'événements CloudTrail à un compartiment Amazon S3, y compris des événements pour AWS Glue. Si vous ne configurez pas de journal de suivi, vous pouvez toujours afficher les événements les plus récents dans la console CloudTrail dans Event history (Historique des événements). Avec les informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été envoyée à l'AWS Glue, ainsi que l'adresse IP, l'auteur et date de la demande, ainsi que d'autres détails.

Pour en savoir plus sur CloudTrail, consultez le Guide de l'utilisateur AWS CloudTrail.

AWS Glue Informations dans CloudTrail

CloudTrail est activé dans votre compte AWS lors de sa création. Lorsqu'une activité a lieu dans AWS Glue, cette activité est enregistrée dans un événement CloudTrail avec d'autres AWS événements de service dans Historique des événements. Vous pouvez afficher, rechercher et télécharger les événements récents dans votre compte AWS. Pour plus d'informations, veuillez consulter Affichage des événements avec l'historique des événements CloudTrail.

Pour enregistrer en continu les événements dans votre compte AWS, y compris les événements d'AWS Glue, créez un journal d'activité. Un journal d'activité permet à CloudTrail de distribuer les fichiers journaux vers Amazon S3 bucket. Par défaut, lorsque vous créez un journal de suivi dans la console, il s'applique à toutes les régions AWS. Le journal de suivi consigne les événements de toutes les Régions dans la partition AWS et livre les fichiers journaux dans le compartiment Amazon S3 de votre choix. En outre, vous pouvez configurer d'autres services AWS pour analyser et agir sur les données d'événements collectées dans les journaux CloudTrail. Pour en savoir plus, consultez les ressources suivantes :

Toutes les actions AWS Glue sont consignées par CloudTrail et documentées dans la AWS Glue API. À titre d'exemple, les appels vers les actions CreateDatabase, CreateTable et CreateScript génèrent des entrées dans les fichiers journaux CloudTrail.

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l'identité permettent de déterminer les éléments suivants :

  • Si la demande a été effectuée avec les autorisations utilisateur root ou IAM .

  • Si la demande a été effectuée avec des autorisations de sécurité temporaires pour un rôle ou un utilisateur fédéré.

  • Si la requête a été effectuée par un autre service AWS.

Pour plus d'informations, consultez l'élément userIdentity CloudTrail.

Cependant, CloudTrail n'enregistre pas toutes les informations concernant les appels. Par exemple, il n'enregistre pas certaines informations sensibles, telles que les ConnectionProperties utilisées dans les demandes de connexion, et enregistre une valeur null à la place des réponses renvoyées par les API suivantes :

BatchGetPartition GetCrawlers GetJobs GetTable CreateScript GetCrawlerMetrics GetJobRun GetTables GetCatalogImportStatus GetDatabase GetJobRuns GetTableVersions GetClassifier GetDatabases GetMapping GetTrigger GetClassifiers GetDataflowGraph GetObjects GetTriggers GetConnection GetDevEndpoint GetPartition GetUserDefinedFunction GetConnections GetDevEndpoints GetPartitions GetUserDefinedFunctions GetCrawler GetJob GetPlan

Présentation des AWS Glue entrées des fichiers journaux

Un journal d'activité est une configuration qui permet d'envoyer les événements dans des fichiers journaux à un compartiment Amazon S3 que vous spécifiez. Les fichiers journaux CloudTrail peuvent contenir une ou plusieurs entrées. Un événement représente une demande unique provenant de n'importe quelle source et comprend des informations sur l'action demandée, la date et l'heure de l'action, les paramètres de la requête, etc. Les fichiers journaux CloudTrail ne constituent pas une série ordonnée retraçant les appels d'API publiques. Ils ne suivent aucun ordre précis.

L'exemple suivant montre une entrée de journal CloudTrail qui illustre l'DeleteCrawleraction .

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "johndoe" }, "eventTime": "2017-10-11T22:29:49Z", "eventSource": "glue.amazonaws.com", "eventName": "DeleteCrawler", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.64", "userAgent": "aws-cli/1.11.148 Python/3.6.1 Darwin/16.7.0 botocore/1.7.6", "requestParameters": { "name": "tes-alpha" }, "responseElements": null, "requestID": "b16f4050-aed3-11e7-b0b3-75564a46954f", "eventID": "e73dd117-cfd1-47d1-9e2f-d1271cad838c", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

L'exemple suivant montre une entrée de journal CloudTrail qui illustre l'action CreateConnection.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "johndoe" }, "eventTime": "2017-10-13T00:19:19Z", "eventSource": "glue.amazonaws.com", "eventName": "CreateConnection", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.66", "userAgent": "aws-cli/1.11.148 Python/3.6.1 Darwin/16.7.0 botocore/1.7.6", "requestParameters": { "connectionInput": { "name": "test-connection-alpha", "connectionType": "JDBC", "physicalConnectionRequirements": { "subnetId": "subnet-323232", "availabilityZone": "us-east-1a", "securityGroupIdList": [ "sg-12121212" ] } } }, "responseElements": null, "requestID": "27136ebc-afac-11e7-a7d6-ab217e5c3f19", "eventID": "e8b3baeb-c511-4597-880f-c16210c60a4a", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }