Obtention des SES SMTP informations d'identification Amazon - Amazon Simple Email Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Obtention des SES SMTP informations d'identification Amazon

Vous avez besoin des SES SMTP informations d'identification Amazon pour accéder à l'SESSMTPinterface.

Les informations d'identification que vous utilisez pour envoyer des e-mails via l'SESSMTPinterface sont uniques à chaque AWS région. Si vous utilisez l'SESSMTPinterface pour envoyer des e-mails dans plusieurs régions, vous devez générer un ensemble d'SMTPinformations d'identification pour chaque région que vous prévoyez d'utiliser.

Votre SMTP mot de passe est différent de votre clé d'accès AWS secrète. Pour en savoir plus sur les informations d'identification, consultez Types d'informations d'identification Amazon SES.

Note

SMTPles points de terminaison ne sont actuellement pas disponibles en Afrique (Le Cap), en Asie-Pacifique (Jakarta), en Europe (Milan), en Israël (Tel Aviv) et au Moyen-Orient (Bahreïn).

Obtenir des SES SMTP informations d'identification à l'aide de la SES console

Lorsque vous utilisez le SES flux de travail ci-dessous pour générer des SMTP informations d'identification à l'aide de la console, vous êtes redirigé vers la IAM console pour créer un utilisateur avec les politiques appropriées à appeler SES et vous fournir les SMTP informations d'identification associées à cet utilisateur.

Exigence

Un IAM utilisateur peut créer des SES SMTP informations d'identification, mais la politique de l'utilisateur doit l'autoriser à IAM s'utiliser elle-même, car les SES SMTP informations d'identification sont créées en utilisantIAM. Votre IAM politique doit vous permettre d'effectuer les IAM actions suivantes : iam:ListUsersiam:CreateUser,iam:CreateAccessKey, etiam:PutUserPolicy. Si vous essayez de créer des SES SMTP informations d'identification à l'aide de la console et que votre IAM utilisateur ne dispose pas de ces autorisations, un message d'erreur indiquant que votre compte n'est « pas autorisé à exécuter iam : » s'afficheListUsers.

Pour créer vos SMTP informations d'identification
  1. Connectez-vous à la SES console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ses/.

  2. Choisissez SMTPles paramètres dans le volet de navigation de gauche. Cela ouvrira la page des paramètres du protocole Simple Mail Transfer Protocol (SMTP).

  3. Choisissez Create SMTP Credentials dans le coin supérieur droit. La IAM console s'ouvre.

  4. (Facultatif) Si vous devez afficher, modifier ou supprimer des SMTP utilisateurs que vous avez déjà créés, choisissez Gérer mes SMTP informations d'identification existantes dans le coin inférieur droit. La IAM console s'ouvre. Les détails relatifs à la gestion des SMTP informations d'identification sont fournis conformément à ces procédures.

  5. Pour Créer un utilisateur pour SMTP, saisissez le nom de votre SMTP utilisateur dans le champ Nom d'utilisateur. Vous pouvez également utiliser la valeur par défaut qui est fourni dans ce champ. Lorsque vous avez terminé, sélectionnez Créer un utilisateur dans le coin inférieur droit.

  6. Sélectionnez Afficher sous le SMTPmot de passe. Vos SMTP informations d'identification s'affichent à l'écran.

  7. Téléchargez ces informations d'identification en sélectionnant Télécharger le fichier .csv ou copiez-les et stockez-les en lieu sûr, car vous ne pourrez plus les afficher ou les enregistrer après avoir fermé cette boîte de dialogue.

  8. Choisissez SESRetourner à la console.

Vous pouvez consulter la liste des informations d'SMTPidentification que vous avez créées à l'aide de cette procédure dans la IAM console, sous Gestion des accès, en choisissant Utilisateurs, puis en utilisant la barre de recherche pour trouver tous les utilisateurs auxquels vous avez attribué des SMTP informations d'identification.

Vous pouvez également utiliser la IAM console pour supprimer des SMTP utilisateurs existants. Pour en savoir plus sur la suppression d'utilisateurs, consultez la section Gestion des IAM utilisateurs dans le IAMGuide de démarrage.

Si vous souhaitez modifier votre SMTP mot de passe, supprimez votre SMTP utilisateur existant dans la IAM console. Ensuite, pour générer un nouvel ensemble d'SMTPinformations d'identification, effectuez les procédures précédentes.

Obtenir des SES SMTP informations d'identification en convertissant des AWS informations d'identification existantes

Si vous avez configuré un utilisateur à l'aide de l'IAMinterface, vous pouvez déduire les SES SMTP informations d'identification de l'utilisateur à partir de ses AWS informations d'identification.

Important

N'utilisez pas d' AWS informations d'identification temporaires pour obtenir des informations SMTP d'identification. L'SESSMTPinterface ne prend pas en charge SMTP les informations d'identification générées à partir d'informations de sécurité temporaires.

Pour permettre à l'IAMutilisateur d'envoyer des e-mails via l'SESSMTPinterface, procédez comme suit.

  • Dérivez les informations d'SMTPidentification de l'utilisateur à partir de ses AWS informations d'identification à l'aide de l'algorithme fourni dans cette section. Comme vous partez des AWS informations d'identification, le nom SMTP d'utilisateur est identique à l'identifiant de la clé AWS d'accès. Il vous suffit donc de générer le SMTP mot de passe.

  • Appliquez la politique suivante à l'IAMutilisateur :

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

    Pour plus d'informations sur l'utilisation SES avecIAM, consultezGestion des identités et des accès dans Amazon SES.

Note

Bien que vous puissiez générer des SES SMTP informations d'identification pour n'importe quel IAM utilisateur, nous vous recommandons de créer un IAM utilisateur distinct lorsque vous générez vos SMTP informations d'identification. Pour savoir pourquoi il est recommandé de créer des utilisateurs à des fins spécifiques, consultez la section Bonnes IAM pratiques.

Le pseudocode suivant montre l'algorithme qui convertit une clé d'accès AWS secrète en mot de passe. 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);

Certains langages de programmation incluent des bibliothèques que vous pouvez utiliser pour convertir une clé d'accès IAM secrète en SMTP mot de passe. Cette section inclut un exemple de code que vous pouvez utiliser pour convertir une clé d'accès AWS secrète en mot de SES SMTP passe à l'aide de Python.

Note

L'exemple suivant utilise des f-strings qui ont été introduites dans Python 3.6 ; si vous utilisez une version plus ancienne, elles ne fonctionneront pas.

Actuellement, le Python SDK (Boto3) supporte officiellement les versions 2.7 et 3.6 (ou ultérieures). Cependant, le support pour la version 2.7 est obsolète et sera supprimé le 15/07/2021. Vous devrez donc effectuer une mise à niveau vers la version 3.6 au minimum.

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()

Pour obtenir votre SMTP mot de passe à l'aide de ce script, enregistrez le code précédent soussmtp_credentials_generate.py. Exécutez la ligne de commande suivante au moment de l'invite :

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

Dans la commande précédente, procédez comme suit :

  • Remplacez path/to/ avec le chemin d'accès à l'emplacement où vous avez enregistrésmtp_credentials_generate.py.

  • Remplacez wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY avec la clé d'accès secrète que vous souhaitez convertir en SMTP mot de passe.

  • Remplacez us-east-1 avec la AWS région dans laquelle vous souhaitez utiliser les SMTP informations d'identification.

Lorsque ce script s'exécute correctement, le seul résultat est votre SMTP mot de passe.