Connexion à Amazon Cognito AWS CloudTrail - Amazon Cognito

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.

Connexion à Amazon Cognito AWS CloudTrail

Amazon Cognito est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions effectuées par un utilisateur, un rôle ou un AWS service dans Amazon Cognito. CloudTrail capture un sous-ensemble d'APIappels pour Amazon Cognito sous forme d'événements, y compris les appels depuis la console Amazon Cognito et les appels de code vers les opérations Amazon Cognito. API Si vous créez un suivi, vous pouvez choisir de transférer des CloudTrail événements vers un compartiment Amazon S3, y compris des événements pour Amazon Cognito. 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 Cognito, 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 en savoir plus CloudTrail, notamment comment le configurer et l'activer, consultez le guide de AWS CloudTrail l'utilisateur.

Vous pouvez également créer des CloudWatch alarmes Amazon pour des CloudTrail événements spécifiques. Par exemple, vous pouvez configurer CloudWatch pour déclencher une alarme si la configuration d'un pool d'identités est modifiée. Pour plus d'informations, voir Création d' CloudWatch alarmes pour CloudTrail des événements : exemples.

Informations envoyées par Amazon Cognito à CloudTrail

CloudTrail est activé lorsque vous créez votre Compte AWS. Lorsqu'une activité événementielle prise en charge se produit dans Amazon Cognito, cette activité est enregistrée dans un CloudTrail événement avec d'autres événements de AWS service dans l'historique des événements. Vous pouvez consulter, rechercher et télécharger les événements récents dans votre AWS compte. Pour plus d'informations, consultez la section Affichage des événements avec l'historique des CloudTrail événements.

Pour un enregistrement continu des événements de votre AWS compte, y compris des événements relatifs à Amazon Cognito, créez un suivi. Un CloudTrail suivi fournit des fichiers journaux à un compartiment Amazon S3. Par défaut, lorsque vous créez un journal de suivi dans la console, il s’applique à toutes les régions . 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 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 :

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 IAM d'identification root ou utilisateur.

  • 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'CloudTrail userIdentity élément.

Données confidentielles dans AWS CloudTrail

Dans la mesure où les groupes d'utilisateurs et les groupes d'identités traitent les données utilisateur, Amazon Cognito masque certains champs privés de vos CloudTrail événements avec cette valeur. HIDDEN_FOR_SECURITY_REASONS Pour des exemples de champs qu’Amazon Cognito ne renseigne pas pour les événements, consultez Exemples d'événements Amazon Cognito. Amazon Cognito masque uniquement certains champs qui contiennent généralement des informations utilisateur, tels que les mots de passe et les jetons. Amazon Cognito ne détecte ni ne masque automatiquement les informations d'identification personnelle que vous renseignez dans les champs non privés de vos demandes. API

Événements relatifs aux groupes d'utilisateurs

Amazon Cognito prend en charge la journalisation de toutes les actions répertoriées sur la page des actions du groupe d'utilisateurs sous forme d'événements dans des fichiers CloudTrail journaux. Amazon Cognito enregistre les événements du groupe d'utilisateurs en CloudTrail tant qu'événements de gestion.

Le eventType champ d'une CloudTrail entrée relative aux groupes d'utilisateurs Amazon Cognito indique si votre application a envoyé la demande aux groupes d'utilisateurs Amazon Cognito ou à un point de terminaison qui fournit des ressources pour OpenID ConnectSAML, 2.0 ou l'interface utilisateur API hébergée. APIles requêtes ont un eventType de AwsApiCall et les demandes de point de terminaison ont un eventType deAwsServiceEvent.

Amazon Cognito enregistre les demandes d'interface utilisateur hébergée suivantes dans votre interface utilisateur hébergée sous forme d'événements dans. CloudTrail

