Passer au contenu

Comment intégrer Amazon SES à un groupe d'utilisateurs Amazon Cognito ?

Lecture de 6 minute(s)
0

Je souhaite intégrer Amazon Simple Email Service (Amazon SES) à un groupe d'utilisateurs Amazon Cognito.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Prérequis :

Les intégrations intercompte pour Amazon Cognito et Amazon SES ne sont pas prises en charge. Vous ne pouvez pas configurer un groupe d'utilisateurs Amazon Cognito dans un compte, puis l'intégrer à une adresse e-mail Amazon SES associée à un autre compte.

Vérifier les restrictions relatives à l’environnement de test (sandbox) Amazon SES

Tous les nouveaux comptes Amazon SES sont placés dans l’environnement de test (sandbox) Amazon SES afin de prévenir les fraudes et les abus. Lorsque vous utilisez un environnement de test (sandbox) Amazon SES, vérifiez les restrictions.

Déplacer votre compte hors de l’environnement de test (sandbox) Amazon SES

Si vous n'avez pas supprimé votre compte de l’environnement de test (sandbox) Amazon SES, procédez comme suit :

  1. Examinez le tableau de mappage des régions AWS dans la configuration d’e-mail d'Amazon SES.
    Le tableau de mappage indique les régions dans lesquelles les identités Amazon SES peuvent être intégrées aux groupes d'utilisateurs Amazon Cognito. Assurez-vous d'utiliser des régions compatibles avant de déplacer le compte Amazon SES hors de l’environnement de test (sandbox).
  2. Demandez l'accès à la production pour votre compte Amazon SES. L'équipe AWS Support fournit une première réponse à votre requête dans les 24 heures.
    Une fois votre demande d'accès à la production approuvée, vous pouvez envoyer des e-mails à n'importe quel destinataire.

Remarque : Vous devez passer à la nouvelle expérience de console Amazon Cognito pour intégrer Amazon Cognito à Amazon SES dans la même région.

Vérifier l'identité de votre domaine Amazon SES

Vérifiez un ou plusieurs identifiants de domaine dans Amazon SES. Si vous devez créer une identité de domaine avant la vérification, consultez la section Création d'une identité de domaine.

Vérifier votre identité d’adresse e-mail Amazon SES

Vérifiez une ou plusieurs adresses e-mail dans Amazon SES. Si vous devez créer une identité d'adresse e-mail avant la vérification, consultez la section Créer une identité d'adresse e-mail.

Intégrer votre groupe d'utilisateurs à une identité vérifiée

Si l'identité du domaine Amazon SES est vérifiée, procédez comme suit :

  1. Connectez-vous à la console Amazon Cognito, puis choisissez Groupe d’utilisateurs.
  2. Sélectionnez le groupe d'utilisateurs.
  3. Dans le menu Méthodes d’authentification, sélectionnez Configuration d'e-mai. Puis, sélectionnez Modifier.
  4. Sous Adresse e-mail de l’EXPÉDITEUR, choisissez l'identité de domaine vérifiée par Amazon SES. Par exemple, example.com.
  5. Sous Nom de l'EXPÉDITEUR, saisissez votre adresse e-mail. Par exemple, admin@example.com.

Vous pouvez ajouter une adresse e-mail personnalisée pour l'identité de domaine. L'API UpdateUserPool configure le groupe d'utilisateurs Amazon Cognito avec une identité Amazon SES.

Exemple de commande update-user-pool :

$ aws cognito-idp update-user-pool --user-pool-id example_pool_id --email-configuration SourceArn=arn:aws:ses:example_region:example_account_number:identity/example_domain,EmailSendingAccount=DEVELOPER,From=user@example.com --region example_region

Important : L'API UpdateUserPool réinitialise la configuration existante du groupe d'utilisateurs. Tout d'abord, appelez l'API DescribeUserPool, puis envoyez tous les paramètres du groupe d'utilisateurs existants à l'API UpdateUserPool.

Les descriptions de la commande update-user-pool sont les suivantes :

  • example_pool_id correspond à l'ID du groupe d'utilisateurs Amazon Cognito. Exemple : ap-southeast-1_xxxxxxxx.
  • arn:aws:ses:example_region:example_account_number:identity/example_domain est l’Amazon Resource Name (ARN) de votre identité de domaine Amazon SES.
  • user@example.com doit être remplacé par votre identité d’adresse e-mail.
  • example_region représente la région dans laquelle se trouve votre groupe d'utilisateurs Amazon Cognito. Exemple : ap-southeast-1.

