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

Lecture de 5 minute(s)
0

J'essaie d'envoyer un e-mail en utilisant Amazon Simple Email Service (Amazon SES), mais je continue à recevoir une erreur « Unauthorized » (Non autorisé).

Brève description

L'erreur « Unauthorized » (Non autorisé) peut se produire pour les raisons suivantes :

  • Vous utilisez le mauvais utilisateur ou rôle AWS Identity and Access Management (IAM) pour envoyer des e-mails.
  • L'identité IAM que vous utilisez ne dispose pas des autorisations ses:SendEmail ou ses:SendRawEmail.
  • La politique IAM ou la politique d'autorisation refuse à votre identité IAM l'autorisation d'effectuer les actions ses:SendEmail ou ses:SendRawEmail.
  • Les limites des autorisations IAM n'autorisent pas l'accès à Amazon SES.
  • Les politiques de contrôle des services (SCP) d'AWS Organizations ne permettent pas l'accès à Amazon SES.
  • Pour l'envoi inter-comptes : la politique d'autorisation de l'identité d'envoi n'autorise pas l'identité IAM à envoyer des e-mails.

Pour résoudre les erreurs d'autorisation, procédez comme suit :

  • Vérifiez que vous utilisez la bonne identité IAM pour envoyer des e-mails.
  • Assurez-vous que l'identité IAM dispose des autorisations ses:SendEmail et ses:SendRawEmail pour envoyer des e-mails.
  • Vérifiez si la politique IAM ou la politique d'autorisation contient des instructions de refus qui bloquent l'accès.
  • Vérifiez si une action autorisée dans votre politique IAM ne l'est pas dans la limite des autorisations.
  • Incluez toutes les actions requises dans la limite d’autorisations à l'aide de la console IAM.
  • Si vous utilisez AWS Organizations, vérifiez que vous n'avez aucune politique de contrôle des services qui refuse explicitement les actions Amazon SES.
  • Pour l'envoi inter-comptes, vérifiez que la politique d'autorisation de l'identité d'envoi accorde les autorisations requises à l'identité IAM.

Solution

Vérifiez que l'identité IAM dispose des autorisations ses:SendEmail et ses:SendRawEmail

Assurez-vous que votre identité IAM dispose des autorisations correctes pour envoyer des e-mails.

Procédez comme suit :

  1. Ouvrez la console IAM.
  2. Sélectionnez l'utilisateur ou le rôle IAM qui est utilisé pour envoyer des e-mails.
  3. Sélectionnez le nom de l'identité IAM que vous utilisez pour envoyer des e-mails.
  4. Dans l'onglet Permissions (Autorisations) de l'identité IAM que vous utilisez, développez chaque politique pour afficher son document de politique JSON.
  5. Recherchez les politiques qui sont liées à l'accès à Amazon SES. Ensuite, confirmez que vous avez les autorisations pour les actions ses:SendEmail ou ses:SendRawEmail.

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 : consultez SendEmail et SendRawEmail pour obtenir des informations sur les actions d'envoi que vous pouvez effectuer avec chacune d'elles. Si une politique IAM n'existe pas, créez une politique IAM pour vous accorder l'accès à l'envoi d'e-mails.

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

Vérifiez que les politiques IAM ne contiennent pas d'instructions de refus qui pourraient bloquer l'accès à l'envoi d'e-mails.

S'il y a des instructions de refus, vérifiez les conditions qui bloquent l'accès sur la base des éléments suivants :

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

Confirmez que les limites d'autorisations IAM permettent l'accès à Amazon SES

Vérifiez les limites d'autorisations IAM qui sont définies sur l'identité IAM qui tente d'accéder à Amazon SES. Confirmez que les limites d'autorisations IAM permettent l'accès à Amazon SES. Pour plus d'informations, consultez Délégation de responsabilité à d'autres personnes à l'aide des limites d'autorisations.

Vérifiez s'il existe des politiques de contrôle des services d'AWS Organizations qui n'autorisent pas l'accès à Amazon SES

Si vous utilisez AWS Organizations, vérifiez les politiques de contrôle des services pour toute instruction qui refuse explicitement les actions ses:SendEmail et ses:SendRawEmail ou toute autre action Amazon SES. Supprimez les politiques de contrôle des services qui refusent explicitement les actions Amazon SES conformément aux politiques de sécurité de votre organisation.

Par exemple, la politique suivante refuse l'accès à toutes les actions Amazon SES :

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

Vérifiez que la politique d'autorisation d'envoi dans 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 correctes. Vérifiez également la présence de toute instruction de refus explicite. 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é l'identité. Vous devez supprimer vous-même (propriétaire de l'identité) et l'expéditeur délégué de l'environnement de test (sandbox) pour envoyer des e-mails à des adresses non vérifiées. Pour afficher, modifier ou supprimer une politique, consultez Gestion de vos politiques d'autorisation d'envoi.


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an