Opérations de l'interface utilisateur hébergée dans CloudTrail
Opération Description
Login_GET, CognitoAuthentication Un utilisateur consulte ou soumet des informations d’identification à votre Point de terminaison de connexion.
OAuth2_Authorize_GET, Beta_Authorize_GET Un utilisateur consulte votre Point de terminaison d’autorisation.
OAuth2Response_GET, OAuth2Response_POST Un utilisateur soumet un jeton du fournisseur d’identité à votre point de terminaison /oauth2/idpresponse.
SAML2Response_POST, Beta_SAML2Response_POST Un utilisateur soumet une SAML assertion IdP à votre /saml2/idpresponse point de terminaison.
Login_OIDC_SAML_POST Un utilisateur saisit un nom d’utilisateur dans votre Point de terminaison de connexion et met en relation à un Identifiant IdP.
Token_POST, Beta_Token_POST Un utilisateur soumet un code d’autorisation à votre Point de terminaison de jeton.
Signup_GET, Signup_POST Un utilisateur soumet des informations d’inscription à votre point de terminaison /signup.
Confirm_GET, Confirm_POST Un utilisateur soumet un code de confirmation dans l’interface utilisateur hébergée.
ResendCode_POST Un utilisateur envoie une demande pour renvoyer un code de confirmation dans l’interface utilisateur hébergée.
ForgotPassword_GET, ForgotPassword_POST Un utilisateur envoie une demande pour réinitialiser son mot de passe à votre point de terminaison /forgotPassword.
ConfirmForgotPassword_GET, ConfirmForgotPassword_POST Un utilisateur soumet un code à votre point de terminaison /confirmForgotPassword qui confirme sa demande ForgotPassword.
ResetPassword_GET, ResetPassword_POST Un utilisateur soumet un nouveau mot de passe dans l’interface utilisateur hébergée.
Mfa_GET, Mfa_POST Un utilisateur soumet un code d'authentification multifactorielle (MFA) dans l'interface utilisateur hébergée.
MfaOption_GET, MfaOption_POST Un utilisateur choisit sa méthode préférée MFA dans l'interface utilisateur hébergée.
MfaRegister_GET, MfaRegister_POST Un utilisateur soumet un code d'authentification multifactorielle (MFA) dans l'interface utilisateur hébergée lors de l'enregistrement duMFA.
Logout Un utilisateur se déconnecte sur votre point de terminaison /logout.
SAML2Logout_POST Un utilisateur se déconnecte sur votre point de terminaison /saml2/logout.
Error_GET Un utilisateur affiche une page d’erreur dans l’interface utilisateur hébergée.
UserInfo_GET, UserInfo_POST Un utilisateur ou un fournisseur d’identité échange des informations avec votre userInfo point final.
Confirm_With_Link_GET Un utilisateur soumet une confirmation basée sur un lien envoyé par Amazon Cognito dans un message électronique.
Event_Feedback_GET Un utilisateur envoie des commentaires à Amazon Cognito à propos d’un événement fonctions de sécurité avancée.
Note

Amazon Cognito enregistre les demandes spécifiques UserName à un utilisateur, UserSub mais pas dans les CloudTrail journaux. Vous pouvez trouver un utilisateur pour une donnée UserSub en appelant le et ListUsers API en utilisant un filtre pour le sous-utilisateur.

Événements relatifs aux pools d'identités

Événements de données

Amazon Cognito enregistre les événements Amazon Cognito Identity suivants en tant qu'événements CloudTrail de données. Les événements de données sont des API opérations volumineuses sur le plan de données qui CloudTrail ne sont pas enregistrées par défaut. Des frais supplémentaires s’appliquent pour les événements de données.

Pour générer des CloudTrail journaux pour ces API opérations, vous devez activer les événements de données dans votre historique et choisir des sélecteurs d'événements pour les groupes d'identités Cognito. Pour plus d’informations, veuillez consulter Consignation d’événements de données pour les journaux d’activité dans le Guide de l’utilisateur AWS CloudTrail .

Vous pouvez également ajouter des sélecteurs d'événements de pools d'identités à votre historique à l'aide de la CLI commande suivante.

