Come posso risolvere un errore "Non autorizzato" durante l'invio di e-mail in Amazon SES?

4 minuti di lettura
0

Sto cercando di inviare un'e-mail utilizzando il Servizio di email semplice Amazon (Amazon SES) ma continuo a ricevere un messaggio di errore "Non autorizzato".

Breve descrizione

L'errore "Non autorizzato" può verificarsi per i seguenti motivi:

  • Stai utilizzando l'utente o il ruolo AWS Identity and Access Management (IAM) errato per inviare e-mail.
  • L'identità IAM che stai utilizzando non dispone delle autorizzazioni ses:SendEmail o ses:SendRawEmail.
  • La policy IAM o la policy di autorizzazione nega l'accesso all'identità IAM per le operazioni ses:SendEmail o ses:SendRawEmail.
  • I limiti delle autorizzazioni IAM non consentono l'accesso ad Amazon SES.
  • Le policy di controllo dei servizi (SCP) di AWS Organizations non consentono l'accesso ad Amazon SES.
  • Per l'invio tra account: la policy di autorizzazione per l'identità di invio non consente all'identità IAM di inviare e-mail.

Per risolvere gli errori di autorizzazione, attieniti alla seguente procedura:

  • Assicurati di utilizzare l'identità IAM corretta per inviare e-mail.
  • Assicurati che l'identità IAM disponga delle autorizzazioni ses:SendEmail e ses:SendRawEmail per inviare e-mail.
  • Verifica la presenza di eventuali dichiarazioni di rifiuto che potrebbero bloccare l'accesso all'interno della policy IAM o della policy di autorizzazione.
  • Verifica se un'azione consentita nella tua policy IAM non è consentita nel limite delle autorizzazioni.
  • Includi nei limiti delle autorizzazioni tutte le azioni necessarie utilizzando la console IAM.
  • Se utilizzi AWS Organizations, verifica di non avere policy di controllo dei servizi (SCP) che negano esplicitamente le operazioni di Amazon SES.
  • Per l'invio tra account, verifica che la policy di autorizzazione per l'identità di invio conceda le autorizzazioni richieste all'identità IAM.

Risoluzione

Verificare che l'identità IAM disponga delle autorizzazioni ses:SendEmail e ses:SendRawEmail

Assicurati che la tua identità IAM disponga delle autorizzazioni corrette per inviare e-mail.

Completa i seguenti passaggi:

  1. Apri la console IAM.
  2. Seleziona l'utente o il ruolo IAM utilizzato per inviare e-mail.
  3. Seleziona il nome dell'identità IAM che stai utilizzando per inviare e-mail.
  4. Nella scheda Permissions (Autorizzazioni) dell'identità IAM, espandi ciascuna policy per visualizzare il relativo documento di policy JSON.
  5. Cerca le policy correlate all'accesso ad Amazon SES. Conferma quindi di disporre delle autorizzazioni necessarie per le operazioni ses:SendEmail o ses:SendRawEmail.

La seguente policy IAM di esempio consente all'identità IAM di inviare e-mail:

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

Nota: consulta SendEmail e SendRawEmail per informazioni sulle operazioni di invio che è possibile eseguire con ognuno di questi parametri. Se non è già presente, crea una policy IAM per abilitare l'invio di e-mail.

Verificare la presenza di dichiarazioni di rifiuto che bloccano l'accesso

Controlla le policy IAM per verificare la presenza di eventuali dichiarazioni di rifiuto che potrebbero negare l'accesso all'invio di e-mail.

Se sono presenti dichiarazioni di rifiuto, verifica le condizioni che bloccano l'accesso in base a quanto segue:

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

Confermare che i limiti delle autorizzazioni IAM consentono l'accesso ad Amazon SES

Controlla i limiti delle autorizzazioni IAM impostati sulle identità IAM che stanno tentando di accedere ad Amazon SES. Conferma che i limiti delle autorizzazioni IAM permettano l'accesso ad Amazon SES. Per ulteriori informazioni, consulta Delega di responsabilità ad altri mediante i limiti delle autorizzazioni.

Verificare la presenza di eventuali policy di controllo dei servizi (SCP) di AWS Organizations che non consentono l'accesso ad Amazon SES

Se utilizzi AWS Organizations, controlla le policy di controllo dei servizi (SCP) per eventuali dichiarazioni che negano esplicitamente ses:SendEmail e ses:SendRawEmail o qualsiasi altra operazione di Amazon SES. Elimina le policy di controllo dei servizi che negano esplicitamente le operazioni di Amazon SES in base alle policy di sicurezza della tua organizzazione.

Ad esempio, la policy seguente nega l'accesso a tutte le operazioni di Amazon SES:

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

Verificare che la policy per l'autorizzazione di invio in Amazon SES conceda le autorizzazioni al mittente delegato

Quando autorizzi altri utenti a inviare e-mail dalle identità di tua proprietà, verifica che la policy di autorizzazione disponga delle autorizzazioni corrette. Verifica inoltre la presenza di eventuali dichiarazioni di rifiuto esplicite. Assicurati che il mittente utilizzi lo stesso endpoint Amazon SES nella regione AWS in cui hai verificato l'identità. Per inviare e-mail a indirizzi non verificati, rimuovi te stesso (proprietario dell'identità) e il mittente delegato dalla sandbox (ambiente di sperimentazione). Per visualizzare, modificare o rimuovere una policy, consulta Gestione delle policy per l'autorizzazione di invio.


AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa