Utilisation de l’authentification adaptative - 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.

Utilisation de l’authentification adaptative

Avec l’authentification adaptative, vous pouvez configurer votre groupe d’utilisateurs pour bloquer les connexions suspectes ou ajouter un deuxième facteur d’authentification en réponse à un niveau de risque accru. Pour chaque tentative de connexion, Amazon Cognito génère un score de risque mesurant la probabilité que la demande de connexion provienne d’une source compromise. Ce score de risque est basé sur des facteurs qui incluent les informations relatives à l’appareil et à l’utilisateur. L’authentification adaptative peut activer ou exiger l’authentification multifactorielle (MFA) pour un utilisateur de votre groupe d’utilisateurs quand Amazon Cognito détecte un risque dans la session d’un utilisateur et que l’utilisateur n’a pas encore choisi de méthode MFA. Lorsque vous activez l’authentification MFA pour un utilisateur, celui-ci est toujours invité à fournir ou à configurer un second facteur lors de l’authentification, quelle que soit la manière dont vous avez configuré l’authentification adaptative. Du point de vue de l’utilisateur, votre application lui propose de l’aider à configurer l’authentification MFA et Amazon Cognito l’empêche éventuellement de se reconnecter tant qu’il n’a pas configuré un facteur supplémentaire.

Amazon Cognito publie les tentatives de connexion, leur niveau de risque et les échecs adressés à Amazon. CloudWatch Pour plus d’informations, consultez Affichage des métriques de sécurité avancée.

Pour ajouter l’authentification adaptative à votre groupe d’utilisateurs, consultez Ajout de la sécurité avancée à un groupe d’utilisateurs.

Présentation de l’authentification adaptative

Dans l'onglet Sécurité avancée de la console Amazon Cognito, vous pouvez choisir les paramètres de l'authentification adaptative, notamment les mesures à prendre en fonction des différents niveaux de risque et la personnalisation des messages de notification destinés aux utilisateurs. Vous pouvez attribuer une configuration de sécurité avancée globale à tous vos clients d’application, mais appliquez une configuration au niveau du client aux clients d’application individuels.

L’authentification adaptative Amazon Cognito attribue l’un des niveaux de risque suivants à chaque session utilisateur : élevé, moyen, faible ou aucun risque.

Examinez attentivement les options qui s’offrent à vous lorsque vous modifiez Enforcement method (Méthode d’application) en remplaçant Audit-only (Audit uniquement) par Full-function (Fonction complète). Les réponses automatiques que vous appliquez aux niveaux de risque influent sur le niveau de risque qu’Amazon Cognito affecte aux sessions d’utilisateur suivantes présentant les mêmes caractéristiques. Par exemple, une fois que vous avez choisi de ne réaliser aucune action ou de Allow (Autoriser) les sessions d’utilisateur qu’Amazon Cognito évalue initialement comme présentant un risque élevé, Amazon Cognito considère que les sessions similaires présentent un risque moindre.

Pour chaque niveau de risque, vous pouvez choisir parmi les options suivantes :

Option

Action

Autorisation Les utilisateurs peuvent se connecter sans facteur supplémentaire.
Authentification MFA facultative Les utilisateurs qui disposent d’un second facteur configuré doivent répondre à la demande de vérification du second facteur pour se connecter. Un numéro de téléphone pour SMS et un jeton logiciel TOTP sont les seconds facteurs disponibles. Les utilisateurs sans deuxième facteur configuré peuvent se connecter avec un seul ensemble d’informations d’identification.
Demander l’authentification MFA Les utilisateurs qui disposent d’un second facteur configuré doivent répondre à la demande de vérification du second facteur pour se connecter. Amazon Cognito bloque la connexion des utilisateurs qui ne disposent pas d’un second facteur configuré.
Bloc Amazon Cognito bloque toutes les tentatives de connexion au niveau de risque désigné.
Note

Vous n’êtes pas tenu de vérifier les numéros de téléphone à utiliser pour l’envoi de SMS comme second facteur d’authentification.

Ajout de données de session et de périphérique utilisateur aux demandes d’API

Lorsque vous utilisez l’API pour inscrire un utilisateur, le connecter et réinitialiser son mot de passe, vous pouvez collecter les informations sur la session de cet utilisateur et les transmettre à la sécurité avancée d’Amazon Cognito. Ces informations incluent l’adresse IP de votre utilisateur et un identifiant de périphérique unique.

Vous disposez peut-être d’un périphérique réseau intermédiaire entre vos utilisateurs et Amazon Cognito, comme un service proxy ou un serveur d’applications. Vous pouvez collecter les données contextuelles des utilisateurs et les transmettre à Amazon Cognito, afin que l’authentification adaptative calcule votre risque en fonction des caractéristiques du point de terminaison utilisateur, au lieu de votre serveur ou de votre proxy. Si votre application côté client appelle directement les opérations de l’API Amazon Cognito, l’authentification adaptative enregistre automatiquement l’adresse IP source. Toutefois, elle n’enregistre pas d’autres informations de périphérique, telles que l’user-agent, sauf si vous collectez également une empreinte digitale de périphérique.

