Abrufen von SES SMTP Amazon-Anmeldeinformationen - Amazon Simple Email Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Abrufen von SES SMTP Amazon-Anmeldeinformationen

Sie benötigen SES SMTP Amazon-Anmeldeinformationen, um auf die SES SMTP Schnittstelle zuzugreifen.

Die Anmeldeinformationen, die Sie zum Senden von E-Mails über die SES SMTP Schnittstelle verwenden, sind für jede AWS Region einzigartig. Wenn Sie die SES SMTP Schnittstelle zum Senden von E-Mails in mehr als einer Region verwenden, müssen Sie für jede Region, die Sie verwenden möchten, eine Reihe von SMTP Anmeldeinformationen generieren.

Ihr SMTP Passwort unterscheidet sich von Ihrem AWS geheimen Zugangsschlüssel. Weitere Informationen zu Anmeldeinformationen finden Sie unter Arten von Amazon-SES-Anmeldeinformationen.

Anmerkung

SMTPEndgeräte sind derzeit in Afrika (Kapstadt), Asien-Pazifik (Jakarta), Europa (Mailand), Israel (Tel Aviv) und dem Nahen Osten (Bahrain) nicht verfügbar.

SESSMTPAnmeldeinformationen mithilfe der Konsole abrufen SES

Anforderung

Ein IAM Benutzer kann SES SMTP Anmeldeinformationen erstellen, aber die Benutzerrichtlinie muss ihm die Erlaubnis geben, IAM sich selbst zu verwenden, da SES SMTP Anmeldeinformationen mithilfe von erstellt werdenIAM. Ihre IAM Richtlinie muss es Ihnen ermöglichen, die folgenden IAM Aktionen auszuführen: iam:ListUsersiam:CreateUser,iam:CreateAccessKey, undiam:PutUserPolicy. Wenn Sie versuchen, SES SMTP Anmeldeinformationen mithilfe der Konsole zu erstellen und Ihr IAM Benutzer nicht über diese Berechtigungen verfügt, wird eine Fehlermeldung angezeigt, die besagt, dass Ihr Konto „nicht autorisiert ist, iam auszuführen:“ListUsers.

Um Ihre Anmeldeinformationen zu erstellen SMTP
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die SES Amazon-Konsole unter https://console.aws.amazon.com/ses/.

  2. Wählen Sie im linken Navigationsbereich SMTPEinstellungen aus. Dadurch wird die Einstellungsseite für das Simple Mail Transfer Protocol (SMTP) geöffnet.

  3. Wählen Sie in der oberen rechten Ecke SMTPCredentials erstellen aus. Die IAM Konsole wird geöffnet.

  4. (Optional) Wenn Sie bereits erstellte SMTP Benutzer anzeigen, bearbeiten oder löschen möchten, wählen Sie in der unteren rechten Ecke die Option Meine vorhandenen SMTP Anmeldeinformationen verwalten aus. Die Konsole wird geöffnet. IAM Einzelheiten zur Verwaltung von SMTP Anmeldeinformationen finden Sie im Anschluss an diese Verfahren.

  5. Geben Sie unter Benutzer erstellen für SMTP einen Namen für Ihren SMTP Benutzer in das Feld Benutzername ein. Alternativ können Sie den Standardwert verwenden, der in diesem Feld bereitgestellt wird. Wenn Sie fertig sind, wählen Sie Erstellen  in der unteren rechten Ecke.

  6. Wählen Sie unter SMTPPasswort anzeigen aus. Ihre SMTP Anmeldedaten werden auf dem Bildschirm angezeigt.

  7. Laden Sie diese Anmeldeinformationen herunter, indem Sie CSV-Datei herunterladen auswählen, oder kopieren Sie sie und speichern Sie sie an einem sicheren Ort, da Sie Ihre Anmeldeinformationen nach dem Schließen dieses Dialogfelds nicht anzeigen oder speichern können.

  8. Wählen Sie Zurück zur SES Konsole.

Sie können eine Liste der SMTP Anmeldeinformationen, die Sie mit diesem Verfahren erstellt haben, in der IAM Konsole unter Zugriffsverwaltung anzeigen. Wählen Sie Benutzer aus und suchen Sie anschließend mithilfe der Suchleiste nach allen Benutzern, denen Sie SMTP Anmeldeinformationen zugewiesen haben.

