Démarrer avec Amazon Cognito

Documentation et ressources pour vous permettre de démarrer

Groupe d'utilisateurs Amazon Cognito – Un répertoire pour tous vos utilisateurs

Vous pouvez rapidement créer votre propre répertoire pour inscrire et connecter les utilisateurs et pour stocker les profils utilisateur en utilisant les groupes d'utilisateurs Amazon Cognito. Les groupes d'utilisateurs fournissent une interface utilisateur que vous pouvez personnaliser pour correspondre à votre application. Les groupes d'utilisateurs permettent également une intégration facile avec des fournisseurs d'identité sociale comme Facebook, Google et Amazon, ainsi qu'avec des fournisseurs d'identités d'entreprise comme Microsoft Active Directory par SAML.

Pools d'identités Amazon Cognito : contrôle d'accès à vos ressources

Vous pouvez contrôler l'accès à vos ressources AWS backend et à vos API via Amazon Cognito afin que les utilisateurs de votre application n'obtiennent que l'accès approprié. Vous pouvez mapper les utilisateurs à différents rôles et autorisations et obtenir des informations d'identification AWS temporaires pour accéder à des services AWS comme Amazon S3, Amazon DynamoDB, Amazon API Gateway et AWS Lambda.

Vidéos en ligne

Créer un groupe d'utilisateurs Amazon Cognito (7:37)
Comment utiliser les fonctionnalités de sécurité avancées du groupe d'utilisateurs Amazon Cognito (12:00)
Comment créer une réserve d'identités Amazon Cognito (7:25)

Nous avons des réponses pour les questions fréquentes (FAQ)

  • Q : Qu'est-ce qu'Amazon Cognito ?
    Amazon Cognito vous permet d'ajouter facilement l'inscription et l'authentification d'utilisateurs sur vos applications mobiles et web. Amazon Cognito vous permet également d'authentifier les utilisateurs via un fournisseur d'identité externe et fournit des informations d'identification de sécurité temporaires pour permettre l'accès aux ressources backend de votre application dans AWS ou dans tout service en arrière-plan d'Amazon API Gateway. Amazon Cognito fonctionne avec des fournisseurs d'identité externes prenant en charge SAML ou OpenID Connect, ainsi qu'avec des fournisseurs d'identité sociale (comme Facebook, Twitter et Amazon). En outre, vous pouvez intégrer votre propre fournisseur d'identité.

    De plus, Amazon Cognito vous permet de synchroniser les données sur les différents appareils d'un utilisateur pour lui offrir une expérience homogène lorsqu'il passe d'un appareil à l'autre ou procède à une mise niveau vers un nouvel appareil. Votre application peut enregistrer les données localement sur les appareils des utilisateurs, pour permettre à vos applications de fonctionner même lorsque les appareils sont hors ligne et de synchroniser automatiquement les données lorsque les appareils se reconnectent à Internet.

    Avec Amazon Cognito, concentrez-vous sur la création d'excellentes expériences d'application au lieu de vous attarder sur la création, la sécurisation et le dimensionnement d'une solution pour gérer les utilisateurs, leur authentification et la synchronisation sur les plates-formes et appareils.

    Q : A qui s'adresse Amazon Cognito ?

    Amazon Cognito est conçu pour les développeurs qui souhaitent ajouter la fonctionnalité de gestion et de synchronisation des utilisateurs sur leurs applications mobiles et web. Les développeurs peuvent utiliser Cognito Identity pour ajouter l'inscription et la connexion sur leurs applications, et pour permettre aux utilisateurs d'accéder en toute sécurité aux ressources de l'application. Cognito permet également aux développeurs de synchroniser les données sur différents périphériques, plates-formes et applications.

    Q : Comment commencer à utiliser Amazon Cognito ?
    Vous pouvez facilement démarrer en accédant à la console AWS. Si vous n'avez pas de compte Amazon Web Services, vous pouvez en créer un lorsque vous vous connectez à la console. Une fois que vous avez créé un pool d'utilisateurs pour la gestion des utilisateurs ou un pool d'identités pour les identités fédérées ou les opérations de synchronisation, vous pouvez télécharger le kit SDK AWS Mobile et l'intégrer à votre application. Il est également possible d'utiliser directement les API côté serveur de Cognito, au lieu d'utiliser le kit SDK. Pour en savoir plus, consultez notre guide du développeur.

    Q : Le service Amazon Cognito expose-t-il des API côté serveur ?
    Oui. Cognito expose des API côté serveur. Vous pouvez créer une interface personnalisée avec Cognito en appelant ces API directement. Les API côté serveur sont décrites dans le manuel destiné aux développeurs.

    Q : Quelles sont les plates-formes prises en charge par Amazon Cognito ?
    Cognito est pris en charge par le kit SDK AWS Mobile en option, qui est disponible pour les périphériques iOS, Android, Unity et Kindle Fire. Cognito est également disponible dans le kit SDK AWS pour JavaScript. La fonction Your User Pools de Cognito est actuellement prise en charge dans le kit AWS Mobile SDK pour iOS et Android, et dans le kit SDK AWS JavaScript pour Cognito. Rendez-vous sur notre page de ressources pour télécharger les kits SDK.

    Q : Est-il obligatoire d'utiliser le kit SDK AWS Mobile ?
    Non. Cognito expose ses API de données et de commande en tant que services web. Vous pouvez donc implémenter votre propre bibliothèque de clients pour appeler les API côté serveur directement.

  • Q : Puis-je utiliser mon propre fournisseur d'identité pour prendre en charge l'inscription et la connexion d'utilisateurs ?

    Oui, vous pouvez ajouter facilement et en toute sécurité la fonctionnalité d'inscription et de connexion sur vos applications avec Cognito Identity. Vos utilisateurs peuvent s'inscrire et se connecter avec une adresse e-mail, un numéro de téléphone ou un nom d'utilisateur. Vous pouvez également mettre en place des fonctionnalités de sécurité améliorées comme la vérification des e-mails et des numéros de téléphone et l'authentification multi-facteurs. De plus, Cognito Identity vous permet de personnaliser les workflows. Vous pouvez, par exemple, ajouter une logique spécifique à l'application lors de l'inscription des utilisateurs pour détecter les fraudes et valider les utilisateurs via AWS Lambda. Pour en savoir plus, consultez notre documentation.

    Q : Qu'est-ce qu'un groupe d'utilisateurs Amazon Cognito ?

    Il s'agit du répertoire utilisateur que vous pouvez configurer pour vos applications web et mobiles. Un pool d'utilisateurs stocke en toute sécurité les attributs de profil de vos utilisateurs. Vous pouvez créer et gérer un pool d'utilisateurs à l'aide de la console AWS, de la CLI AWS ou du kit SDK AWS.

    Q : Quelles informations de profil d'utilisateur sont prises en charge par Cognito Identity ?

    Les développeurs peuvent utiliser des attributs de profil d'utilisateur standard basés sur OpenID Connect (ex. : nom d'utilisateur, numéro de téléphone, adresse, fuseau horaire, etc.) ou personnalisés pour ajouter des attributs d'utilisateur spécifiques aux applications.

    Q : Puis-je autoriser les utilisateurs de mon application à s'inscrire et à se connecter en utilisant une adresse e-mail ou un numéro de téléphone ?

    Oui, vous pouvez utiliser la fonction d'aliasing pour permettre à vos utilisateurs de s'inscrire et de se connecter en utilisant une adresse e-mail et un mot de passe ou un numéro de téléphone et un mot de passe. Pour en savoir plus, veuillez consulter nos documents.

    Q : Puis-je définir des stratégies de gestion des mots de passe ?

    Oui, vous pouvez définir des politiques de gestion des mots de passe, notamment des exigences concernant la complexité des mots de passe et le type de caractères utilisés, lors de la création ou de la configuration de votre pool d'utilisateurs.

    Q : Puis-je vérifier les adresses e-mail et les numéros de téléphone des utilisateurs de mon application ?

    Oui, avec Amazon Cognito, vous pouvez exiger la vérification des adresses e-mail et des numéros de téléphone de vos utilisateurs avant de les autoriser à accéder à votre application. Lors de l'inscription, un code de vérification est envoyé au numéro de téléphone ou à l'adresse e-mail de l'utilisateur qui doit alors entrer ce code pour terminer le processus d'enregistrement et confirmer son inscription.

    Q : Le service Amazon Cognito prend-il en charge l'authentification multifactorielle (MFA) par SMS ?

    Oui, vous pouvez autoriser les utilisateurs finaux de votre application à se connecter à l'aide de l'authentification multi-facteurs (MFA) par SMS. Lorsque l'authentification multi-facteurs (MFA) par SMS est activée, vos utilisateurs sont invités à saisir leur mot de passe (le premier facteur – ce qu'ils connaissent) et un code de sécurité qu'ils peuvent uniquement recevoir par SMS sur leur téléphone mobile (le deuxième facteur – ce qu'ils possèdent).

    Q : Est-il possible de personnaliser les workflows d'inscription et de connexion d'utilisateurs ?

    Oui, vous pouvez personnaliser l'inscription et la connexion en ajoutant une logique spécifique à l'application aux flux d'inscription et de connexion d'utilisateurs à l'aide d'AWS Lambda. Par exemple, vous pouvez créer des fonctions AWS Lambda pour identifier les fraudes ou soumettre les données des utilisateurs à des validations supplémentaires. Vous pouvez déclencher des fonctions Lambda fournies par des développeurs lors de la préinscription, après la confirmation, avant et après l'authentification, et pendant l'authentification pour personnaliser le niveau d'authentification. Vous pouvez également utiliser des fonctions Lambda pour personnaliser les messages envoyés dans le cadre de la vérification des e-mails ou des numéros de téléphone et de l'authentification multi-facteurs.

    Q : Est-il possible de mémoriser les appareils associés aux utilisateurs de mon application dans un groupe d'utilisateurs Cognito ?

    Oui, vous pouvez choisir de mémoriser les appareils utilisés pour accéder à votre application et associer ces appareils aux utilisateurs de votre application dans un groupe d'utilisateurs Cognito. Vous pouvez également choisir d'utiliser les appareils mémorisés pour supprimer le niveau d'authentification du second facteur pour vos utilisateurs lorsque vous avez configuré l'authentification multi-facteurs.

    Q : Comment puis-je faire migrer les utilisateurs existants de mon application vers des groupes d'utilisateurs Amazon Cognito ?

    Il existe deux façons pour faire migrer des utilisateurs depuis votre répertoire ou base de données de votre application vers des groupes d'utilisateurs.

    Amazon Cognito vous aide à faire migrer des utilisateurs en temps réel lorsqu'ils se connectent à votre application en utilisant un déclencheur AWS Lambda intégré. Le déclencheur Lambda intégré vous permet de faire migrer des utilisateurs sans les forcer à réinitialiser leur mot de passe.

    Sinon, vous pouvez faire migrer des utilisateurs en masse en chargeant un fichier CSV contenant les données de profil pour tous les utilisateurs de votre application. Vous pouvez charger le fichier CSV par la console Amazon Cognito, les API ou l'interface de ligne de commande AWS. À leur première connexion, les utilisateurs doivent vérifier leur compte et créer un nouveau mot de passe en utilisant un code de vérification envoyé à leur adresse e-mail ou numéro de téléphone.

    Pour en savoir plus, consultez la section Importation d'utilisateurs dans un groupe d'utilisateurs.

  • Q : Puis-je utiliser Cognito Identity pour fédérer les identités et sécuriser l'accès aux ressources AWS ?
    Oui, Amazon Cognito vous permet d'authentifier les utilisateurs via un fournisseur d'identité externe et fournit des informations d'identification de sécurité temporaires pour permettre l'accès aux ressources backend de votre application dans AWS ou dans tout service en arrière-plan d'Amazon API Gateway. Amazon Cognito fonctionne avec des fournisseurs d'identité externes prenant en charge SAML ou OpenID Connect, ainsi qu'avec des fournisseurs d'identité sociale (comme Facebook, Twitter et Amazon). En outre, vous pouvez intégrer votre propre fournisseur d'identité.


    Q : Quels sont les fournisseurs d'identités publics compatibles avec Amazon Cognito Identity ?
    Vous pouvez utiliser Amazon, Facebook, Twitter, Digits, Google ou tout autre fournisseur d'identités compatible avec OpenID Connect.

    Q : Qu'est-ce qu'un pool d'identités ?
    Les pools d'identités sont les conteneurs utilisés par Cognito Identity pour organiser les identités fédérées de vos applications. Un pool d'identités associe des identités fédérées de fournisseurs d'identité sociale à un identifiant unique spécifique à l'utilisateur. Les pools d'identités ne stockent pas les profils d'utilisateurs. Un pool d'identités peut être associé à une ou plusieurs applications. Si vous utilisez deux pools d'identités différents pour deux applications, alors un même utilisateur sera associé à un identifiant unique différent dans chaque pool d'identités.

    Q : Comment le processus de connexion fonctionne-t-il avec les fournisseurs d'identité publics ?
    Votre application mobile assure l'authentification via le fournisseur d'identité, à l'aide du kit SDK de ce fournisseur. Une fois que l'utilisateur final est authentifié par le fournisseur d'identité, le jeton OAuth ou OpenID Connect ou l'assertion SAML renvoyé(e) par celui-ci est transmis(e) à Cognito Identity, qui renvoie à son tour un nouvel ID Cognito correspondant à l'utilisateur, ainsi qu'un ensemble d'informations d'identification AWS temporaires offrant des droits limités.

    Q : Puis-je enregistrer et authentifier mes propres utilisateurs ?
    Cognito Identity peut être intégré à votre système d'authentification existant. Grâce à un simple appel d'API, vous pouvez récupérer un ID Cognito pour vos utilisateurs finaux selon votre propre identifiant unique pour vos utilisateurs. Une fois que vous avez récupéré l'ID Cognito et le jeton OpenID fourni par Cognito Identity, vous pouvez utiliser le kit SDK du client Cognito Identity pour accéder aux ressources AWS et synchroniser les données utilisateur. Cognito Identity est un fournisseur d'identités entièrement géré qui facilite la mise en place de l'inscription et de la connexion d'utilisateurs pour vos applications mobiles et web.

    Q : Comment Cognito Identity permet-il de contrôler de façon sécurisée les autorisations et l'accès aux services AWS ?
    Cognito Identity attribue à vos utilisateurs un ensemble d'informations d'identification temporaires offrant des droits limités, qui leur permet d'accéder aux ressources AWS. Vous n'avez donc plus à utiliser les informations d'identification de votre compte AWS. Les autorisations accordées à chaque utilisateur sont contrôlées via les rôles AWS IAM que vous créez. Vous pouvez définir les règles pour choisir le rôle IAM pour chaque utilisateur ou, si vous utilisez des groupes dans un pool d'utilisateurs Cognito, vous pouvez attribuer des rôles IAM en fonction des groupes. Cognito Identity vous permet également de définir un rôle IAM distinct offrant des autorisations limitées pour les utilisateurs qui ne sont pas authentifiés. De plus, vous pouvez utiliser l'identifiant unique que Cognito génère pour vos utilisateurs pour contrôler l'accès à des ressources spécifiques. Par exemple, il est possible de créer une politique pour un compartiment S3 autorisant uniquement chaque utilisateur à accéder à son propre dossier du compartiment.

     

    Q : Lors de l'utilisation de fournisseurs d'identités publics, le service Amazon Cognito Identity stocke-t-il les informations d'identification des utilisateurs ?

    Non, votre application communique directement avec le fournisseur d'identités public pris en charge (Amazon, Facebook, Twitter, Digits, Google ou un fournisseur compatible avec OpenID Connect) afin d'authentifier les utilisateurs. Cognito Identity ne reçoit pas les informations d'identification des utilisateurs et ne peut donc pas les stocker. Cognito Identity utilise le jeton envoyé par le fournisseur d'identités pour obtenir un identifiant unique pour l'utilisateur, puis le traite à l'aide d'une fonction de hachage unidirectionnelle afin que ce même utilisateur puisse être à nouveau reconnu à l'avenir sans stocker son identifiant réel.

    Q : Le service Cognito Identity reçoit-il ou stocke-t-il des informations confidentielles concernant mes utilisateurs qui auraient été envoyées par les fournisseurs d'identités ?
    Non. Cognito Identity ne reçoit aucune information confidentielle (adresses e-mail, listes d'amis ou autre) de la part des fournisseurs d'identités.

    Q : Ai-je encore besoin de mes propres systèmes backend d'authentification avec Cognito Identity ?
    Non. Cognito Identity permet la connexion via Amazon, Facebook, Twitter, Digits et Google, et prend aussi en charge les utilisateurs non authentifiés. Avec Cognito Identity, vous pouvez prendre en charge l'authentification fédérée, le stockage et la synchronisation des données des profils, ainsi que la distribution des jetons d'accès AWS, et ce, sans écrire le moindre code backend.

    Q : Que faire si je ne veux pas forcer mes utilisateurs à se connecter ?
    Cognito Identity prend en charge la création et le processus d'attribution de jetons pour tous les utilisateurs, qu'ils soient authentifiés ou non. Ce système vous évite d'ajouter un écran de connexion supplémentaire à votre application, tout en vous permettant d'utiliser des informations d'identification temporaires offrant des droits limités afin d'accéder aux ressources AWS.

    Q : Qu'entend-on par « utilisateurs non authentifiés » ?
    Les utilisateurs non authentifiés sont des utilisateurs qui ne s'authentifient pas auprès d'un fournisseur d'identité, mais accèdent à votre application en tant qu'invité. Vous pouvez définir un rôle IAM distinct pour ces utilisateurs afin de leur accorder des autorisations limitées pour accéder à vos ressources backend.

    Q : Le service Cognito Identity peut-il prendre en charge plusieurs identités lorsque différents utilisateurs se connectent sur le même appareil ?

    Oui. Cognito Identity peut prendre en charge plusieurs identités sur un même appareil, par exemple dans le cas d'une tablette iPad utilisée dans un cadre familial. Chaque identité est traitée séparément, et vous contrôlez entièrement la manière dont votre application gère la connexion et la déconnexion des utilisateurs, ainsi que le stockage des données d'applications en local et à distance.

    Q : Comment stocker les données associées à Cognito Identity ?
    Vous pouvez créer, par programmation, un ensemble de données associé à Cognito Identity, puis enregistrer ces données sous forme de paires clé/valeur. Les données sont stockées localement sur l'appareil, ainsi que dans l'espace de synchronisation de Cognito. Cognito peut également synchroniser ces données sur tous les périphériques de l'utilisateur final.

    Q : Le nombre d'identités de la console Cognito Identity représente-t-il le nombre d'utilisateurs de mon application ?
    Le nombre d'identités de la console Cognito Identity indique le nombre d'identités créées via les API Cognito Identity. Pour les identités authentifiées (celles qui se connectent via un fournisseur de connexion tel que Facebook ou un fournisseur OpenID Connect), chaque appel à l'API GetId de Cognito Identity crée seulement une identité unique pour chaque utilisateur. Cependant, pour les identités non authentifiées, chaque fois que le client d'une application appelle, l'API GetId génère une nouvelle identité. Ainsi, si votre application appelle GetId pour des identités non authentifiées plusieurs fois pour le même utilisateur, celui-ci apparaît comme ayant plusieurs identités. Il est donc important que vous mettiez en cache la réponse de GetId lors de l'utilisation d'identités non authentifiées et que vous ne l'appeliez pas plusieurs fois pour un même utilisateur.

    Le kit SDK Mobile fournit la logique pour mettre automatiquement en cache l'identité Cognito. Vous n'avez donc plus à vous soucier de cet aspect. Si vous recherchez une solution d'analyse complète pour votre application, notamment la possibilité de suivre les utilisateurs uniques, Amazon Mobile Analytics est fait pour vous.

  • Q : Qu'est-ce que l'espace de synchronisation d'Amazon Cognito ?
    L'espace de synchronisation d'Amazon Cognito est un espace où sont stockées les paires clé/valeur associées à une identité Amazon Cognito. Vous pouvez créer autant d'identités que vous le souhaitez dans vos pools d'identités et votre espace de synchronisation. Chaque identité Amazon Cognito comprise dans l'espace de synchronisation dispose de son propre stockage d'informations utilisateur.

    Q : Les données sont-elles enregistrées directement dans l'espace de synchronisation d'Amazon Cognito ?
    Non. Le kit SDK AWS Mobile (facultatif) enregistre vos données dans une base de données SQLite sur l'appareil local, de façon à ce que votre application puisse y accéder en permanence. Les données sont envoyées en mode push sur l'espace de synchronisation d'Amazon Cognito en appelant la méthode synchronize(). Si la synchronisation en mode push est activée, tous les autres appareils reliés à cette identité reçoivent une notification envoyée par Amazon SNS, leur indiquant que des données ont été modifiées dans l'espace de synchronisation.

    Q : Comment les données sont-elles stockées dans l'espace de synchronisation d'Amazon Cognito ?
    Les données associées à une identité Amazon Cognito sont organisées sous forme de paires clé/valeur. Une clé est une étiquette, par exemple « Volume musique », et une valeur, par exemple « 11 ». Les paires clé/valeur sont groupées et classées à l'aide d'ensembles de données. Les ensembles de données sont des partitions logiques des paires clé/valeur. Il s'agit de l'entité la plus fine utilisée par Amazon Cognito pour les opérations de synchronisation.

    Q : Quel est le volume maximal que les informations de chaque utilisateur peuvent occuper dans l'espace de synchronisation d'Amazon Cognito ?
    Pour chaque utilisateur, les informations stockées ne peuvent pas dépasser 20 Mo. Chaque ensemble de données au sein du stockage des informations de l'utilisateur peut contenir jusqu'à 1 Mo de données. Un ensemble de données peut contenir jusqu'à 1 024 clés.

    Q : Quels types de données puis-je stocker dans un ensemble de données ?
    Les clés et les valeurs d'un ensemble de données sont composées de chaînes alphanumériques. La longueur des chaînes n'est pas limitée, si ce n'est que le volume total des valeurs contenues dans un ensemble de données ne doit pas dépasser 1 Mo. Les données binaires peuvent être stockées en tant que chaînes codées en base64, tant que ces chaînes ne dépassent pas la limite de 1 Mo.

    Q : Pourquoi la taille des ensembles de données est-elle limitée à 1 Mo ?
    En limitant la taille des ensembles de données à 1 Mo, les tâches de synchronisation ont plus de chances d'être effectuées correctement, même lorsque le débit est limité. Cela évite donc de multiplier les tentatives et réduit la consommation d'énergie et de forfaits de données. 

    Q : Les identités et les informations des utilisateurs stockées sont-elles partagées avec les autres développeurs ?
    Non, les identités et les informations stockées pour chaque utilisateur sont liées à un compte AWS spécifique. Si plusieurs applications provenant de différents développeurs sont installées sur un périphérique utilisant Amazon Cognito, chaque application utilise l'espace de stockage créé par le développeur correspondant.

    Q : Comment puis-je analyser et interroger les données stockées dans l'espace de synchronisation Cognito ?
    Avec Cognito Streams, vous pouvez envoyer en mode push des données de l'espace de synchronisation vers un flux Kinesis dans votre compte AWS. Vous pouvez ensuite utiliser ce flux et stocker les données d'une façon qui vous permet d'en faciliter l'analyse, par exemple sous forme d'une base de données Amazon Redshift, d'une instance RDS que vous possédez ou même d'un fichier S3. Nous avons publié un exemple d'application de consommateurs Kinesis pour vous indiquer comment stocker les données de mises à jour dans Amazon Redshift.

    Q : Pourquoi devrais-je utiliser un flux Kinesis plutôt qu'une exportation de base de données ?
    En diffusant en continu des données vers Kinesis, vous pouvez recevoir tout l'historique des modifications apportées à vos ensembles de données en temps réel. Vous recevez ainsi toutes les modifications qu'un utilisateur final apporte à un ensemble de données et disposez de la souplesse nécessaire pour stocker ces données dans un outil de votre choix.

    Q : Que se passe-t-il si des données sont déjà stockées dans Cognito ?
    Lorsqu'elle est activée, la fonctionnalité de flux Kinesis vous permettra de démarrer une publication en masse. Ce processus envoie de manière asynchrone toutes les données actuellement stockées dans votre espace de synchronisation Cognito vers le flux Kinesis que vous avez sélectionné.

    Q : Quel est le coût de cette fonctionnalité ?
    Cognito envoie en mode push les données vers un flux Kinesis que vous possédez. Aucune différence de prix par synchronisation ne peut être constatée dans Cognito si cette fonctionnalité est activée. Vous serez facturé aux taux normaux de Kinesis pour chaque partition utilisée.

    Q : Puis-je valider les données avant qu'elles soient sauvegardées ?
    Amazon Cognito Events permet aux développeurs d'exécuter une fonction AWS Lambda en réponse à des événements importants dans Cognito. L'événement Sync Trigger se produit lorsqu'un ensemble de données est synchronisé. Les développeurs peuvent écrire une fonction AWS Lambda pour intercepter l'événement de synchronisation. La fonction peut évaluer les modifications qui ont été apportées à l'ensemble de données sous-jacent et manipuler les données avant de les stocker dans le cloud et de les synchroniser sur les autres appareils de l'utilisateur. La fonction AWS Lambda peut également entraîner l'échec de l'opération et empêcher ainsi les données de se synchroniser sur les autres appareils de l'utilisateur.

    Q : Comment les données sont-elles synchronisées avec Amazon Cognito ?
    Vous pouvez déclencher la synchronisation des ensembles de données entre les périphériques clients et l'espace de synchronisation d'Amazon Cognito par programmation, en utilisant la méthode synchronize() du kit SDK AWS Mobile. La méthode synchronize() lit la dernière version des données disponible dans l'espace de synchronisation d'Amazon Cognito et la compare à la copie locale mise en cache. Une fois la comparaison terminée, la méthode synchronize() déclenche l'écriture des mises à jour nécessaires dans le magasin de données local et l'espace de synchronisation d'Amazon Cognito. Par défaut, Amazon Cognito conserve la dernière version enregistrée des données. Vous pouvez ignorer ce comportement et résoudre les conflits au niveau des données par programmation. En outre, la synchronisation en mode push vous permet d'utiliser Amazon Cognito pour envoyer une notification silencieuse en mode push à tous les appareils associés à une identité, afin de les avertir que de nouvelles données sont disponibles.

    Q : Qu'est-ce qu'une notification silencieuse en mode push ?
    Amazon Cognito utilise Amazon Simple Notification Service (SNS) pour envoyer des notifications silencieuses en mode push à tous les appareils. Une notification silencieuse en mode push est un message en mode push reçu par votre application sur l'appareil d'un utilisateur, mais que cet utilisateur ne verra pas.

    Q : Comment puis-je envoyer la synchronisation en mode push ?
    Pour activer la synchronisation en mode push, vous devez déclarer une application de plateforme à l'aide de la page Amazon SNS dans AWS Management Console. Ensuite, à partir de la page de pool d'identités sur la page Amazon Cognito d'AWS Management Console, vous pouvez lier l'application de plateforme SNS à votre pool d'identités Cognito. Amazon Cognito utilise automatiquement l'application de plateforme SNS pour notifier les changements aux appareils.

    Q : Comment les conflits survenant au cours du processus de synchronisation sont-ils gérés ?
    Par défaut, Amazon Cognito conserve la dernière version enregistrée des données. Vous pouvez ignorer ce comportement en choisissant de répondre à une fonction de rappel du kit SDK AWS Mobile, qui contient les deux versions des données. Votre application peut alors déterminer quelle version des données (version locale ou provenant de l'espace de synchronisation d'Amazon Cognito) doit être conservée et enregistrée dans l'espace de synchronisation d'Amazon Cognito.

  • Q : Combien coûtent les groupes d'utilisateurs Amazon Cognito ?

    Pour connaître la tarification du groupe d'utilisateurs page de tarification Amazon Cognito.

    Q : Combien coûte Amazon Cognito Sync ?

    Pour connaître les tarifs d'Amazon Cognito Sync, consultez la page de tarification d'Amazon Cognito.

    Q : Qu'entend-on par « opération de synchronisation » ?

    Lorsque vous utilisez la méthode synchronize() via le kit SDK AWS Mobile, cet appel est considéré comme une opération de synchronisation. Si vous appelez directement les API côté serveur, une opération de synchronisation débute lorsqu'un nouveau jeton de session de synchronisation est émis et se termine lorsque l'opération d'écriture a réussi ou lorsque le jeton de la session expire. Que vous utilisiez la méthode synchronize() du kit SDK ou que vous appeliez directement les API côté serveur, le tarif appliqué aux opérations de synchronisation reste le même.

    Q : Que sont les utilisateurs actifs mensuels (MAU) ?
    Un utilisateur est considéré comme actif et comme un MAU s'il est associé à une opération telle que l'inscription, l'actualisation d'un jeton, la connexion ou la modification du mot de passe pendant le mois de facturation. Par conséquent, les opérations suivantes et les utilisateurs inactifs pendant le mois ne vous sont pas facturés. En règle générale, le nombre total d'utilisateurs et le nombre d'opérations sont beaucoup plus élevés que le nombre total de MAU.

    Q : Quel est le coût d'utilisation des SMS avec Cognito ?
    L'utilisation de la messagerie SMS pour vérifier des numéros de téléphone, envoyer des codes en cas d'oubli ou de réinitialisation du mot de passe, ou pour l'authentification multi-facteurs, est facturée séparément. Pour plus d'informations, consultez la page relative à la tarification applicable à l'envoi de SMS à l'international.

    Q : Amazon Cognito est-il inclus dans le niveau gratuit d'AWS ?
    Oui. Dans le cadre de l'offre gratuite d'AWS, Cognito inclut 10 Go de stockage dans l'espace de synchronisation et 1 000 000 d'opérations de synchronisation par mois pendant les 12 premiers mois d'utilisation. Votre pool d'utilisateurs pour Cognito Identity est gratuit dans la limite des 50 000 premiers MAU. Une fois ce seuil atteint, vous pouvez profiter de niveaux dépendant du volume. Avec Cognito Identity, l'utilisation de l'option Identités fédérées pour l'authentification des utilisateurs et la création d'identifiants uniques est toujours gratuite.

    Q : Chaque opération de lecture ou d'écriture réalisée par l'application est-elle comptabilisée comme une opération de synchronisation ?
    C'est vous qui décidez du moment auquel utiliser la méthode synchronize(). Les opérations de lecture et d'écriture initiées par l'appareil concernent le magasin SQLite local. Ainsi, vous gardez une maîtrise totale de vos coûts.

    Q : Quel est le coût de la synchronisation en mode push ?
    Cognito utilise Amazon SNS pour envoyer des notifications silencieuses en mode push. Aucuns frais supplémentaires ne s'appliquent à l'utilisation d'Amazon Cognito pour la synchronisation en mode push, à l'exception des frais Amazon SNS classiques qui s'appliquent pour les notifications envoyées aux appareils.

    Q : Quel est le coût d'utilisation de Lambda avec Amazon Cognito Events ?
    Aucuns frais supplémentaires ne vous sont facturés lorsque vous utilisez Cognito Events pour déclencher des fonctions Lambda, à l'exception des frais classiques d'utilisation d'AWS Lambda et d'autres services AWS qui s'appliquent lorsque vos fonctions Lambda s'exécutent. Pour en savoir plus, consultez la page relative à la tarification d’AWS Lambda.