Générez ces données à l'aide de la bibliothèque de collecte de données contextuelles Amazon Cognito et soumettez-les à la sécurité avancée d'Amazon Cognito avec ContextDatales paramètres et. UserContextData La bibliothèque de collecte de données contextuelles est incluse dans les AWS SDK. Pour plus d’informations, consultez Intégration d’Amazon Cognito aux applications Web et mobiles. Vous pouvez soumettre ContextData si vous avez activé des fonctionnalités de sécurité avancée dans votre groupe d’utilisateurs. Pour plus d’informations, consultez Configuration des fonctions de sécurité avancée.

Lorsque vous appelez les opérations d’API authentifiées Amazon Cognito suivantes depuis votre serveur d’applications, transmettez l’adresse IP du périphérique utilisateur dans le paramètre ContextData. En outre, transmettez le nom de votre serveur, le chemin d’accès du serveur et les données d’empreinte digitale du périphérique.

Lorsque vous appelez des opérations d’API non authentifiées Amazon Cognito, vous pouvez soumettre UserContextData aux fonctions de sécurité avancée d’Amazon Cognito. Ces données incluent une empreinte digitale de périphérique dans le paramètre EncodedData. Vous pouvez également soumettre un paramètre IpAddress dans UserContextData si les conditions suivantes sont remplies :

Votre application peut renseigner le paramètre UserContextData avec les données d’empreinte digitale de périphérique codées et l’adresse IP du périphérique de l’utilisateur dans les opérations d’API non authentifiées Amazon Cognito suivantes.

Acceptation de données contextuelles utilisateur supplémentaires (AWS Management Console)

Votre groupe d’utilisateurs accepte une adresse IP dans un paramètre UserContextData, une fois que vous avez activé la fonction Accept additional user context data (Accepter des données contextuelles utilisateur supplémentaires). Vous n’avez pas besoin d’activer cette fonctionnalité si :

  • Vos utilisateurs ne se connectent qu'à l'aide d'opérations d'API authentifiées AdminInitiateAuth , telles que, et vous utilisez le ContextData paramètre.

  • vous souhaitez uniquement que vos opérations d’API non authentifiées envoient une empreinte digitale de périphérique, mais pas une adresse IP, aux fonctions de sécurité avancée d’Amazon Cognito.

Mettez à jour votre client d’application comme suit dans la console Amazon Cognito pour ajouter la prise en charge des données contextuelles utilisateur supplémentaires.

  1. Connectez-vous à la console Amazon Cognito.

  2. Dans le volet de navigation, choisissez Manage your User groupes (Gérer vos groupes d’utilisateurs), puis choisissez le groupe d’utilisateurs que vous souhaitez modifier.

  3. Choisissez l’onglet App integration (Intégration d’applications).

  4. Sous App clients and analytics (Clients d’application et analytique), choisissez ou créez un client d’application. Pour plus d’informations, consultez Configuration d’un client d’application pour groupe d’utilisateurs.

  5. Choisissez Edit (Modifier) à partir du conteneur App client information (Informations sur le client d’application).

  6. Dans Advanced authentication settings (Paramètres d’authentification avancée) pour votre client d’application, choisissez Accept additional user context data (Accepter des données contextuelles utilisateur supplémentaires).

  7. Sélectionnez Enregistrer les modifications.

Pour configurer le client de votre application afin qu'il accepte les données contextuelles utilisateur dans l'API Amazon Cognito, définissez ce paramètre sur EnablePropagateAdditionalUserContextData true dans une demande CreateUserPoolClientor UpdateUserPoolClient. Pour obtenir des informations sur la façon d’activer la sécurité avancée à partir de votre application web ou mobile, consultez Activation de la sécurité avancée des groupes d’utilisateurs à partir de votre application. Quand votre appli appelle Amazon Cognito à partir de votre serveur, collectez les données contextuelles utilisateur côté client. L'exemple suivant utilise la méthode getData du JavaScript SDK.

var EncodedData = AmazonCognitoAdvancedSecurityData.getData(username, userPoolId, clientId);

Lorsque vous concevez votre application pour utiliser l’authentification adaptative, nous vous recommandons d’intégrer le dernier kit SDK Amazon Cognito dans votre application. La dernière version du kit SDK collecte les informations d’empreinte digitale de l’appareil, telles que l’ID, le modèle et le fuseau horaire de celui-ci. Pour plus d’informations sur les kits SDK Amazon Cognito, consultez Installer un kit SDK de groupe d’utilisateurs. La sécurité avancée d’Amazon Cognito enregistre et attribue uniquement un score de risque aux événements soumis par votre application dans le format approprié. Si Amazon Cognito renvoie une réponse d’erreur, vérifiez que votre demande contient un hachage secret valide et que le paramètre IPaddress est une adresse IPv4 ou IPv6 valide.

