Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Protokollierung AWS CodeCommit API-Aufrufe mit AWS CloudTrail
CodeCommit ist in einen Dienst integriert AWS CloudTrail, der eine Aufzeichnung der von einem Benutzer, einer Rolle oder einem AWS Dienst ausgeführten Aktionen bereitstellt CodeCommit. CloudTrail erfasst alle API-Aufrufe CodeCommit als Ereignisse, einschließlich Aufrufe von der CodeCommit Konsole, Ihrem Git-Client und von Codeaufrufen an die CodeCommit APIs. Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Übertragung von CloudTrail Ereignissen an einen Amazon S3-Bucket aktivieren, einschließlich Ereignissen für CodeCommit. Wenn Sie keinen Trail konfigurieren, können Sie trotzdem die neuesten Ereignisse in der CloudTrail Konsole im Event-Verlauf einsehen. Anhand der gesammelten Informationen können Sie ermitteln CloudTrail, an welche Anfrage gestellt wurde CodeCommit, von welcher IP-Adresse aus die Anfrage gestellt wurde, wer die Anfrage gestellt hat, wann sie gestellt wurde und weitere Details.
Weitere Informationen CloudTrail dazu finden Sie im AWS CloudTrail Benutzerhandbuch.
CodeCommit Informationen in CloudTrail
CloudTrail ist in Ihrem Amazon Web Services-Konto aktiviert, wenn Sie das Konto erstellen. Wenn eine Aktivität stattfindet CodeCommit, wird diese Aktivität zusammen mit anderen CloudTrail AWS Serviceereignissen im Veranstaltungsverlauf in einem Ereignis aufgezeichnet. Sie können die neusten Ereignisse in Ihrem Amazon Web Services-Konto anzeigen, suchen und herunterladen. Weitere Informationen finden Sie unter Ereignisse mit dem CloudTrail Ereignisverlauf anzeigen.
Für eine fortlaufende Aufzeichnung der Ereignisse in Ihrem Amazon Web Services-Konto, einschließlich der Ereignisse für CodeCommit, erstellen Sie einen Trail. Ein Trail ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen Amazon S3-Bucket. Wenn Sie einen Trail in der Konsole anlegen, gilt dieser für alle -Regionen. Der Trail protokolliert Ereignisse aus allen Regionen der AWS Partition und übermittelt die Protokolldateien an den von Ihnen angegebenen Amazon S3-Bucket. Darüber hinaus können Sie andere AWS Dienste konfigurieren, um die in den CloudTrail Protokollen gesammelten Ereignisdaten weiter zu analysieren und darauf zu reagieren. Weitere Informationen finden Sie unter:
Wenn die CloudTrail Protokollierung in Ihrem Amazon Web Services-Konto aktiviert ist, werden API-Aufrufe an CodeCommit Aktionen in CloudTrail Protokolldateien aufgezeichnet, wo sie zusammen mit anderen AWS Serviceaufzeichnungen geschrieben werden. CloudTrail bestimmt anhand eines Zeitraums und einer Dateigröße, wann eine neue Datei erstellt und in sie geschrieben werden muss.
Alle CodeCommit Aktionen werden protokolliert CloudTrail, einschließlich einiger (z. B.GetObjectIdentifier), die derzeit nicht in der AWS CodeCommit API-Referenz dokumentiert sind, sondern stattdessen als Zugriffsberechtigungen referenziert und in dokumentiert sindCodeCommit Referenz zu den Berechtigungen. Beispielsweise generieren Aufrufe der Aktionen ListRepositories (in den AWS CLI,aws codecommit
list-repositories), CreateRepository (aws
codecommit create-repository) und PutRepositoryTriggers (aws codecommit put-repository-triggers) Einträge in den CloudTrail Logdateien, ebenso wie Git-Client-Aufrufe an GitPull undGitPush. Wenn du ein CodeCommit Repository als Quelle für eine Pipeline in konfiguriert hast CodePipeline, siehst du außerdem Aufrufe für CodeCommit Zugriffsberechtigungsaktionen wie UploadArchive von CodePipeline. Da es AWS Key Management Service zum Verschlüsseln und Entschlüsseln von Repositorys CodeCommit verwendet wird, werden in den Protokollen auch Aufrufe von CodeCommit an Encrypt und Decrypt Aktionen von AWS KMS angezeigt. CloudTrail
Jeder Protokolleintrag enthält Informationen über den Ersteller der Anforderung. Der Benutzeridentität im Protokolleintrag können Sie folgende Informationen entnehmen:
-
Ob die Anfrage mit Root- oder IAM-Benutzer-Anmeldeinformationen ausgeführt wurde
-
Ob die Anfrage mit temporären Sicherheitsanmeldeinformationen für eine Funktion oder einen verbundenen Benutzer oder von einer angenommenen Rolle getätigt wurde
-
Ob die Anfrage von einem anderen Dienst gestellt wurde AWS
Weitere Informationen finden Sie unter CloudTrail userIdentity-Element.
Sie können Ihre Protokolldateien so lange in Ihrem Amazon S3-Bucket speichern, wie Sie möchten, aber Sie können auch Amazon S3-Lebenszyklusregeln definieren, um Protokolldateien automatisch zu archivieren oder zu löschen. Standardmäßig werden die Protokolldateien mit serverseitiger Amazon-S3-Verschlüsselung (SSE) verschlüsselt.
Grundlegendes zu CodeCommit Protokolldateieinträgen
CloudTrail Protokolldateien können einen oder mehrere Protokolleinträge enthalten. Jeder Eintrag listet mehrere JSON-formatted Ereignisse auf. Ein Protokollereignis stellt eine einzelne Anforderung aus einer beliebigen Quelle dar und enthält unter anderem Informationen über die angeforderte Aktion, das Datum und die Uhrzeit der Aktion sowie über die Anforderungsparameter. Protokolleinträge sind kein geordnetes Stacktrace der öffentlichen API-Aufrufe und erscheinen daher nicht in einer bestimmten Reihenfolge.
Anmerkung
Dieses Beispiel wurde zur Verbesserung der Lesbarkeit formatiert. In einer CloudTrail Protokolldatei werden alle Einträge und Ereignisse in einer einzigen Zeile zusammengefasst. Dieses Beispiel wurde ebenfalls auf einen einzigen Eintrag beschränkt. CodeCommit In einer echten CloudTrail Protokolldatei sehen Sie Einträge und Ereignisse von mehreren AWS Diensten.
Inhalt
Beispiel: Ein Logeintrag zum Auflisten von CodeCommit Repositorys
Das folgende Beispiel zeigt einen CloudTrail Logeintrag, der die ListRepositories Aktion veranschaulicht.
Anmerkung
Obwohl eine Liste von Repositorys ListRepositories zurückgegeben wird, werden nicht veränderbare Antworten nicht in CloudTrail Protokollen aufgezeichnet, sondern wie null in der Protokolldatei angezeigt. responseElements
{ "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" }
Beispiel: Ein Logeintrag zum Erstellen eines Repositorys CodeCommit
Das folgende Beispiel zeigt einen CloudTrail Logeintrag, der die CreateRepository Aktion in der Region USA Ost (Ohio) veranschaulicht.
{ "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" }
Beispiele: Logeinträge für Git-Pull-Aufrufe an ein CodeCommit Repository
Das folgende Beispiel zeigt einen CloudTrail Logeintrag, der die GitPull Aktion veranschaulicht, bei der das lokale Repo bereits aktuell ist.
{ "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" }
Das folgende Beispiel zeigt einen CloudTrail Logeintrag, der die GitPull Aktion veranschaulicht, bei der das lokale Repo nicht aktuell ist und daher Daten vom CodeCommit Repository zum lokalen Repo übertragen werden.
{ "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" }
Beispiel: Ein Logeintrag für einen erfolgreichen Push in ein Repository CodeCommit
Das folgende Beispiel zeigt einen CloudTrail Logeintrag, der eine erfolgreiche GitPush Aktion demonstriert. Die Aktion GitPush wird im Protokoll bei einem erfolgreichen Push-Vorgang zweimal angezeigt.
{ "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" }