Enregistrement CodePipeline API des appels avec AWS CloudTrail - AWS CodePipeline

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.

Enregistrement CodePipeline API des appels avec AWS CloudTrail

AWS CodePipeline est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un Service AWS utilisateur CodePipeline ;. CloudTrail capture tous les API appels CodePipeline sous forme d'événements. Les appels capturés incluent des appels provenant de la CodePipeline console et des appels de code vers les CodePipeline API opérations. Si vous créez un suivi, vous pouvez activer la diffusion continue d' CloudTrail événements vers un compartiment Amazon S3, y compris les événements pour CodePipeline. Si vous ne configurez pas de suivi, vous pouvez toujours consulter les événements les plus récents dans la CloudTrail console dans Historique des événements. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été faite CodePipeline, l'adresse IP à partir de laquelle la demande a été faite, qui a fait la demande, quand elle a été faite et des détails supplémentaires.

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

CodePipeline informations dans CloudTrail

CloudTrail est activé sur votre compte Compte AWS lorsque vous créez le compte. Lorsqu'une activité se produit dans CodePipeline, cette activité est enregistrée dans un CloudTrail événement avec d'autres Service AWS événements dans l'historique des événements. Vous pouvez consulter, rechercher et télécharger les événements récents dans votre AWS compte. Pour plus d'informations, consultez la section Affichage des événements avec l'historique des CloudTrail événements.

Pour un enregistrement continu des événements de votre région Compte AWS , y compris des événements pour CodePipeline, créez un parcours. Un suivi permet CloudTrail de fournir des fichiers journaux à un compartiment Amazon S3. Par défaut, lorsque vous créez un parcours dans la console, celui-ci s'applique à toutes les AWS régions. Le journal enregistre les événements de toutes les régions de la AWS partition et transmet les fichiers journaux au compartiment Amazon S3 que vous spécifiez. En outre, vous pouvez en configurer d'autres Services AWS pour analyser plus en détail les données d'événements collectées dans les CloudTrail journaux et agir en conséquence. Pour plus d’informations, consultez les ressources suivantes :

Toutes les CodePipeline actions sont enregistrées CloudTrail et documentées dans la CodePipeline APIréférence. Par exemple, les appels au CreatePipeline GetPipelineExecution et les UpdatePipeline actions génèrent des entrées dans les fichiers CloudTrail journaux.

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é faite avec les informations d'identification root ou AWS Identity and Access Management (IAM).

  • Si la demande a été effectuée avec les informations d’identification de sécurité temporaires d’un rôle ou d’un utilisateur fédéré.

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

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

Comprendre les entrées du fichier CodePipeline journal

Un suivi est une configuration qui permet de transmettre des événements sous forme de fichiers journaux à un compartiment Amazon S3 que vous spécifiez. CloudTrail les fichiers journaux contiennent une ou plusieurs entrées de journal. Un événement représente une demande unique provenant de n'importe quelle source et inclut des informations sur l'action demandée, la date et l'heure de l'action, les paramètres de la demande, etc. CloudTrail les fichiers journaux ne constituent pas une trace ordonnée des API appels publics, ils n'apparaissent donc pas dans un ordre spécifique.

L'exemple suivant montre une entrée de CloudTrail journal pour un événement de pipeline de mise à jour, dans lequel un pipeline nommé MyFirstPipeline a été modifié par l'utilisateur nommé JaneDoe, CodePipeline avec l'ID de compte 80398EXAMPLE. L'utilisateur a changé le nom de l'étape source d'un pipeline, de Source à MySourceStage. Étant donné que les responseElements éléments requestParameters et les éléments du CloudTrail journal contiennent la structure complète du pipeline modifié, ces éléments ont été abrégés dans l'exemple suivant. L'accent a été mis sur la portion requestParameters du pipeline où la modification s'est produite, le numéro de version précédente du pipeline, et la partie responseElements, qui affiche le numéro de version incrémenté d'un niveau. Les parties modifiées sont marquées d'ellipses (...) pour mettre en évidence l'endroit où les données sont le plus nombreuses dans une entrée de journal réel.

{ "eventVersion":"1.03", "userIdentity": { "type":"IAMUser", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:iam::80398EXAMPLE:user/JaneDoe-CodePipeline", "accountId":"80398EXAMPLE", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"JaneDoe-CodePipeline", "sessionContext": { "attributes":{ "mfaAuthenticated":"false", "creationDate":"2015-06-17T14:44:03Z" } }, "invokedBy":"signin.amazonaws.com"}, "eventTime":"2015-06-17T19:12:20Z", "eventSource":"codepipeline.amazonaws.com", "eventName":"UpdatePipeline", "awsRegion":"us-east-2", "sourceIPAddress":"192.0.2.64", "userAgent":"signin.amazonaws.com", "requestParameters":{ "pipeline":{ "version":1, "roleArn":"arn:aws:iam::80398EXAMPLE:role/CodePipeline_Service_Role", "name":"MyFirstPipeline", "stages":[ { "actions":[ { "name":"MySourceStage", "actionType":{ "owner":"AWS", "version":"1", "category":"Source", "provider":"S3" }, "inputArtifacts":[], "outputArtifacts":[ {"name":"MyApp"} ], "runOrder":1, "configuration":{ "S3Bucket":"amzn-s3-demo-source-bucket", "S3ObjectKey":"sampleapp_linux.zip" } } ], "name":"Source" }, (...) }, "responseElements":{ "pipeline":{ "version":2, (...) }, "requestID":"2c4af5c9-7ce8-EXAMPLE", "eventID":""c53dbd42-This-Is-An-Example"", "eventType":"AwsApiCall", "recipientAccountId":"80398EXAMPLE" } ] }