AWS CodeCommit n'est plus disponible pour les nouveaux clients. Les clients existants de AWS CodeCommit peuvent continuer à utiliser le service normalement. En savoir plus »
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 CodeCommit avec AWS CloudTrail
CodeCommit est intégré àAWS CloudTrail, service qui enregistre les actions accomplies par un utilisateur, un rôle ou unAWS service dans le CodeCommit. CloudTrail Entrées de code API en CodeCommit tant qu'événements, y compris les appels depuis la CodeCommit console, votre client Git et les appels de code vers les CodeCommit API. Si vous créez un journal d'activité, vous pouvez activer la livraison continue d' CloudTrail événements à un compartiment Amazon S3 S3, y compris des événements pour CodeCommit. Si vous ne configurez pas de journal d'activité, vous pouvez toujours afficher les événements les plus récents dans la CloudTrail console dans Event history (Historique des événements). Les informations collectées par CloudTrail, vous permettent de déterminer quelle demande a été envoyée à CodeCommit, l'adresse IP source à partir de laquelle la demande a été effectuée, qui a effectué la demande, quand, ainsi que d'autres informations.
Pour en savoir plus CloudTrail, consultez le Guide deAWS CloudTrail l'utilisateur.
CodeCommit informations dans CloudTrail
CloudTrail est activé dans votre compte Amazon Web Services Web Services lors de la création de ce dernier. Lorsqu'une activité se produit dans CodeCommit, cette activité est enregistrée dans un CloudTrail événement avec d'autres événements deAWS services dans Event history (Historique des événements). Vous pouvez afficher, rechercher et télécharger les événements récents dans votre compte Amazon Web Services. Pour de plus amples informations, veuillez consulter Affichage des événements avec l'historique des CloudTrail événements avec l'historique des événements.
Pour un enregistrement continu des événements dans votre compte Amazon Web Services Services, y compris les événements pour CodeCommit, créez un journal d'activité. Un journal de suivi permet CloudTrail de livrer des fichiers journaux vers un compartiment Amazon S3 S3 S3. Par défaut, lorsque vous créez un journal d'activité dans la console, il s'applique à toutes les régions. Le journal d'activité 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'autresAWS services pour analyser en profondeur les données d'événement collectées dans les CloudTrail journaux et agir sur celles-ci. Pour plus d'informations, veuillez consulter les rubriques :
Lorsque la CloudTrail journalisation est activée dans votre compte Amazon Web Services Web Services, les appels d'API passés aux CodeCommit actions sont suivis dans des fichiers CloudTrail journaux, où ils sont consignés avec d'autres enregistrements deAWS services. CloudTrail détermine quand créer un fichier et y consigner des données en fonction d'une période et d'une taille de fichier.
Toutes les CodeCommit actions sont enregistrées CloudTrail, y compris certaines (telles queGetObjectIdentifier
) qui ne sont pas actuellement documentées dans la référence de l'AWS CodeCommitAPI, mais qui sont plutôt référencées en tant qu'autorisations d'accès et documentées dansRéférence des autorisations CodeCommit. Par exemple, les appels aux actionsListRepositories
(in theAWS CLI,aws codecommit
list-repositories
),CreateRepository
(aws
codecommit create-repository
) etPutRepositoryTriggers
(aws codecommit put-repository-triggers
) génèrent des entrées dans les fichiers CloudTrail journaux, ainsi que les appels du client Git àGitPull
etGitPush
. En outre, si vous avez configuré un CodeCommit référentiel en tant que source pour un pipeline CodePipeline, vous verrez des appels pour CodeCommit accéder à des actions d'autorisation, telles queUploadArchive
from CodePipeline. Dans la mesure où CodeCommit utilise AWS Key Management Service pour chiffrer et déchiffrer les référentiels, vous verrez aussi des appels d' CodeCommit aux actions Encrypt
et Decrypt
depuis AWS KMS dans les journaux CloudTrail .
Chaque entrée du journal contient des informations sur la personne qui a généré la demande. Les informations d'identité de l'utilisateur dans l'entrée de journal permettent de déterminer les éléments suivants :
-
Si la demande a été effectuée avec des informations d'identification d'utilisateur racine ou IAM.
-
Si la demande a été effectuée avec des informations d'identification de sécurité temporaires pour un rôle assumé ou par un utilisateur fédéré
-
Si la demande a été effectuée par un autre service AWS
Pour plus d'informations, consultez la section Élément userIdentity CloudTrail .
Vous pouvez stocker vos fichiers journaux dans votre compartiment Amazon S3 aussi longtemps que vous le souhaitez, mais vous pouvez également définir des règles de cycle de vie Amazon S3 pour archiver ou supprimer automatiquement les fichiers journaux Amazon S3 S3 pour archiver ou supprimer automatiquement les fichiers journaux Amazon S3. Par défaut, vos fichiers journaux sont chiffrés avec le chiffrement côté serveur (SSE) d'Amazon S3 S3 côté serveur (SSE) d'Amazon S3 S3.
Présentation des entrées des entrées des fichiers CodeCommit journaux
CloudTrail Les fichiers journaux peuvent contenir une ou plusieurs entrées de journal. Chaque entrée répertorie plusieurs événements au format JSON. Un événement de journal représente une demande individuelle émise à partir d'une source quelconque et comprend des informations sur l'action demandée, la date et l'heure de l'action, les paramètres de la demande, etc. Les entrées de journal ne sont pas des arborescences des appels de procédure des appels d'API publique. Elles ne s'affichent donc dans aucun ordre précis.
Note
Cet exemple a été mis en forme pour faciliter sa lecture. Dans un fichier CloudTrail journal, toutes les entrées de journal et tous les événements sont concaténés sur une seule ligne. Cet exemple se limite également à une seule CodeCommit entrée de journal. Dans un véritable fichier CloudTrail journal, vous pouvez voir des entrées et des événements provenant de plusieursAWS services.
Table des matières
- Exemple : une entrée de journal pour répertorier CodeCommit les référentiels
- Exemple : une entrée de journal pour créer un CodeCommit référentiel
- Exemples : Entrées de journal pour les appels d'extraction Git vers un référentiel CodeCommit
- Exemple : une entrée de journal pour un transfert réussi vers un CodeCommit référentiel
Exemple : une entrée de journal pour répertorier CodeCommit les référentiels
L'exemple suivant montre une entrée de CloudTrail journal qui illustre l'ListRepositories
action.
Note
Bien queListRepositories
renvoie une liste de référentiels, les réponses non modifiables ne sont pas enregistrées dans CloudTrail les journaux etresponseElements
sont donc affichées commenull
dans le fichier journal.
{ "eventVersion":"1.05", "userIdentity": { "type":"IAMUser", "principalId":"AIDACKCEVSQ6C2EXAMPLE", "arn":"arn:aws:iam::444455556666:user/Mary_Major", "accountId":"444455556666", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime":"2016-12-14T17:57:36Z", "eventSource":"codecommit.amazonaws.com", "eventName":"ListRepositories", "awsRegion":"us-east-1", "sourceIPAddress":"203.0.113.12", "userAgent":"aws-cli/1.10.53 Python/2.7.9 Windows/8 botocore/1.4.43", "requestParameters":null, "responseElements":null, "requestID":"cb8c167e-EXAMPLE", "eventID":"e3c6f4ce-EXAMPLE", "readOnly":true, "eventType":"AwsApiCall", "apiVersion":"2015-04-13", "recipientAccountId":"444455556666" }
Exemple : une entrée de journal pour créer un CodeCommit référentiel
L'exemple suivant montre une entrée de CloudTrail journal qui illustre l'CreateRepository
action dans la région USA Est (Ohio).
{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "CreateRepository", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "aws-cli/1.10.53 Python/2.7.9 Windows/8 botocore/1.4.43", "requestParameters": { "repositoryDescription": "Creating a demonstration repository.", "repositoryName": "MyDemoRepo" }, "responseElements": { "repositoryMetadata": { "arn": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "creationDate": "Dec 14, 2016 6:19:14 PM", "repositoryId": "8afe792d-EXAMPLE", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryName": "MyDemoRepo", "accountId": "111122223333", "cloneUrlHttp": "https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryDescription": "Creating a demonstration repository.", "lastModifiedDate": "Dec 14, 2016 6:19:14 PM" } }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": false, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "apiVersion": "2015-04-13", "recipientAccountId": "111122223333" }
Exemples : Entrées de journal pour les appels d'extraction Git vers un référentiel CodeCommit
L'exemple suivant montre une entrée de CloudTrail journal qui illustre l'GitPull
action à l'endroit où se trouve déjà le dépôt local up-to-date.
{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPull", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.11.0.windows.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "dataTransferred": false, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": true, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
L'exemple suivant montre une entrée de CloudTrail journal qui montre l'GitPull
action lorsque le référentiel local ne se trouve pas up-to-date . Les données sont donc transférées du CodeCommit référentiel vers le référentiel local.
{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPull", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "capabilities": [ "multi_ack_detailed", "side-band-64k", "thin-pack" ], "dataTransferred": true, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", "shallow": false }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": true, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
Exemple : une entrée de journal pour un transfert réussi vers un CodeCommit référentiel
L'exemple suivant montre une entrée de CloudTrail journal qui illustre uneGitPush
action réussie. En cas de transfert réussi, l'action GitPush
apparaît deux fois dans une entrée de journal.
{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPush", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "dataTransferred": false, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": false, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }, { "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPush", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": { "references": [ { "commit": "100644EXAMPLE", "ref": "refs/heads/main" } ] }, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "capabilities": [ "report-status", "side-band-64k" ], "dataTransferred": true, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": false, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }