Überwachen von API-Aufrufen AWS-Konten mithilfe von AWS CloudTrail Protokollierung - Amazon CodeCatalyst

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.

Überwachen von API-Aufrufen AWS-Konten mithilfe von AWS CloudTrail Protokollierung

Amazon CodeCatalyst ist in einen Service integriert AWS CloudTrail, der eine Aufzeichnung der von einem Benutzer, einer Rolle oder einem ausgeführten Aktionen bereitstellt AWS-Service. CloudTrail erfasst API-Aufrufe, die im Namen von CodeCatalyst in Connected getätigt wurden AWS-Konten , als Ereignisse. Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Bereitstellung von CloudTrail Ereignissen an einen S3-Bucket aktivieren, einschließlich Ereignissen für CodeCatalyst. Wenn Sie keinen Trail konfigurieren, können Sie die neuesten Ereignisse trotzdem in der CloudTrail Konsole im Ereignisverlauf anzeigen.

CodeCatalyst unterstützt die Protokollierung der folgenden Aktionen als Ereignisse in CloudTrail Protokolldateien:

Wichtig

Einem Bereich können zwar mehrere Konten zugeordnet werden, die CloudTrail Protokollierung von Ereignissen in CodeCatalyst Bereichen und Projekten gilt jedoch nur für das Rechnungskonto.

Das Space-Abrechnungskonto gehört Ihnen AWS-Konto , für das CodeCatalyst Ressourcen berechnet werden, die über das AWS kostenlose Kontingent hinausgehen. Es können mehrere Konten mit einem Space verbunden werden, wobei nur ein Konto das angegebene Rechnungskonto sein kann. Das Rechnungskonto oder weitere verbundene Konten für den Bereich können IAM-Rollen haben, die für die Bereitstellung von AWS Ressourcen und Infrastruktur, wie z. B. einem Amazon ECS-Cluster oder S3-Bucket, aus CodeCatalyst Workflows verwendet werden. Sie können das Workflow-YAML verwenden, um das zu identifizieren, für das Sie AWS-Konto die Bereitstellung vorgenommen haben.

Anmerkung

AWS Ressourcen, die in verbundenen Konten für CodeCatalyst Workflows bereitgestellt werden, werden nicht im Rahmen der CloudTrail Protokollierung für den CodeCatalyst Bereich protokolliert. Zu den CodeCatalyst Ressourcen gehören beispielsweise ein Bereich oder ein Projekt. AWS Zu den Ressourcen gehören ein Amazon ECS-Service oder eine Lambda-Funktion. CloudTrail Die Protokollierung muss für jeden Standort, in AWS-Konto dem Ressourcen bereitgestellt werden, separat konfiguriert werden.

CodeCatalyst Die Anmeldung bei verbundenen Konten beinhaltet die folgenden Überlegungen:

  • Der Zugriff auf CloudTrail Ereignisse wird mit IAM im verbundenen Konto verwaltet und nicht in CodeCatalyst.

  • Verbindungen von Drittanbietern, wie z. B. das Verknüpfen mit einem GitHub Repository, führen dazu, dass Ressourcennamen von Drittanbietern in CloudTrail Protokollen aufgezeichnet werden.

Anmerkung

CloudTrail Die Protokollierung von CodeCatalyst Ereignissen erfolgt auf Bereichsebene und isoliert Ereignisse nicht nach Projektgrenzen.

Weitere Informationen zu CloudTrail finden Sie im AWS CloudTrail Benutzerhandbuch.

Anmerkung

In diesem Abschnitt wird die CloudTrail Protokollierung aller Ereignisse beschrieben, die in einem CodeCatalyst Bereich protokolliert wurden und mit AWS-Konten denen eine Verbindung hergestellt wurde CodeCatalyst. Um alle in einem CodeCatalyst Bereich protokollierten Ereignisse zu überprüfen, können Sie außerdem den Befehl AWS CLI und den aws codecatalyst list-event-logs Befehl verwenden. Weitere Informationen finden Sie unter Zugreifen auf protokollierte Ereignisse mithilfe der Ereignisprotokollierung.

CodeCatalyst Ereignisse im Weltraum

Aktionen CodeCatalyst zur Verwaltung von Ressourcen auf Bereichs- und Projektebene werden im Abrechnungskonto für den Bereich protokolliert. Bei der CloudTrail Protokollierung für einen CodeCatalyst Bereich werden Ereignisse unter Berücksichtigung der folgenden Überlegungen protokolliert.

  • CloudTrail Ereignisse gelten für den gesamten Bereich und beziehen sich nicht auf ein einzelnes Projekt.

  • Wenn Sie eine Verbindung AWS-Konto zu einem CodeCatalyst Bereich herstellen, werden protokollierbare Ereignisse für Kontoverbindungen in diesem Bereich protokolliert. AWS-Konto Nachdem Sie diese Verbindung aktiviert haben, können Sie sie nicht mehr deaktivieren.

  • Wenn Sie eine Verbindung AWS-Konto zu einem CodeCatalyst Bereich herstellen und ihn als Rechnungskonto für den Bereich festlegen, werden Ereignisse in diesem AWS-Konto Bereich protokolliert. Nachdem Sie diese Verbindung aktiviert haben, können Sie sie nicht mehr deaktivieren.

    Ereignisse für Ressourcen auf Bereichs- und Projektebene werden nur im Rechnungskonto protokolliert. Um das CloudTrail Zielkonto zu ändern, aktualisieren Sie das Rechnungskonto unter. CodeCatalyst Zu Beginn des nächsten monatlichen Abrechnungszeitraums wird die Änderung für das neue Rechnungskonto in wirksam CodeCatalyst. Danach wird das CloudTrail Zielkonto aktualisiert.

Im Folgenden finden Sie Beispiele für Ereignisse AWS , die sich auf Aktionen CodeCatalyst zur Verwaltung von Ressourcen auf Raum- und Projektebene beziehen. Die folgenden APIs werden über das SDK und die CLI veröffentlicht. Ereignisse werden in dem als Rechnungskonto für den CodeCatalyst Bereich AWS-Konto angegebenen Konto protokolliert.

CodeCatalyst Kontoverbindungen und Abrechnungsereignisse

Im Folgenden finden Sie Beispiele für Ereignisse AWS , die sich auf Aktionen in CodeCatalyst Bezug auf Kontoverbindungen oder Rechnungsstellung beziehen:

  • AcceptConnection

  • AssociateIAMRoletoConnection

  • DeleteConnection

  • DissassociateIAMRolefromConnection

  • GetBillingAuthorization

  • GetConnection

  • GetPendingConnection

  • ListConnections

  • ListIAMRolesforConnection

  • PutBillingAuthorization

  • RejectConnection

CodeCatalyst Informationen in CloudTrail

CloudTrail ist aktiviert, AWS-Konto wenn Sie dieses Konto erstellen. Wenn Sie das AWS-Konto mit einem CodeCatalyst Bereich verbinden, AWS-Konto werden Ereignisse für diesen Bereich, die in diesem Bereich auftreten, in CloudTrail diesem AWS-Konto protokolliert. Protokollierbare Ereignisse CodeCatalyst werden zusammen mit anderen CloudTrail protokollierbaren CloudTrail Ereignissen in diesem Konto als Ereignisse in den AWS Protokollen des verbundenen Kontos und im Ereignisverlauf in der CloudTrail Konsole aufgezeichnet.

Jeder Ereignis- oder Protokolleintrag enthält Informationen zu dem Benutzer, der die Anforderung generiert hat. Die Identitätsinformationen unterstützen Sie bei der Ermittlung der folgenden Punkte:

  • Ob die Anfrage von einem Benutzer mit seiner Builder-ID gestellt wurde. AWS

  • Ob die Anfrage mit Root- oder AWS Identity and Access Management (IAM-) Benutzeranmeldedaten gestellt wurde.

  • Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen Verbundbenutzer gesendet wurde.

  • Ob die Anfrage von einem anderen AWS Dienst gestellt wurde.

Weitere Informationen finden Sie unter dem CloudTrail UserIdentity-Element.

CloudTrail Auf Ereignisse zugreifen

Für eine fortlaufende Aufzeichnung der Ereignisse in Ihrem AWS-Konto, einschließlich der Ereignisse für CodeCatalyst Aktivitäten in der AWS-Konto, erstellen Sie einen Pfad. Ein Trail ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen S3-Bucket. Wenn Sie einen Trail in der Konsole anlegen, gilt dieser für alle AWS-Regionen-Regionen. Der Trail protokolliert Ereignisse aus allen Regionen der AWS Partition und übermittelt die Protokolldateien an den von Ihnen angegebenen 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 hier:

Ein Trail ist eine Konfiguration, die die Übermittlung von Ereignissen als Protokolldateien an einen von Ihnen angegebenen S3-Bucket ermöglicht. CloudTrail Protokolldateien enthalten einen oder mehrere Protokolleinträge. Ein Ereignis stellt eine einzelne Anforderung aus einer beliebigen Quelle dar und enthält Informationen über die angeforderte Aktion, Datum und Uhrzeit der Aktion, Anforderungsparameter usw. CloudTrail Protokolldateien sind kein geordneter Stack-Trace der öffentlichen API-Aufrufe, sodass sie nicht in einer bestimmten Reihenfolge angezeigt werden.

Beispiel für CodeCatalyst ein Kontoverbindungsereignis in AWS

Das folgende Beispiel zeigt einen CloudTrail Protokolleintrag, der die ListConnections Aktion demonstriert. Für ein AWS-Konto , das mit dem Space verbunden ist, ListConnections wird verwendet, um alle Kontoverbindungen CodeCatalyst zu diesem Bereich anzuzeigen AWS-Konto. Das Ereignis wird wie AWS-Konto angegeben protokolliertaccountId, und der Wert von ist der Amazon-Ressourcenname (ARN) der Rolle, die für die Aktion verwendet wurde. arn

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "role-ARN", "accountId": "account-ID", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "role-ARN", "accountId": "account-ID", "userName": "user-name" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-09-06T15:04:31Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-09-06T15:08:43Z", "eventSource": "account-ID", "eventName": "ListConnections", "awsRegion": "us-west-2", "sourceIPAddress": "192.168.0.1", "userAgent": "aws-cli/1.18.147 Python/2.7.18 Linux/5.4.207-126.363.amzn2int.x86_64 botocore/1.18.6", "requestParameters": null, "responseElements": null, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "account-ID", "eventCategory": "Management" }

Beispiel für ein CodeCatalyst Projektressourcen-Ereignis in AWS

Das folgende Beispiel zeigt einen CloudTrail Protokolleintrag, der die CreateDevEnvironment Aktion demonstriert. Ein Konto AWS-Konto , das mit dem Space verbunden ist und das angegebene Rechnungskonto für den Space ist, wird für Ereignisse auf Projektebene in dem Space verwendet, z. B. für die Erstellung einer Entwicklungsumgebung.

UnteruserIdentity, im accountId Feld, ist dies die IAM Identity Center-Konto-ID (432677196278), die den Identitätspool für alle AWS Builder-ID-Identitäten hostet. Diese Konto-ID enthält die folgenden Informationen über den CodeCatalyst Benutzer für das Ereignis.

  • Das type Feld gibt den Typ der IAM-Entität für die Anfrage an. Für CodeCatalyst Ereignisse für Raum- und Projektressourcen ist IdentityCenterUser dieser Wert. Das accountId Feld gibt das Konto an, dem die Entität gehört, die zum Abrufen der Anmeldeinformationen verwendet wurde.

  • Das userId Feld enthält die AWS Builder-ID-ID für den Benutzer.

  • Das identityStoreArn Feld enthält den Rollen-ARN für das Identitätsspeicher-Konto und den Benutzer.

Das recipientAccountId Feld enthält die Konto-ID für das Rechnungskonto für den Space, mit einem Beispielwert hier von 111122223333.

Weitere Informationen finden Sie unter dem CloudTrail UserIdentity-Element.

{ "eventVersion": "1.09", "userIdentity": { "type": "IdentityCenterUser", "accountId": "432677196278", "onBehalfOf": { "userId": "user-ID", "identityStoreArn": "arn:aws:identitystore::432677196278:identitystore/d-9067642ac7" }, "credentialId": "ABCDefGhiJKLMn11Lmn_1AbCDEFgHijk-AaBCdEFGHIjKLmnOPqrs11abEXAMPLE" }, "eventTime": "2023-05-18T17:10:50Z", "eventSource": "codecatalyst.amazonaws.com", "eventName": "CreateDevEnvironment", "awsRegion": "us-west-2", "sourceIPAddress": "192.168.0.1", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0", "requestParameters": { "spaceName": "MySpace", "projectName": "MyProject", "ides": [{ "runtime": "public.ecr.aws/q6e8p2q0/cloud9-ide-runtime:2.5.1", "name": "Cloud9" }], "instanceType": "dev.standard1.small", "inactivityTimeoutMinutes": 15, "persistentStorage": { "sizeInGiB": 16 } }, "responseElements": { "spaceName": "MySpace", "projectName": "MyProject", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 " }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventCategory": "Management" }
Anmerkung

In bestimmten Fällen ist der Benutzeragent möglicherweise nicht bekannt. In diesem Fall CodeCatalyst wird Unknown im userAgent Feld des CloudTrail Ereignisses der Wert von angegeben.

Deine CodeCatalyst Event-Trails werden abgefragt

Sie können Abfragen für Ihre CloudTrail Protokolle mithilfe einer Abfragetabelle in Amazon Athena erstellen und verwalten. Weitere Informationen zum Erstellen einer Abfrage finden Sie unter Abfragen von AWS CloudTrail Protokollen im Amazon Athena Athena-Benutzerhandbuch.