Journalisation des appels d'API Amazon Q Developer à l'aide de AWS CloudTrail - Amazon Q Developer

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 Amazon Q Developer à l'aide de AWS CloudTrail

Amazon Q Developer est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un Service AWS dans Amazon Q. CloudTrail capture tous les appels d'API pour Amazon Q sous forme d'événements. Ces captures incluent les appels de la console Amazon Q et les appels de code vers les opérations d’API Amazon Q. Si vous créez un suivi, vous pouvez activer la diffusion continue des CloudTrail événements vers un compartiment Amazon S3, y compris les événements pour Amazon Q. 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 envoyée à Amazon Q, l'adresse IP à partir de laquelle la demande a été faite, l'auteur de la demande, la date à laquelle elle a été faite, ainsi que des informations supplémentaires.

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

Informations pour les développeurs Amazon Q dans CloudTrail

CloudTrail est activé sur votre compte Compte AWS lorsque vous créez le compte. Lorsqu'une activité a lieu dans Amazon Q Developer, elle 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 Compte AWS. Pour plus d'informations, consultez la section Affichage des événements avec l'historique des CloudTrail événements dans le guide de AWS CloudTrail l'utilisateur.

Pour un enregistrement continu des événements de votre site Compte AWS, y compris des événements pour Amazon Q, 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 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 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 rubriques suivantes dans le AWS CloudTrail Guide de l’utilisateur :

Toutes les actions d'Amazon Q Developer sont enregistrées CloudTrail et 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 de l'utilisateur root ou AWS Identity and Access Management (IAM)

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

  • Si la demande a été faite par un autre Service AWS

Pour plus d'informations, consultez l'élément CloudTrail UserIdentity dans le guide de l'AWS CloudTrail utilisateur.

Comprendre les entrées du fichier journal Amazon Q Developer

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 appels d'API publics, ils n'apparaissent donc pas dans un ordre spécifique.

Amazon Q Developer effectue également des appels d'API avec un dryRun paramètre pour vérifier que vous disposez des autorisations nécessaires pour effectuer l'action, sans réellement effectuer la demande. Les appels aux API Amazon Q Developer avec le dryRun paramètre sont capturés sous forme d'événements et enregistrés "dryRun" : true dans un CloudTrail journal requestParameters sur le terrain.

L'exemple suivant montre une entrée de CloudTrail journal illustrant l'SendMessageaction.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAXD12ABCDEF3G4HI5J:aws-user", "arn": "arn:aws:sts::123456789012:assumed-role/PowerUser/aws-user", "accountId": "123456789012", "accessKeyId": "ASIAAB12CDEFG34HIJK", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAXD12ABCDEF3G4HI5J", "arn": "arn:aws:iam::123456789012:role/PowerUser", "accountId": "123456789012", "userName": "PowerUser" }, "webIdFederationData": {}, "attributes": { "creationDate": "2023-11-28T10:00:00Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-11-28T10:00:00Z", "eventSource": "q.amazonaws.com", "eventName": "SendMessage", "awsRegion": "us-east-1", "sourceIPAddress": "123.456.789.012", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0", "requestParameters": { "Origin": "https://conversational-experience-worker.widget.console.aws.amazon.com", "conversationId": "a298ec0d-0a49-4d2e-92bd-7d6e629b4619", "source": "CONSOLE", "conversationToken": "***", "utterance": "***" }, "responseElements": { "result": { "content": { "text": { "body": "***", "references": [] } }, "format": "PLAINTEXT", "intents": {}, "type": "TEXT" }, "Access-Control-Expose-Headers": "x-amzn-RequestId,x-amzn-ErrorType,x-amzn-ErrorMessage,Date", "metadata": { "conversationExpirationTime": "2024-02-25T19:31:38Z", "conversationId": "a298ec0d-0a49-4d2e-92bd-7d6e629b4619", "conversationToken": "***", "utteranceId": "3b87b46f-04a9-41ef-b8fe-8abf52d2c053" }, "resultCode": "LLM" }, "requestID": "19b3c30e-906e-4b7f-b5c3-509f67248655", "eventID": "a552c487-7d97-403a-8ec4-d49539c7a03d", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }

L'exemple suivant montre une entrée de CloudTrail journal illustrant l'PassRequestaction.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AIDA6ON6E4XEGIEXAMPLE", "arn": "arn:aws:iam::555555555555:user/Mary", "accountId": "555555555555", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDA6ON6E4XEGIEXAMPLE", "arn": "arn:aws:iam::555555555555:user/Mary", "accountId": "555555555555", "userName": "Mary" }, "attributes": { "creationDate": "2024-04-10T20:03:01Z", "mfaAuthenticated": "false" }, "invokedBy": "q.amazonaws.com" }, "eventTime": "2024-04-10T20:04:42Z", "eventSource": "q.amazonaws.com", "eventName": "PassRequest", "awsRegion": "us-east-1", "sourceIPAddress": "q.amazonaws.com", "userAgent": "q.amazonaws.com", "requestParameters": null, "responseElements": null, "requestID": "2d528c76-329e-410b-9516-EXAMPLE565dc", "eventID": "ba0801a1-87ec-4d26-be87-EXAMPLE75bbb", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "555555555555", "eventCategory": "Management" }

L'exemple suivant montre une entrée de CloudTrail journal qui montre qu'Amazon Q appelle l's3:ListBucketsaction en votre nom.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AIDA6ON6E4XEGIEXAMPLE", "arn": "arn:aws:iam::555555555555:user/Paulo", "accountId": "555555555555", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDA6ON6E4XEGIEXAMPLE", "arn": "arn:aws:iam::555555555555:user/Paulo", "accountId": "555555555555", "userName": "Paulo" }, "attributes": { "creationDate": "2024-04-10T14:06:08Z", "mfaAuthenticated": "false" } }, "invokedBy": "q.amazonaws.com" }, "eventTime": "2024-04-10T14:07:55Z", "eventSource": "s3.amazonaws.com", "eventName": "ListBuckets", "awsRegion": "us-east-1", "sourceIPAddress": "q.amazonaws.com", "userAgent": "q.amazonaws.com", "requestParameters": { "Host": "s3.amazonaws.com" }, "responseElements": null, "additionalEventData": { "SignatureVersion": "SigV4", "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256", "bytesTransferredIn": 0, "AuthenticationMethod": "AuthHeader", "x-amz-id-2": "ExampleRequestId123456789", "bytesTransferredOut": 4054 }, "requestID": "ecd94349-b36f-44bf-b6f5-EXAMPLE9c463", "eventID": "2939ba50-1d26-4a5a-83bd-EXAMPLE85850", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "555555555555", "vpcEndpointId": "vpce-EXAMPLE1234", "eventCategory": "Management" }