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

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 à l'aide de l'SESSMTPinterface
  1. Dérivez les informations d'SMTPidentification de l'utilisateur à partir de ses AWS informations d'identification en utilisant l'algorithme fourni dans cette section en suivant ces procédures.

    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.

  2. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  3. Sous Gestion des accès, sélectionnez Politiques, puis Créer une politique.

  4. Dans l'éditeur de politiques, sélectionnez JSONet supprimez tout exemple de code dans l'éditeur.

  5. Collez la politique d'autorisation suivante dans l'éditeur :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  6. Sélectionnez Suivant et entrez AmazonSesSendingAccess dans le champ Nom de la politique, puis Créer une politique.

  7. Sous Gestion des accès, sélectionnez Groupes d'utilisateurs, puis Créer un groupe.

  8. Entrez AWSSESSendingGroupDoNotRename dans le champ Nom du groupe d'utilisateurs.

  9. Ajoutez SMTP des utilisateurs au groupe en les sélectionnant dans le tableau Ajouter des utilisateurs au groupe.

  10. Joignez la AmazonSesSendingAccess politique créée précédemment en la sélectionnant dans le tableau Joindre des politiques d'autorisation, puis en cliquant sur Créer un groupe d'utilisateurs.

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.

Migration d'un SMTP utilisateur d'une politique en ligne existante vers une politique de groupe (recommandation de sécurité)

Important

Si vous avez créé des SES SMTP informations d'identification avant le 6 septembre 2024, une politique intégrée et un tag ont été attachés à votre SMTP utilisateur. SESs'éloigne des politiques intégrées et vous encourage à faire de même en tant que recommandation de sécurité.

Avant de faire migrer un SMTP utilisateur d'une politique intégrée existante vers une stratégie de groupe, vous devez d'abord créer un groupe IAM d'utilisateurs doté de la politique d'SESautorisations qui remplacera la politique intégrée. Si vous avez déjà créé ce groupe IAM d'utilisateurs, ou s'il a été créé automatiquement pour les SMTP informations d'identification que vous avez créées à partir du 6 septembre 2024, vous pouvez passer directement à l'étape 10 des procédures suivantes.

Pour migrer d'une politique en ligne existante vers un groupe géré
  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Sous Gestion des accès, sélectionnez Politiques, puis Créer une politique.

  3. Dans l'éditeur de politiques, sélectionnez JSONet supprimez tout exemple de code dans l'éditeur.

  4. Collez la politique d'autorisation suivante dans l'éditeur :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  5. Sélectionnez Suivant et entrez AmazonSesSendingAccess dans le champ Nom de la politique, puis Créer une politique.

  6. Sous Gestion des accès, sélectionnez Groupes d'utilisateurs, puis Créer un groupe.

  7. Entrez AWSSESSendingGroupDoNotRename dans le champ Nom du groupe d'utilisateurs.

  8. Ajoutez SMTP des utilisateurs au groupe en les sélectionnant dans le tableau Ajouter des utilisateurs au groupe.

  9. Joignez la AmazonSesSendingAccess politique créée précédemment en la sélectionnant dans le tableau Joindre des politiques d'autorisation, puis en cliquant sur Créer un groupe d'utilisateurs.

    Maintenant que vous avez créé le groupe IAM d'utilisateurs avec la politique d'SESautorisations, vous pouvez faire migrer un SMTP utilisateur de sa politique en ligne actuelle vers cette politique de groupe, comme expliqué dans les étapes restantes.

  10. Sous Gestion des accès, choisissez Utilisateurs, puis sélectionnez l'SMTPutilisateur que vous souhaitez migrer.

  11. Sélectionnez l'onglet Groupes et choisissez Ajouter un utilisateur aux groupes.

  12. Sélectionnez le AWSSESSendingGroupDoNotRename groupe suivi de Ajouter un utilisateur aux groupes.

  13. Sélectionnez l'onglet Autorisations et vérifiez que deux lignes sont répertoriées dans AmazonSesSendingAccess la colonne Nom de la politique, l'une avec Inline et l'autre avec Group AWSSESSendingGroupDoNotRename répertorié dans la colonne Attached via.

  14. Sélectionnez uniquement la ligne qui figure AmazonSesSendingAccess dans la colonne Nom de la politique et Inline dans la colonne Attached via, suivie de Supprimer et de confirmer avec Supprimer la politique.

    Vérifiez que la ligne contenant le groupe AWSSESSendingGroupDoNotRename dans la colonne Attached via est conservée.

  15. Sélectionnez l'onglet Tags, puis Manage tags.

  16. Sélectionnez Supprimer à côté de la ligne figurant InvokedBydans la colonne Clé et SESConsoledans la colonne Valeur, puis Enregistrer les modifications.

Important

La AmazonSesSendingAccess politique (soit en ligne, soit en tant que stratégie de groupe, soit les deux) doit rester attachée à l'SMTPutilisateur pour s'assurer que son envoi n'est pas impacté. Ne supprimez la politique intégrée qu'une fois que la stratégie de groupe est attachée à votre utilisateur.