Passer au contenu

Comment résoudre une erreur « Unauthorized » lorsque j'envoie des e-mails dans Amazon SES ?

Lecture de 3 minute(s)
0

J'ai utilisé Amazon Simple Email Service (Amazon SES) pour essayer d'envoyer un e-mail et j'ai reçu un message d'erreur « Unauthorized ».

Résolution

Vérifier les autorisations IAM

Pour vérifier que votre identité Gestion des identités et des accès AWS (AWS IAM) dispose des autorisations appropriées pour envoyer des e-mails, procédez comme suit :

  1. Ouvrez la console IAM.

  2. Sélectionnez l'utilisateur ou le rôle IAM utilisé pour envoyer des e-mails.

  3. Sélectionnez le nom d'identité IAM que vous utilisez pour envoyer des e-mails.

  4. Dans l'onglet Autorisations de votre identité IAM, développez chaque politique pour afficher son document de politique JSON.

  5. Recherchez les politiques liées à l'accès à Amazon SES. Puis, vérifiez que vous disposez des autorisations nécessaires pour les actions ses:SendEmail ou ses:SendRawEmail.<br id=hardline_break/> L'exemple de politique IAM suivant permet à l'identité IAM d'envoyer des e-mails :

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ses:SendEmail",
                    "ses:SendRawEmail"
                ],
                "Resource": "*"
            }
        ]
    }

    Remarque : s'il n'existe pas de politique IAM, créez-en une pour vous permettre d'envoyer des e-mails avec l'exemple de politique précédent.

Vérifier s'il existe des instructions de refus qui bloquent l'accès

Consultez les politiques IAM pour détecter toute instruction de refus susceptible de refuser l'accès à l'envoi d'e-mails.

S'il existe des instructions de refus, supprimez ou modifiez les conditions suivantes qui limitent l'accès :

  • ses:Recipients
  • ses:FromAddress
  • ses:FromDisplayName
  • ses:FeedbackAddress
  • aws:CurrentTime
  • aws:EpochTime
  • aws:SecureTransport
  • aws:SourceIp
  • aws:UserAgent

Confirmer que les limites d’autorisations IAM permettent l’accès à Amazon SES

Vérifiez les limites d'autorisations IAM définies pour l'identité IAM qui a tenté d'accéder à Amazon SES. Assurez-vous que les limites d’autorisations IAM autorisent l’accès à Amazon SES. Pour plus d'informations, consultez la section Délégation de responsabilités à d'autres personnes en utilisant des limites d'autorisations.

Vérifier que les SCP d'AWS Organizations ne refusent pas l'accès à Amazon SES

Si vous utilisez AWS Organizations, vérifiez que la politique de contrôle des services (SCP) ne contient aucune instruction qui refuse explicitement les actions ses:SendEmail et ses:SendRawEmail. Supprimez les SCP qui refusent explicitement les actions d'Amazon SES conformément aux politiques de sécurité de votre organisation.

L'exemple de politique suivant refuse l'accès à toutes les actions Amazon SES :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "ses:*",
            "Resource": "*"
        }
    ]
}

Vérifier que la politique d'autorisation des expéditeurs d'Amazon SES accorde des autorisations à l'expéditeur délégué

Lorsque vous autorisez d'autres utilisateurs à envoyer des e-mails à partir des identités que vous possédez, vérifiez que la politique d'autorisation dispose des autorisations appropriées. Assurez-vous que l'expéditeur utilise le même point de terminaison Amazon SES dans la région AWS dans laquelle vous avez vérifié son identité. Vous devez supprimer le compte AWS de l'expéditeur délégué de l’environnement de test (sandbox) pour qu'il puisse envoyer des e-mails à des adresses non vérifiées. Pour visualiser, modifier ou supprimer une politique, consultez la section Gestion de vos politiques d'autorisation d'identité dans Amazon SES.