Journalisation des appels d'API Amazon Cognito avec AWS CloudTrail - Amazon Cognito

Journalisation des appels d'API Amazon Cognito avec AWS CloudTrail

Amazon Cognito est intégré avec AWS CloudTrail, un service qui enregistre les actions effectuées par un utilisateur, un rôle ou un service AWS dans Amazon Cognito. CloudTrail capture un sous-ensemble d'appels d'API pour Amazon Cognito en tant qu'événements, y compris des appels à partir de la console Amazon Cognito, et des appels de code à des opérations d'API Amazon Cognito. Si vous créez un journal d'activité, vous pouvez activer la livraison continue des événements CloudTrail à un compartiment Amazon S3, y compris des événements pour Amazon Cognito. Si vous ne configurez pas de journal d'activité, vous pouvez toujours afficher les événements les plus récents dans la console CloudTrail dans Event history (Historique des événements). Avec les informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été envoyée à Amazon Cognito, l'adresse IP à partir de laquelle la demande a été effectuée, l'auteur et la date de la demande, ainsi que d'autres informations.

Pour en savoir plus sur CloudTrail, y compris la façon de le configurer et de l'activer, consultez le AWS CloudTrail Guide de l'utilisateur.

Vous pouvez également créer des alarmes Amazon CloudWatch pour des événements CloudTrail spécifiques. Par exemple, vous pouvez configurer CloudWatch pour déclencher une alarme en cas de modification de la configuration d'un groupe d'identités. Pour plus d'informations, consultez Création d'alarmes CloudWatch pour les événements CloudTrail : exemples.

Informations relatives à Amazon Cognito dans CloudTrail

CloudTrail est activé dans votre compte AWS lors de la création de ce dernier. Quand une activité d'événement prise en charge a lieu dans Amazon Cognito, elle est enregistrée dans un événement CloudTrail avec d'autres événements de service AWS dans Event history (Historique des événements). Vous pouvez afficher, rechercher et télécharger les événements récents dans votre compte AWS. Pour plus d'informations, consultez Affichage des événements avec l'historique des événements CloudTrail.

Pour un enregistrement continu des événements dans votre compte AWS, y compris les événements pour Amazon Cognito, créez un journal d'activité. Un journal d'activité permet à CloudTrail de distribuer les fichiers journaux vers Amazon S3 bucket. Par défaut, lorsque vous créez un journal de suivi dans la console, il s'applique à toutes les Régions. Le journal d'activité 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 plus d'informations, consultez :

Groupes d'utilisateurs Amazon Cognito

Amazon Cognito prend en charge la journalisation de toutes les actions répertoriées sur la page Actions de groupe d'utilisateurs en tant qu'événements dans des fichiers journaux CloudTrail. Amazon Cognito enregistre UserSub mais pas UserName dans les journaux CloudTrail pour les demandes spécifiques d'un utilisateur. Vous pouvez trouver un utilisateur pour un UserSub donné en appelant l'API ListUsers, et en utilisant un filtre pour sub.

Note

Les appels d'interface utilisateur hébergée et de fédération ne sont actuellement pas inclus dans CloudTrail.

Identités fédérées Amazon Cognito

Amazon Cognito Sync

Amazon Cognito prend en charge la journalisation de toutes les actions répertoriées sur la page Actions de synchronisation Amazon Cognito en tant qu'événements dans des fichiers journaux CloudTrail.

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é effectuée avec les autorisations utilisateur racine ou IAM.

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

  • Si la requête a été effectuée par un autre service AWS.

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

Exemple : entrées de fichier journal Amazon Cognito

Un journal de suivi est une configuration qui permet d'envoyer des événements sous forme de fichiers journaux à un compartiment Amazon S3 que vous indiquez. Les fichiers journaux CloudTrail peuvent contenir une ou plusieurs entrées. Un événement représente une demande individuelle émise à partir d'une source quelconque et comprend des informations sur l'action demandée, la date et l'heure de l'action, les paramètres de la demande, etc. Les fichiers journaux CloudTrail ne constituent pas une trace de pile ordonnée d'appels d'API publics. Ils ne suivent donc aucun ordre précis.

L'exemple suivant illustre l'entrée de journal d'une demande exécutée pour l'action CreateIdentityPool. Cette demande a été effectuée par un utilisateur IAM prénommé Alice.

{ "eventVersion":"1.03", "userIdentity":{ "type":"IAMUser", "principalId":"PRINCIPAL_ID", "arn":"arn:aws:iam::123456789012:user/Alice", "accountId":"123456789012", "accessKeyId":"['EXAMPLE_KEY_ID']", "userName":"Alice" }, "eventTime":"2016-01-07T02:04:30Z", "eventSource":"cognito-identity.amazonaws.com", "eventName":"CreateIdentityPool", "awsRegion":"us-east-1", "sourceIPAddress":"127.0.0.1", "userAgent":"USER_AGENT", "requestParameters":{ "identityPoolName":"TestPool", "allowUnauthenticatedIdentities":true, "supportedLoginProviders":{ "graph.facebook.com":"000000000000000" } }, "responseElements":{ "identityPoolName":"TestPool", "identityPoolId":"us-east-1:1cf667a2-49a6-454b-9e45-23199EXAMPLE", "allowUnauthenticatedIdentities":true, "supportedLoginProviders":{ "graph.facebook.com":"000000000000000" } }, "requestID":"15cc73a1-0780-460c-91e8-e12ef034e116", "eventID":"f1d47f93-c708-495b-bff1-cb935a6064b2", "eventType":"AwsApiCall", "recipientAccountId":"123456789012" }