Wie behebe ich einen „Nicht autorisierten“ Fehler beim Senden von E-Mails in Amazon SES?

Lesedauer: 4 Minute
0

Ich versuche, eine E-Mail mit Amazon Simple Email Service (Amazon SES) zu senden, erhalte aber weiterhin die Fehlermeldung „Nicht autorisiert“.

Kurzbeschreibung

Der Fehler „Nicht autorisiert“ kann aus folgenden Gründen auftreten:

  • Sie verwenden den falschen AWS Identity and Access Management-Benutzer (IAM) oder die falsche Rolle, um E-Mails zu senden.
  • Die IAM-Identität, die Sie verwenden, hat keine ses:SendEmail oder ses:SendRawEmail Berechtigungen.
  • Die IAM-Richtlinie oder Autorisierungsrichtlinie verweigert Ihre IAM-Identitätsberechtigung für die Aktionen ses:SendEmail oder ses:SendRawEmail.
  • Die Grenzen der IAM-Berechtigungen erlauben keinen Zugriff auf Amazon SES.
  • Service Control Policies (SCPs) von AWS Organizations erlauben keinen Amazon SES-Zugriff.
  • Für kontoübergreifendes Senden: Die Autorisierungsrichtlinie für die sendende Identität erlaubt es der IAM-Identität nicht, E-Mails zu senden.

Gehen Sie folgendermaßen vor, um Autorisierungsfehler zu beheben:

  • Stellen Sie sicher, dass Sie die richtige IAM-Identität zum Senden von E-Mails verwenden.
  • Stellen Sie sicher, dass die IAM-Identität über die Berechtigungen ses:SendEmail und ses:SendRawEmail zum Senden von E-Mails verfügt.
  • Überprüfen Sie, ob in der IAM-Richtlinie oder Autorisierungsrichtlinie Ablehnungsanweisungen vorhanden sind, die den Zugriff blockieren.
  • Überprüfen Sie, ob eine Aktion, die in Ihrer IAM-Richtlinie zulässig ist, innerhalb der Berechtigungsgrenze nicht zulässig ist.
  • Nehmen Sie alle erforderlichen Aktionen mithilfe der IAM-Konsole in die Berechtigungsgrenze auf.
  • Wenn Sie AWS-Organisationen verwenden, stellen Sie sicher, dass Sie keine SCPs haben, die Amazon SES-Aktionen ausdrücklich verweigern.
  • Überprüfen Sie beim kontoübergreifenden Senden, ob die Autorisierungsrichtlinie für die sendende Identität die erforderlichen Berechtigungen für die IAM-Identität gewährt.

Behebung

Überprüfen Sie, ob die IAM-Identität über die Berechtigungen ses:SendEmail und ses:SendRawEmail verfügt

Stellen Sie sicher, dass Ihre IAM-Identität über die richtigen Berechtigungen zum Senden von E-Mails verfügt.

Dazu gehen Sie wie folgt vor:

  1. Öffnen Sie die IAM-Konsole.
  2. Wählen Sie den IAM-Benutzer oder die IAM-Rolle aus, die zum Senden von E-Mails verwendet wird
  3. Wählen Sie den IAM-Identitätsnamen aus, den Sie zum Senden von E-Mails verwenden.
  4. Erweitern Sie auf der Registerkarte Berechtigungen Ihrer IAM-Identität jede Richtlinie, um ihr JSON-Richtliniendokument anzuzeigen.
  5. Suchen Sie nach Richtlinien, die sich auf den Amazon SES-Zugriff beziehen. Bestätigen Sie anschließend, dass Sie über die Berechtigungen für die Aktionen ses:SendEmail oder ses:SendRawEmail verfügen.

Die folgende Beispiel-IAM-Richtlinie erlaubt der IAM-Identität das Senden von E-Mails:

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

Hinweis: Unter SendEmail und SendRawEmail finden Sie Informationen darüber, welche Sendeaktionen Sie jeweils ausführen können. Wenn keine IAM-Richtlinie vorhanden ist, erstellen Sie eine IAM-Richtlinie, um Ihnen Zugriff auf das Senden von E-Mails zu gewähren.

Überprüfen Sie, ob es Ablehnungsanweisungen gibt, die den Zugriff blockieren

Überprüfen Sie die IAM-Richtlinien auf Ablehnungsanweisungen, die möglicherweise den Zugriff auf das Senden von E-Mails verweigern.

Wenn es Ablehnungsanweisungen gibt, überprüfen Sie auf Bedingungen, die den Zugriff blockieren, basierend auf den folgenden Kriterien:

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

Stellen Sie sicher, dass die IAM-Berechtigungsgrenzen den Zugriff auf Amazon SES erlauben

Überprüfen Sie die IAM-Berechtigungsgrenzen, die für die IAM-Identitäten festgelegt sind, die versuchen, auf Amazon SES zuzugreifen. Bestätigen Sie, dass die IAM-Berechtigungsgrenzen den Zugriff auf Amazon SES erlauben. Weitere Informationen finden Sie unter Delegieren von Verantwortung an andere Personen mithilfe von Berechtigungsgrenzen.

Überprüfen Sie, ob es SCPs von AWS-Organisationen gibt, die den Amazon SES-Zugriff nicht zulassen

Wenn Sie AWS-Organisationen verwenden, überprüfen Sie die SPCs auf Anweisungen, die die Aktionen ses:SendEmail und ses:SendRawEmail oder andere Amazon SES-Aktionen ausdrücklich verweigern. Löschen Sie die Service Control-Richtlinien, die Amazon SES-Aktionen in Übereinstimmung mit den Sicherheitsrichtlinien Ihrer Organisation ausdrücklich verweigern.

Die folgende Richtlinie verweigert beispielsweise den Zugriff auf alle Amazon SES-Aktionen:

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

Überprüfen Sie, ob die Sendeautorisierungsrichtlinie in Amazon SES dem delegierten Absender Berechtigungen gewährt.

Wenn Sie andere Benutzer autorisieren, E-Mails von Ihren Identitäten zu senden, überprüfen Sie, ob die Autorisierungsrichtlinie über die richtigen Berechtigungen verfügt. Überprüfen Sie außerdem, ob explizite Ablehnungsanweisungen vorliegen. Stellen Sie sicher, dass der Absender denselben Amazon SES-Endpunkt in der AWS-Region verwendet, in dem Sie die Identität verifiziert haben. Sie müssen sich selbst (Identitätsinhaber) und den delegierten Absender aus der Sandbox entfernen, um E-Mails an nicht verifizierte Adressen zu senden. Informationen zum Anzeigen, Bearbeiten oder Entfernen einer Richtlinie finden Sie unter Verwalten Ihrer Sendeautorisierungsrichtlinien.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren