Obtaining your Amazon SES SMTP credentials - Amazon Simple Email Service

Si nous fournissons une traduction de la version anglaise du guide, la version anglaise du guide aura préséance en cas de contradiction. La traduction sera une traduction automatique.

Obtaining your Amazon SES SMTP credentials

Vous avez besoin d'un nom d'utilisateur et d'un mot de passe SMTP Amazon SES afin de pouvoir accéder à l'interface SMTP Amazon SES.

Les informations d'identification que vous utilisez pour envoyer des e-mails via l'interface SMTP Amazon SES sont uniques pour chaque région AWS. Si vous utilisez l'interface SMTP Amazon SES pour envoyer des e-mails dans plusieurs régions, vous devez générer un ensemble d'informations d'identification SMTP pour chaque région.

Note

Si vous avez créé des informations d’identification SMTP avant le 10 janvier 2019, vos identifiants SMTP ont été créés à l’aide d’une version plus ancienne du AWS Signature. Pour des raisons de sécurité, vous devez supprimer les informations d’identification que vous avez créées avant cette date et les remplacer par des informations d’identification plus récentes. Vous pouvez supprimer d'anciennes informations d'identification à l'aide de la console IAM.

Important

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

Obtaining Amazon SES SMTP credentials using the Amazon SES console

Lorsque vous générez des informations d'identification SMTP à l'aide de la console Amazon SES, la console Amazon SES crée un utilisateur IAM avec les stratégies appropriées pour appeler Amazon SES et vous fournit les informations d'identification SMTP associées à cet utilisateur.

Note

Un utilisateur IAM peut créer des informations d'identification SMTP Amazon SES, mais la stratégie de l'utilisateur IAM doit disposer d'une autorisation d'utilisation d'IAM, car les informations d'identification SMTP Amazon SES sont créées via IAM. Votre IAM doit vous permettre d’effectuer les tâches suivantes IAM actions : iam:ListUsers, iam:CreateUser, iam:CreateAccessKey, et iam:PutUserPolicy. Si vous essayez de créer Amazon SES Identifiants SMTP à l’aide de la console et de votre IAM l’utilisateur n’a pas ces autorisations, vous voyez une erreur indiquant que votre compte est « non autorisé à exécuter iam :listusers ».

Pour créer vos informations d'identification SMTP

  1. Connectez-vous à l'AWS Management Console et ouvrez la console Amazon SES à l'adresse https://console.aws.amazon.com/ses/.

  2. Dans le volet de navigation, choisissez SMTP Settings.

  3. Dans le volet de contenu, choisissez Create My SMTP Credentials.

  4. Pour Créer un utilisateur pour SMTP, tapez un nom d'utilisateur SMTP. Vous pouvez également utiliser la valeur par défaut qui est fourni dans ce champ. Lorsque vous avez terminé, choisissez Créer.

    
                        Créer un utilisateur pour SMTP
  5. Choisissez Afficher les informations d'identification de sécurité SMTP utilisateur. Vos informations d'identification SMTP sont affichées à l'écran. Copiez ces informations d'identification et stockez-les dans un endroit sûr. Vous pouvez également choisir Télécharger les informations d'identification pour télécharger un fichier contenant vos informations d'identification.

    
                        Créer un utilisateur pour SMTP
    Important

    Il s'agit de la seule fois où vous pourrez consulter vos informations d'identification SMTP. Nous vous recommandons de télécharger ces informations d'identification et de les conserver dans un emplacement où elles ne seront pas supprimées. Si vous perdez ces informations d'identification, vous devez redémarrer le processus de création de votre utilisateur SMTP.

  6. Choisissez Fermer la fenêtre.

Vous pouvez afficher la liste des informations d'identification SMTP existantes que vous avez créées à l'aide de cette procédure en accédant à la console IAM à l'adresse https://console.aws.amazon.com/iam/. Dans le panneau de navigation, sous Gestion de l'accès, choisissez Utilisateurs. Utilisez la barre de recherche pour trouver tous les utilisateurs qui contiennent le texte « ses-smtp-user ».

Vous pouvez également utiliser la console IAM pour supprimer des utilisateurs SMTP existants. Pour en savoir plus sur la suppression d'utilisateurs, veuillez consulter https://docs.aws.amazon.com/IAM/latest/UserGuide/Gestion des utilisateurs IAM dans la section IAM Guide de démarrage.

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

Obtaining Amazon SES SMTP credentials by converting existing AWS credentials

Si vous avez un utilisateur IAM que vous configurez à l'aide de l'interface IAM, vous pouvez obtenir les informations d'identification SMTP Amazon SES de l'utilisateur à partir de ses informations d'identification AWS.

Important

N'utilisez pas d'informations d'identification AWS temporaires pour obtenir les informations d'identification SMTP. L'interface SMTP Amazon SES ne prend pas en charge les informations d'identification SMTP qui ont été générées à partir d'informations d'identification de sécurité temporaires.

Pour permettre à l'utilisateur IAM d'envoyer des e-mails à l'aide de l'interface SMTP Amazon SES, vous devez effectuer les deux étapes suivantes :

  • Derive the user's SMTP credentials from their AWS credentials using the algorithm provided in this section. Because you are starting from AWS credentials, the SMTP username is the same as the AWS access key ID, so you just need to generate the SMTP password.

  • Apply the following policy to the IAM user:

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

    For more information about using Amazon SES with IAM, see Controlling access to Amazon SES.

Note

Bien que vous puissiez générer des informations d'identification SMTP Amazon SES pour tout utilisateur IAM, nous vous recommandons de créer un utilisateur IAM distinct lorsque vous générez vos informations d'identification SMTP. Pour plus d'informations sur les raisons pour lesquelles il est recommandé de créer des utilisateurs à des fins spécifiques, consultez Bonnes pratiques IAM.

Le pseudo-code ci-après correspond à l'algorithme qui convertit une clé d'accès secrète AWS en mot de passe SMTP Amazon SES.

// 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"; versionInBytes = 0x04; kDate = HmacSha256(date, "AWS4" + key); kRegion = HmacSha256(region, kDate); kService = HmacSha256(service, kRegion); kTerminal = HmacSha256(terminal, kService); kMessage = HmacSha256(message, kTerminal); signatureAndVersion = Concatenate(versionInBytes, kMessage); smtpPassword = Base64(signatureAndVersion);

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

Python
#!/usr/bin/env python3 import hmac import hashlib import base64 import argparse # Values that are required to calculate the signature. These values should # never change. 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 calculateKey(secretAccessKey, region): signature = sign(("AWS4" + secretAccessKey).encode('utf-8'), DATE) signature = sign(signature, region) signature = sign(signature, SERVICE) signature = sign(signature, TERMINAL) signature = sign(signature, MESSAGE) signatureAndVersion = bytes([VERSION]) + signature smtpPassword = base64.b64encode(signatureAndVersion) print(smtpPassword.decode('utf-8')) def main(): parser = argparse.ArgumentParser(description='Convert a Secret Access Key for an IAM user to an SMTP password.') parser.add_argument('--secret', help='The Secret Access Key that you want to convert.', required=True, action="store") parser.add_argument('--region', help='The name of the AWS Region that the SMTP password will be used in.', required=True, choices=[ '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) 'sa-east-1', #South America (Sao Paulo) 'us-gov-west-1' #AWS GovCloud (US) ], action="store") args = parser.parse_args() calculateKey(args.secret,args.region) main()