Journalisation des appels d'API AWS AppSync avec AWS CloudTrail - AWS AppSync

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 AppSync avec AWS CloudTrail

AWS AppSync est intégré à AWS CloudTrail, un service qui fournit une registre des actions effectuées par un utilisateur, un rôle ou un service AWS dans AWS AppSync. CloudTrail capture tous les appels d'API pour AWS AppSync en tant qu'événements. Les appels capturés incluent les appels depuis la console AWS AppSync et les appels de code aux API AWS AppSync. Vous pouvez utiliser les informations collectées parCloudTrailpour déterminer la demande qui a été faite àAWS AppSync, l'adresse IP du demandeur, l'auteur de la demande, la date à laquelle elle a été faite et des informations supplémentaires.

Vous pouvez créer unsentierpour permettre la livraison continue deCloudTrailévénements relatifs à un compartiment Amazon Simple Storage Service (Amazon S3), y compris les événements pourAWS AppSync. Si vous ne configurez pas de parcours, vous pouvez toujours consulter les événements les plus récents dansCloudTrailconsole.

Important

Toutes les actions GraphQL ne sont pas enregistrées actuellement. AppSyncn'enregistre pas les actions de requête et de mutation dansCloudTrail.

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

Informations AWS AppSync dans CloudTrail

CloudTrail est activé sur votre compte AWS lorsque vous créez le compte. Dans leCloudTrailconsole enHistorique de l'événement, vous pouvez consulter, rechercher et télécharger les événements récents dans votreAWScompte. Pour plus d'informations, voirAfficher les événements avecCloudTrailHistorique de l'événementdans leAWS CloudTrailGuide de l'utilisateur.

Pour enregistrer en continu les événements dans votre compte AWS, y compris les événements d'AWS AppSync, créez un journal d'activité. Par défaut, lorsque vous créez un journal de suivi dans la console, il s'applique à toutes les régions AWS. Le journal de suivi 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'autres services AWS pour analyser plus en profondeur les données d'événement collectées dans les journaux CloudTrail et agir sur celles-ci. Pour de plus amples informations, veuillez consulter les rubriques suivantes dans le Guide de l'utilisateur AWS CloudTrail :

CloudTrailenregistre toutAWS AppSyncOpérations d'API. Par exemple, les appels auCreateGraphqlApi,CreateDataSource, etListResolversLes API génèrent des entrées dansCloudTrailfichiers journaux. Ces opérations, ainsi que d'autres, sont documentées dans leAWS AppSyncRéférence d'API.

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l'identité vous permettent de déterminer :

  • Si la demande a été effectuée avec les informations d'identification utilisateur racine 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 requête a été effectuée par un autre service AWS.

Pour plus d'informations, voirCloudTrailÉlément UserIdentitydans leAWS CloudTrailGuide de l'utilisateur.

Présentation des AWS AppSync entrées des fichiers journaux

CloudTrailfournit les événements sous forme de fichiers journaux contenant 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'opération demandée, la date et l'heure de l'opération, les paramètres de la demande, etc. Comme ces fichiers journaux ne constituent pas une trace ordonnée des appels d'API publics, ils n'apparaissent pas dans un ordre spécifique.

L'exemple suivantCloudTrailune entrée de journal illustreCreateApiKeyopération.

{ "Records": [{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/Alice", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Alice" }, "eventTime": "2018-01-31T21:49:09Z", "eventSource": "appsync.amazonaws.com", "eventName": "CreateApiKey", "awsRegion": "us-west-2", "sourceIPAddress": "192.2.0.1", "userAgent": "aws-cli/1.11.72 Python/2.7.11 Darwin/16.7.0 botocore/1.5.35", "requestParameters": { "apiId": "a1b2c3d4e5f6g7h8i9jexample" }, "responseElements": { "apiKey": { "id": "***", "expires": 1518037200000 } }, "requestID": "99999999-9999-9999-9999-999999999999", "eventID": "99999999-9999-9999-9999-999999999999", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "111122223333" } ] }

L'exemple suivantCloudTrailune entrée de journal illustreListApiKeysopération.

{ "Records": [{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/Alice", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Alice" }, "eventTime": "2018-01-31T21:49:09Z", "eventSource": "appsync.amazonaws.com", "eventName": "ListApiKeys", "awsRegion": "us-west-2", "sourceIPAddress": "192.2.0.1", "userAgent": "aws-cli/1.11.72 Python/2.7.11 Darwin/16.7.0 botocore/1.5.35", "requestParameters": { "apiId": "a1b2c3d4e5f6g7h8i9jexample" }, "responseElements": { "apiKeys": [ { "id": "***", "expires": 1517954400000 }, { "id": "***", "expires": 1518037200000 }, ] }, "requestID": "99999999-9999-9999-9999-999999999999", "eventID": "99999999-9999-9999-9999-999999999999", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "111122223333" } ] }

L'exemple suivantCloudTrailune entrée de journal illustreDeleteApiKeyopération.

{ "Records": [{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "A1B2C3D4E5F6G7EXAMPLE", "arn": "arn:aws:iam::111122223333:user/Alice", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Alice" }, "eventTime": "2018-01-31T21:49:09Z", "eventSource": "appsync.amazonaws.com", "eventName": "DeleteApiKey", "awsRegion": "us-west-2", "sourceIPAddress": "192.2.0.1", "userAgent": "aws-cli/1.11.72 Python/2.7.11 Darwin/16.7.0 botocore/1.5.35", "requestParameters": { "id": "***", "apiId": "a1b2c3d4e5f6g7h8i9jexample" }, "responseElements": null, "requestID": "99999999-9999-9999-9999-999999999999", "eventID": "99999999-9999-9999-9999-999999999999", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "111122223333" } ] }