Ressources ContextData et UserContextData

Affichage de l’historique des événements de l’utilisateur

Note

Dans la nouvelle console Amazon Cognito, vous pouvez afficher l’historique des événements de l’utilisateur dans l’onglet Utilisateurs.

Pour afficher l’historique de connexion d’un utilisateur, vous pouvez choisir l’utilisateur dans la console Amazon Cognito, dans l’onglet Users (Utilisateurs). Amazon Cognito conserve l’historique des événements utilisateur pendant deux ans.

Historique des événements utilisateur

Chaque événement de connexion possède un ID d’événement. L’événement a également des données contextuelles correspondantes, telles que l’emplacement, les détails de l’appareil et les résultats de détection des risques. Vous pouvez consulter l'historique des événements des utilisateurs à l'aide de l'opération API Amazon Cognito AdminListUserAuthEventsou à l'aide de AWS Command Line Interface (AWS CLI) with admin-list-user-auth -events.

Vous pouvez également corréler l’ID de l’événement avec le jeton émis par Amazon Cognito au moment de l’enregistrement de l’événement. L’ID et les jetons d’accès incluent cet ID d’événement dans leur charge utile. Amazon Cognito établit également une corrélation entre l’utilisation du jeton d’actualisation et l’ID d’événement d’origine. Vous pouvez tracer l’ID d’événement d’origine en remontant jusqu’à l’ID de l’événement de connexion ayant conduit à l’émission des jetons Amazon Cognito. Vous pouvez tracer l’utilisation des jetons au sein de votre système jusqu’à un événement d’authentification particulier. Pour plus d’informations, consultez Utilisation des jetons avec des groupes d'utilisateurs.

Fourniture de commentaires sur des événements

Les commentaires sur les événements ont un impact sur l’évaluation des risques en temps réel et améliorent l’algorithme d’évaluation des risques au fil du temps. Vous pouvez formuler des commentaires sur la validité des tentatives de connexion via la console Amazon Cognito et des opérations d’API.

Note

Vos commentaires sur les événements influent sur le niveau de risque qu’Amazon Cognito affecte aux sessions d’utilisateur suivantes présentant les mêmes caractéristiques.

Dans la console Amazon Cognito, choisissez un utilisateur dans l’onglet Users (Utilisateurs) et sélectionnez Provide event feedback (Fournir des commentaires sur les événements). Vous pouvez passer en revue les détails de l’événement et sélectionner Set as valid (Définir comme valide) ou Set as invalid (Définir comme non valide).

La console répertorie l’historique des connexions dans l’onglet Users and groups (Utilisateurs et groupes). Si vous sélectionnez une entrée, vous pouvez marquer l’événement comme étant valide ou non valide. Vous pouvez également fournir des commentaires via l'opération AdminUpdateAuthEventFeedbackAPI du pool d'utilisateurs et via la AWS CLI commande admin-update-auth-event-feedback.

Lorsque vous sélectionnez Set as valid (Définir comme valide) dans la console Amazon Cognito ou que vous fournissez une valeur valid pour FeedbackValue dans l’API, vous indiquez à Amazon Cognito que vous faites confiance à une session d’utilisateur dans laquelle Amazon Cognito a évalué un certain niveau de risque. Lorsque vous sélectionnez Set as invalid (Définir comme non valide) dans la console Amazon Cognito ou que vous fournissez une valeur invalid pour FeedbackValue dans l’API, vous indiquez à Amazon Cognito que vous ne faites pas confiance à une session d’utilisateur, ou que vous ne pensez pas qu’Amazon Cognito a évalué un niveau de risque suffisamment haut.

Envoi de messages de notification

Avec des protections de sécurité avancées, Amazon Cognito peut avertir les utilisateurs des tentatives de connexion risquées. Amazon Cognito peut également demander aux utilisateurs de sélectionner des liens pour indiquer si la connexion était valide ou non valide. Amazon Cognito utilise ces commentaires pour améliorer la précision de la détection des risques pour votre groupe d’utilisateurs.

Dans la section Automatic risk response (Réponse automatique aux risques), choisissez Notify Users (Avertir les utilisateurs) pour les situations à risque faible, moyen ou élevé.

Avertir les utilisateurs

Amazon Cognito envoie des notifications par e-mail à vos utilisateurs, qu’ils aient confirmé ou non leur adresse e-mail.

Vous pouvez personnaliser les e-mails de notification, et fournir à la fois les versions en texte brut et HTML de ces messages. Pour personnaliser vos notifications par e-mail, ouvrez Email templates (Modèles d’e-mail) à partir de Adaptive authentication messages (Messages d’authentification adaptative) dans votre configuration de sécurité avancée. Pour en savoir plus sur les modèles de courriel, consultez Modèles de messages.