Si l'identité d’adresse e-mail Amazon SES est vérifiée, procédez comme suit :

  1. Connectez-vous à la console Amazon Cognito, puis choisissez Groupe d’utilisateurs.
  2. Sélectionnez le groupe d'utilisateurs.
  3. Dans le menu Méthodes d’authentification, sélectionnez Configuration d'e-mai. Puis, sélectionnez Modifier.
  4. Sous Adresse e-mail de l’EXPÉDITEUR, choisissez l'identité du domaine de messagerie Amazon SES. Par exemple, admin@example.com.

Corriger les erreurs

Résoudre les erreurs d'adresse e-mail non vérifiées

Le message d'erreur suivant peut s'afficher : "Email address is not verified. The following identities failed the check in region AP-SOUTHEAST-1: user@example.com."

Si vous recevez cette erreur, cela signifie que vous avez essayé d'envoyer un e-mail depuis un compte d’environnement de test (sandbox) Amazon SES à une adresse e-mail non vérifiée.

Pour résoudre cette erreur, déplacez votre compte Amazon SES hors de l’environnement de test (sandbox) ou vérifiez l'adresse e-mail du destinataire dans Amazon SES.

Messages électroniques manquants

Si les utilisateurs ne reçoivent pas d'e-mails de votre groupe d'utilisateurs Amazon Cognito, procédez comme suit :

  1. Vérifiez que vous utilisez la configuration de messagerie par défaut d'Amazon Cognito ou la configuration de messagerie Amazon SES pour envoyer des e-mails.

  2. Vérifiez vos mises à jour via la console de gestion AWS. Vous pouvez également exécuter l'API DescribeUserPool.
    Exemple de commande describe-user-pool :

    aws cognito-idp describe-user-pool --user-pool-id example_pool_id --region example_region --query 'UserPool.EmailConfiguration'

    Vous pouvez recevoir l'une des sorties suivantes :

    {  "SourceArn": "arn:aws:ses:us-east-1:123456789012:identity/admin@example.com",
      "EmailSendingAccount": "DEVELOPER",
      "From": "admin@example.com"
    }

    ou

    {  "SourceArn": "arn:aws:ses:us-east-1:123456789012:identity/admin@example.com",
      "EmailSendingAccount": "COGNITO_DEFAULT"
    }

    Si EmailSendingAccount est DEVELOPER, cela signifie que votre groupe d'utilisateurs utilise Amazon SES. Vérifiez si votre compte Amazon SES se trouve dans l’environnement de test (sandbox). Si tel est le cas, déplacez-le hors de l’environnement de test (sandbox) pour envoyer des e-mails à des identités non vérifiées. S'il est déjà sorti de l’environnement de test (sandbox), consultez les journaux Amazon SES pour détecter les problèmes de livraison d’e-mails.
    Si EmailSendingAccount est COGNITO_DEFAULT, cela signifie que votre groupe d'utilisateurs utilise la fonctionnalité de messagerie par défaut d'Amazon Cognito. Cette fonctionnalité impose un quota sur les e-mails envoyés par groupe d'utilisateurs.

Résoudre les erreurs de quota d'e-mails quotidiens

Le message d'erreur suivant peut s'afficher : "Exceeded daily email limit for the operation or account. Number of allowed operation has exceeded. If a higher limit is required, please configure your user pool to use your own Amazon SES configuration for sending email messages."

Si vous recevez cette erreur, cela signifie que vous avez dépassé le quota de configuration d’e-mail par défaut d'Amazon Cognito.

Pour résoudre ce problème, configurez votre groupe d'utilisateurs afin qu'il utilise votre propre configuration Amazon SES pour l'envoi d'e-mails. Vos quotas d'envoi Amazon SES sont alors augmentés.

Informations connexes

Pourquoi Amazon Cognito n'envoie-t-il pas le code de vérification par e-mail ou par SMS via l'API ForgotPassword ?

AWS OFFICIELA mis à jour il y a un an