aws cloudtrail put-event-selectors --trail-name <trail name> --advanced-event-selectors \ "{\ \"Name\": \"Cognito Selector\",\ \"FieldSelectors\": [\ {\ \"Field\": \"eventCategory\",\ \"Equals\": [\ \"Data\"\ ]\ },\ {\ \"Field\": \"resources.type\",\ \"Equals\": [\ \"AWS::Cognito::IdentityPool\"\ ]\ }\ ]\ }"

Événements de gestion

Amazon Cognito enregistre le reste des opérations des API groupes d'identités Amazon Cognito sous forme d'événements de gestion. CloudTrail enregistre les API opérations des événements de gestion par défaut.

Pour obtenir la liste des API opérations des groupes d'identités Amazon Cognito auxquels Amazon Cognito se connecte, consultez le manuel de référence sur les groupes CloudTrail d'identités Amazon Cognito. API

Amazon Cognito Sync

Amazon Cognito enregistre toutes les opérations Amazon Cognito API Sync en tant qu'événements de gestion. Pour obtenir la liste des API opérations Amazon Cognito Sync auxquelles Amazon Cognito se connecte CloudTrail, consultez le manuel Amazon Cognito Sync Reference. API

Analyse des CloudTrail événements Amazon Cognito avec Amazon CloudWatch Logs Insights

Vous pouvez rechercher et analyser vos CloudTrail événements Amazon Cognito avec Amazon CloudWatch Logs Insights. Lorsque vous configurez votre parcours pour envoyer des événements à CloudWatch Logs, il CloudTrail envoie uniquement les événements correspondant à vos paramètres de suivi.

Pour interroger ou rechercher vos CloudTrail événements Amazon Cognito, dans la CloudTrail console, assurez-vous de sélectionner l'option Gestion des événements dans vos paramètres de suivi afin de pouvoir surveiller les opérations de gestion effectuées sur vos AWS ressources. Lorsque vous souhaitez identifier des erreurs, une activité inhabituelle ou un comportement inhabituel de l’utilisateur dans votre compte, vous pouvez éventuellement sélectionner l’option Événements Insights dans les paramètres de votre journal d’activité.

Exemples de requêtes Amazon Cognito

Vous pouvez utiliser les requêtes suivantes dans la CloudWatch console Amazon.

Requêtes générales

Rechercher les 25 derniers événements ajoutés au journal.

fields @timestamp, @message | sort @timestamp desc | limit 25 | filter eventSource = "cognito-idp.amazonaws.com"

Consultez la liste des 25 derniers événements de journal ajoutés qui incluent des exceptions.

fields @timestamp, @message | sort @timestamp desc | limit 25 | filter eventSource = "cognito-idp.amazonaws.com" and @message like /Exception/

Exception et requêtes d’erreur

Recherchez les 25 derniers événements de journal ajoutés avec un code d’erreur NotAuthorizedException avec le groupe d’utilisateurs Amazon Cognito sub.

fields @timestamp, additionalEventData.sub as user | sort @timestamp desc | limit 25 | filter eventSource = "cognito-idp.amazonaws.com" and errorCode= "NotAuthorizedException"

Recherchez le nombre d’enregistrements avec la sourceIPAddress et l’eventName correspondant.

filter eventSource = "cognito-idp.amazonaws.com" | stats count(*) by sourceIPAddress, eventName

Recherchez les 25 premières adresses IP qui ont déclenché une erreur NotAuthorizedException.

filter eventSource = "cognito-idp.amazonaws.com" and errorCode= "NotAuthorizedException" | stats count(*) as count by sourceIPAddress, eventName | sort count desc | limit 25

Trouvez les 25 principales adresses IP ayant appelé le ForgotPasswordAPI.

filter eventSource = "cognito-idp.amazonaws.com" and eventName = 'ForgotPassword' | stats count(*) as count by sourceIPAddress | sort count desc | limit 25