Sie können die IAM Konsole auch verwenden, um vorhandene SMTP Benutzer zu löschen. Weitere Informationen zum Löschen von Benutzern finden Sie im Handbuch IAM Erste Schritte unter IAMBenutzer verwalten.

Wenn Sie Ihr SMTP Passwort ändern möchten, löschen Sie Ihren vorhandenen SMTP Benutzer in der IAM Konsole. Führen Sie dann die vorherigen Verfahren aus, um einen neuen Satz von SMTP Anmeldeinformationen zu generieren.

Abrufen von SES SMTP Anmeldeinformationen durch Konvertierung vorhandener AWS Anmeldeinformationen

Wenn Sie einen Benutzer haben, den Sie über die IAM Benutzeroberfläche eingerichtet haben, können Sie die SES SMTP Anmeldeinformationen des Benutzers aus seinen AWS Anmeldeinformationen ableiten.

Wichtig

Verwenden Sie keine temporären AWS Anmeldeinformationen, um Anmeldeinformationen abzuleitenSMTP. Die SES SMTP Schnittstelle unterstützt keine SMTP Anmeldeinformationen, die aus temporären Sicherheitsanmeldeinformationen generiert wurden.

Um dem IAM Benutzer das Senden von E-Mails über die SES SMTP Benutzeroberfläche zu ermöglichen
  1. Leiten Sie die SMTP Anmeldeinformationen des Benutzers anhand seiner AWS Anmeldeinformationen ab, indem Sie den in diesem Abschnitt bereitgestellten Algorithmus verwenden und dabei die folgenden Verfahren befolgen.

    Da Sie mit AWS Anmeldeinformationen beginnen, entspricht der SMTP Benutzername der AWS Zugriffsschlüssel-ID, sodass Sie nur das SMTP Passwort generieren müssen.

  2. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  3. Wählen Sie unter Zugriffsverwaltung die Option Richtlinien und anschließend Richtlinie erstellen aus.

  4. Wählen Sie im Richtlinieneditor einen beliebigen Beispielcode aus dem Editor aus JSONund entfernen Sie ihn.

  5. Fügen Sie die folgende Berechtigungsrichtlinie in den Editor ein:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  6. Wählen Sie Weiter aus und geben Sie AmazonSesSendingAccess in das Feld Richtlinienname gefolgt von Richtlinie erstellen ein.

  7. Wählen Sie unter Zugriffsverwaltung die Option Benutzergruppen und anschließend Gruppe erstellen aus.

  8. Geben Sie AWSSESSendingGroupDoNotRename in das Feld Benutzergruppenname ein.

  9. Fügen Sie der Gruppe SMTP Benutzer hinzu, indem Sie sie aus der Tabelle Benutzer zur Gruppe hinzufügen auswählen.

  10. Hängen Sie die zuvor erstellte AmazonSesSendingAccess Richtlinie an, indem Sie sie aus der Tabelle mit den Richtlinien für Berechtigungen anhängen und anschließend Benutzergruppe erstellen auswählen.

Weitere Informationen zur Verwendung von SES mit IAM finden Sie unterIdentity and Access Management in Amazon S3.

Anmerkung

Sie können zwar SES SMTP Anmeldeinformationen für jeden IAM Benutzer generieren, wir empfehlen jedoch, bei der Generierung Ihrer SMTP Anmeldeinformationen einen separaten IAM Benutzer zu erstellen. Informationen darüber, warum es sich bewährt hat, Benutzer für bestimmte Zwecke zu erstellen, finden Sie unter IAMBewährte Methoden.

Der folgende Pseudocode zeigt den Algorithmus, der einen AWS geheimen Zugriffsschlüssel in ein Passwort umwandelt. SES SMTP

// Modify this variable to include your AWS secret access key key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"; // Modify this variable to refer to the AWS Region that you want to use to send email. region = "us-west-2"; // The values of the following variables should always stay the same. date = "11111111"; service = "ses"; terminal = "aws4_request"; message = "SendRawEmail"; version = 0x04; kDate = HmacSha256(date, "AWS4" + key); kRegion = HmacSha256(region, kDate); kService = HmacSha256(service, kRegion); kTerminal = HmacSha256(terminal, kService); kMessage = HmacSha256(message, kTerminal); signatureAndVersion = Concatenate(version, kMessage); smtpPassword = Base64(signatureAndVersion);

