Surveillance des appels d'API à Comptes AWS l'aide de la AWS CloudTrail journalisation - Amazon CodeCatalyst

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.

Surveillance des appels d'API à Comptes AWS l'aide de la AWS CloudTrail journalisation

Amazon CodeCatalyst est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un AWS service. CloudTrail capture les appels d'API effectués pour le compte d' CodeCatalyst in connected Comptes AWS sous forme d'événements. Si vous créez un suivi, vous pouvez activer la diffusion continue des CloudTrail événements vers un compartiment S3, y compris les événements pour CodeCatalyst. 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.

CodeCatalyst prend en charge la journalisation des actions suivantes sous forme d'événements dans les fichiers CloudTrail journaux :

Important

Plusieurs comptes peuvent être associés à un espace, mais la CloudTrail journalisation des événements dans les CodeCatalyst espaces et les projets ne s'applique qu'au compte de facturation.

Le compte de facturation de l'espace est le vôtre, Compte AWS qui est débité pour les CodeCatalyst ressources au-delà du niveau AWS gratuit. Plusieurs comptes peuvent être connectés à un espace, tandis qu'un seul compte peut être désigné comme compte de facturation. Le compte de facturation ou les comptes connectés supplémentaires pour l'espace peuvent comporter des rôles IAM utilisés pour déployer des AWS ressources et une infrastructure, comme un cluster Amazon ECS ou un compartiment S3, à partir de CodeCatalyst flux de travail. Vous pouvez utiliser le flux de travail YAML pour identifier Compte AWS celui vers lequel vous avez effectué le déploiement.

Note

AWS les ressources déployées dans des comptes connectés pour les CodeCatalyst flux de travail ne sont pas enregistrées dans le cadre de la CloudTrail journalisation de l' CodeCatalyst espace. Par exemple, CodeCatalyst les ressources incluent un espace ou un projet. AWS les ressources incluent un service Amazon ECS ou une fonction Lambda. CloudTrail la journalisation doit être configurée séparément pour chaque Compte AWS endroit où les ressources sont déployées.

CodeCatalyst la connexion aux comptes connectés inclut les considérations suivantes :

  • L'accès aux CloudTrail événements est géré avec IAM dans le compte connecté et non dans CodeCatalyst.

  • Les connexions tierces, telles que les liens vers un GitHub référentiel, entraîneront l'enregistrement des noms de ressources tierces dans CloudTrail les journaux.

Note

CloudTrail la journalisation des CodeCatalyst événements se fait au niveau de l'espace et n'isole pas les événements en fonction des limites du projet.

Pour plus d'informations CloudTrail, consultez le guide de AWS CloudTrail l'utilisateur.

Note

Cette section décrit la CloudTrail journalisation de tous les événements enregistrés dans un CodeCatalyst espace connecté et de ceux Comptes AWS auxquels il est connecté CodeCatalyst. En outre, pour consulter tous les événements enregistrés dans un CodeCatalyst espace, vous pouvez également utiliser la aws codecatalyst list-event-logs commande AWS CLI et. Pour plus d’informations, consultez Accès aux événements enregistrés à l'aide de la journalisation des événements.

CodeCatalyst événements spatiaux

Les actions CodeCatalyst relatives à la gestion des ressources au niveau de l'espace et au niveau du projet sont enregistrées dans le compte de facturation de l'espace. Pour la CloudTrail journalisation d'un CodeCatalyst espace, les événements sont enregistrés en tenant compte des considérations suivantes.

  • CloudTrail les événements s'appliquent à l'ensemble de l'espace et ne sont pas limités à un seul projet.

  • Lorsque vous vous connectez Compte AWS à un CodeCatalyst espace, les événements enregistrables pour les connexions au compte y sont enregistrés. Compte AWS Une fois cette connexion activée, vous ne pouvez pas la désactiver.

  • Lorsque vous connectez un Compte AWS à un CodeCatalyst espace et que vous le désignez comme compte de facturation pour l'espace, les événements y sont enregistrés Compte AWS. Une fois cette connexion activée, vous ne pouvez pas la désactiver.

    Les événements relatifs aux ressources au niveau de l'espace et au niveau du projet sont enregistrés uniquement dans le compte de facturation. Pour modifier le compte de CloudTrail destination, mettez à jour le compte de facturation dans CodeCatalyst. Au début du cycle de facturation mensuel suivant, la modification prend effet pour le nouveau compte de facturation dans CodeCatalyst. Ensuite, le compte de CloudTrail destination est mis à jour.

Vous trouverez ci-dessous des exemples d'événements liés à AWS des actions de gestion des ressources au niveau CodeCatalyst de l'espace et au niveau du projet. Les API suivantes sont publiées via le SDK et la CLI. Les événements seront enregistrés sur le compte de facturation Compte AWS indiqué pour l' CodeCatalyst espace.

CodeCatalyst connexions aux comptes et événements de facturation

Voici des exemples d'événements liés à AWS des actions liées à des connexions CodeCatalyst de comptes ou à la facturation :

  • AcceptConnection

  • AssociateIAMRoletoConnection

  • DeleteConnection

  • DissassociateIAMRolefromConnection

  • GetBillingAuthorization

  • GetConnection

  • GetPendingConnection

  • ListConnections

  • ListIAMRolesforConnection

  • PutBillingAuthorization

  • RejectConnection

CodeCatalyst informations dans CloudTrail

CloudTrail est activé Compte AWS lorsque vous créez ce compte. Lorsque vous le connectez Compte AWS à un CodeCatalyst espace, les événements qui se produisent dans cet espace et qui Compte AWS sont connectés se CloudTrail connectent à ce compte AWS. Les événements enregistrables CodeCatalyst sont enregistrés sous forme d' CloudTrail événements dans CloudTrail les journaux du compte connecté et dans l'historique des événements de la CloudTrail console, ainsi que d'autres AWS événements enregistrables dans ce compte.

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 par un utilisateur avec son identifiant AWS Builder.

  • Si la demande a été faite avec les informations d'identification de l'utilisateur 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 demande a été faite par un autre AWS service.

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

Accès aux CloudTrail événements

Pour un enregistrement continu des événements survenus dans votre région Compte AWS, y compris des événements liés aux CodeCatalyst activités qui s'y déroulent Compte AWS, créez un parcours. Un journal permet CloudTrail de fournir des fichiers journaux à un compartiment S3. Par défaut, lorsque vous créez un journal d’activité dans la console, il s’applique à toutes les régions Régions AWS. Le journal enregistre les événements de toutes les régions de la AWS partition et transmet les fichiers journaux au compartiment S3 que vous spécifiez. En outre, vous pouvez configurer d'autres AWS services 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 :

Un suivi est une configuration qui permet de transmettre des événements sous forme de fichiers journaux à un compartiment 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 appels d'API publics, ils n'apparaissent donc pas dans un ordre spécifique.

Exemple d'événement de connexion à un CodeCatalyst compte dans AWS

L'exemple suivant montre une entrée de CloudTrail journal illustrant l'ListConnectionsaction. Pour un Compte AWS utilisateur connecté à l'espace, ListConnections il est utilisé pour afficher toutes les connexions au compte CodeCatalyst à cet effet Compte AWS. L'événement sera enregistré à l' Compte AWS adresse spécifiéeaccountId, et la valeur du arn sera le Amazon Resource Name (ARN) du rôle utilisé pour l'action.

{ "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" }

Exemple d'événement CodeCatalyst relatif aux ressources d'un projet dans AWS

L'exemple suivant montre une entrée de CloudTrail journal illustrant l'CreateDevEnvironmentaction. Un Compte AWS compte connecté à l'espace et constituant le compte de facturation désigné pour l'espace est utilisé pour les événements au niveau du projet dans l'espace, tels que la création d'un environnement de développement.

SoususerIdentity, dans le accountId champ, il s'agit de l'ID de compte IAM Identity Center (432677196278) qui héberge le pool d'identités pour toutes les identités AWS Builder ID. Cet identifiant de compte contient les informations suivantes sur l' CodeCatalyst utilisateur associé à l'événement.

  • Le type champ indique le type d'entité IAM pour la demande. Pour les CodeCatalyst événements relatifs à l'espace et aux ressources du projet, cette valeur estIdentityCenterUser. Le accountId champ indique le compte propriétaire de l'entité utilisée pour obtenir les informations d'identification.

  • Le userId champ contient l'identifiant AWS Builder ID de l'utilisateur.

  • Le identityStoreArn champ contient l'ARN du rôle pour le compte et l'utilisateur de la banque d'identités.

Le recipientAccountId champ contient l'identifiant du compte de facturation de l'espace, avec une valeur d'exemple ici de 111122223333.

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

{ "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" }
Note

Dans certains cas, l'agent utilisateur peut ne pas être connu. Dans ce cas, CodeCatalyst fournira une valeur de Unknown dans le userAgent champ de l' CloudTrail événement.

Consultation des parcours de vos CodeCatalyst événements

Vous pouvez créer et gérer des requêtes pour vos CloudTrail journaux à l'aide d'une table de requêtes dans Amazon Athena. Pour plus d'informations sur la création d'une requête, consultez la section Interrogation des AWS CloudTrail journaux dans le guide de l'utilisateur d'Amazon Athena.