Einige Programmiersprachen enthalten Bibliotheken, mit denen Sie einen IAM geheimen Zugriffsschlüssel in ein SMTP Passwort umwandeln können. Dieser Abschnitt enthält ein Codebeispiel, mit dem Sie mithilfe von Python einen AWS geheimen Zugriffsschlüssel in ein SES SMTP Passwort konvertieren können.

Anmerkung

Im folgenden Beispiel werden f-Zeichenfolgen verwendet, die in Python 3.6 eingeführt wurden. Wenn Sie eine ältere Version verwenden, funktionieren sie nicht.

Derzeit unterstützt Python SDK (Boto3) offiziell 2.7 und 3.6 (oder höher). Die Unterstützung von 2.7 ist jedoch veraltet und wird am 15.07.2021 gelöscht. Daher müssen Sie ein Upgrade auf mindestens 3.6 durchführen.

Python
#!/usr/bin/env python3 import hmac import hashlib import base64 import argparse SMTP_REGIONS = [ "us-east-2", # US East (Ohio) "us-east-1", # US East (N. Virginia) "us-west-2", # US West (Oregon) "ap-south-1", # Asia Pacific (Mumbai) "ap-northeast-2", # Asia Pacific (Seoul) "ap-southeast-1", # Asia Pacific (Singapore) "ap-southeast-2", # Asia Pacific (Sydney) "ap-northeast-1", # Asia Pacific (Tokyo) "ca-central-1", # Canada (Central) "eu-central-1", # Europe (Frankfurt) "eu-west-1", # Europe (Ireland) "eu-west-2", # Europe (London) "eu-south-1", # Europe (Milan) "eu-north-1", # Europe (Stockholm) "sa-east-1", # South America (Sao Paulo) "us-gov-west-1", # AWS GovCloud (US) "us-gov-east-1", # AWS GovCloud (US) ] # These values are required to calculate the signature. Do not change them. DATE = "11111111" SERVICE = "ses" MESSAGE = "SendRawEmail" TERMINAL = "aws4_request" VERSION = 0x04 def sign(key, msg): return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest() def calculate_key(secret_access_key, region): if region not in SMTP_REGIONS: raise ValueError(f"The {region} Region doesn't have an SMTP endpoint.") signature = sign(("AWS4" + secret_access_key).encode("utf-8"), DATE) signature = sign(signature, region) signature = sign(signature, SERVICE) signature = sign(signature, TERMINAL) signature = sign(signature, MESSAGE) signature_and_version = bytes([VERSION]) + signature smtp_password = base64.b64encode(signature_and_version) return smtp_password.decode("utf-8") def main(): parser = argparse.ArgumentParser( description="Convert a Secret Access Key to an SMTP password." ) parser.add_argument("secret", help="The Secret Access Key to convert.") parser.add_argument( "region", help="The AWS Region where the SMTP password will be used.", choices=SMTP_REGIONS, ) args = parser.parse_args() print(calculate_key(args.secret, args.region)) if __name__ == "__main__": main()

Um Ihr SMTP Passwort mithilfe dieses Skripts zu erhalten, speichern Sie den vorherigen Code unter. smtp_credentials_generate.py Führen Sie in der Befehlszeile den folgenden Befehl aus.

python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY us-east-1

Gehen Sie im vorhergehenden Befehl wie folgt vor:

  • Ersetzen path/to/ mit dem Pfad zu dem Ort, an dem Sie gespeichert habensmtp_credentials_generate.py.

  • Ersetzen wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY mit dem geheimen Zugriffsschlüssel, den Sie in ein SMTP Passwort umwandeln möchten.

  • Ersetzen us-east-1 mit der AWS Region, in der Sie die SMTP Anmeldeinformationen verwenden möchten.

Wenn dieses Skript erfolgreich ausgeführt wird, ist die einzige Ausgabe Ihr SMTP Passwort.

Migrieren eines SMTP Benutzers von einer vorhandenen Inline-Richtlinie zu einer Gruppenrichtlinie (Sicherheitsempfehlung)

Wichtig

Wenn Sie vor dem 6. September 2024 SES SMTP Anmeldeinformationen erstellt haben, wurden Ihrem SMTP Benutzer eine Inline-Richtlinie und ein Tag zugewiesen. SESentfernt sich von Inline-Richtlinien und fordert Sie als Sicherheitsempfehlung dazu auf, dasselbe zu tun.

Bevor Sie einen SMTP Benutzer von einer vorhandenen Inline-Richtlinie zu einer Gruppenrichtlinie migrieren, müssen Sie zunächst eine IAM Benutzergruppe mit der SES Berechtigungsrichtlinie erstellen, die an die Stelle der Inline-Richtlinie tritt. Wenn Sie diese IAM Benutzergruppe bereits erstellt haben oder wenn sie automatisch für SMTP Anmeldeinformationen erstellt wurde, die Sie ab dem 6. September 2024 erstellt haben, können Sie in den folgenden Verfahren direkt mit Schritt 10 fortfahren.

So migrieren Sie von einer vorhandenen Inline-Richtlinie zu einer verwalteten Gruppe
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie unter Zugriffsverwaltung die Option Richtlinien und anschließend Richtlinie erstellen aus.

  3. Wählen Sie im Richtlinieneditor einen beliebigen Beispielcode aus dem Editor aus JSONund entfernen Sie ihn.

  4. Fügen Sie die folgende Berechtigungsrichtlinie in den Editor ein:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  5. Wählen Sie Weiter aus und geben Sie AmazonSesSendingAccess in das Feld Richtlinienname gefolgt von Richtlinie erstellen ein.

  6. Wählen Sie unter Zugriffsverwaltung die Option Benutzergruppen und anschließend Gruppe erstellen aus.

  7. Geben Sie AWSSESSendingGroupDoNotRename in das Feld Benutzergruppenname ein.

  8. Fügen Sie der Gruppe SMTP Benutzer hinzu, indem Sie sie aus der Tabelle Benutzer zur Gruppe hinzufügen auswählen.

  9. Hängen Sie die zuvor erstellte AmazonSesSendingAccess Richtlinie an, indem Sie sie aus der Tabelle mit den Richtlinien für Berechtigungen anhängen und anschließend Benutzergruppe erstellen auswählen.

    Nachdem Sie die IAM Benutzergruppe mit der SES Berechtigungsrichtlinie erstellt haben, können Sie einen SMTP Benutzer von seiner aktuellen Inline-Richtlinie zu dieser Gruppenrichtlinie migrieren, wie in den verbleibenden Schritten beschrieben.

  10. Wählen Sie unter Zugriffsverwaltung die Option Benutzer und anschließend den SMTP Benutzer aus, den Sie migrieren möchten.

  11. Wählen Sie die Registerkarte Gruppen aus und wählen Sie Benutzer zu Gruppen hinzufügen aus.

  12. Wählen Sie die AWSSESSendingGroupDoNotRename Gruppe aus, gefolgt von Benutzer zu Gruppe (n) hinzufügen.

  13. Wählen Sie die Registerkarte Berechtigungen aus und vergewissern Sie sich, dass in AmazonSesSendingAccess der Spalte Richtlinienname zwei Zeilen mit dem aufgeführt sind, eine Zeile mit Inline und eine mit Gruppe AWSSESSendingGroupDoNotRename in der Spalte Angehangen über.

  14. Wählen Sie nur die Zeile aus, die AmazonSesSendingAccess in der Spalte Richtlinienname und Inline in der Spalte Angehangen über enthält, gefolgt von Entfernen und bestätigen Sie mit Richtlinie entfernen.

    Vergewissern Sie sich, dass die Zeile mit der Gruppe AWSSESSendingGroupDoNotRename in der Spalte Angefügt über erhalten bleibt.

  15. Wählen Sie die Registerkarte „Tags“ und anschließend „Tags verwalten“.

  16. Wählen Sie neben der Zeile, die in der Schlüsselspalte und InvokedBySESConsolein der Spalte Wert enthält, die Option Entfernen aus, gefolgt von Änderungen speichern.

Wichtig

Die AmazonSesSendingAccess Richtlinie (entweder als Inline- oder Gruppenrichtlinie oder beides) muss dem SMTP Benutzer zugeordnet bleiben, um sicherzustellen, dass sein Senden nicht beeinträchtigt wird. Entfernen Sie die Inline-Richtlinie erst, nachdem die Gruppenrichtlinie Ihrem Benutzer zugewiesen wurde.