Donner des autorisations à Amazon SES pour la réception d'e-mails - 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.

Donner des autorisations à Amazon SES pour la réception d'e-mails

Certaines des tâches que vous pouvez effectuer lorsque vous recevez des e-mailsSES, telles que l'envoi d'e-mails vers un bucket Amazon Simple Storage Service (Amazon S3) ou l'appel d' AWS Lambda une fonction, nécessitent des autorisations spéciales. Cette section inclut des exemples de stratégies pour plusieurs cas d'utilisation courants.

Configuration des autorisations de IAM rôle pour l'action du compartiment Deliver to S3

Les points suivants s'appliquent à ce IAM rôle :

Si vous souhaitez écrire dans un compartiment S3, vous pouvez fournir un IAM rôle autorisé à accéder aux ressources pertinentes pour leLivrer à l'action du compartiment S3. Vous devez également donner l'SESautorisation d'assumer ce rôle pour effectuer l'action par le biais d'une politique de IAM confiance, comme expliqué dans la section suivante.

Cette politique d'autorisation doit être collée dans l'éditeur de politique en ligne du IAM rôle. Consultez Livrer à l'action du compartiment S3 et suivez les étapes indiquées dans l'élément de rôle. IAM (L'exemple suivant inclut également des autorisations facultatives au cas où vous souhaiteriez utiliser la notification par SNS sujet ou une clé gérée par le client dans l'action S3.)

{ "Version": "2012-10-17", "Statement": [ // Required: allows SES to write in the bucket { "Sid": "S3Access", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/*" }, // Optional: use if an SNS topic is used in the S3 action { "Sid": "SNSAccess", "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:region:111122223333:my-topic" }, // Optional: use if a customer managed key is used in the S3 action { "Sid": "KMSAccess", "Effect": "Allow", "Action": "kms:GenerateDataKey*", "Resource": "arn:aws:kms:region::111122223333:key/key-id" } ] }

Dans l'exemple précédent, apportez les modifications suivantes :

  • Remplacez my-bucket avec le nom du compartiment S3 dans lequel vous souhaitez écrire.

  • Remplacez region avec l' Région AWS endroit où vous avez créé la règle de réception.

  • Remplacez 111122223333 avec votre identifiant de AWS compte.

  • Remplacez my-topic avec le nom du SNS sujet sur lequel vous souhaitez publier des notifications.

  • Remplacez key-id avec l'identifiant de votre KMS clé.

Politique de confiance pour le IAM rôle d'action S3

La politique de confiance suivante doit être ajoutée aux relations de confiance du IAM rôle pour SES permettre d'assumer ce rôle.

Note

L'ajout manuel de cette politique de confiance n'est requis que si vous n'avez pas créé votre IAM rôle depuis la SES console en suivant les étapes indiquées dans l'élément de IAMrôle du Livrer à l'action du compartiment S3 flux de travail. Lorsque vous créez le IAM rôle depuis la console, cette politique de confiance est automatiquement générée et appliquée au rôle pour vous, ce qui rend cette étape inutile.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESAssume", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount":"111122223333", "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } } ] }

Dans l'exemple précédent, apportez les modifications suivantes :

  • Remplacez region avec l' Région AWS endroit où vous avez créé la règle de réception.

  • Remplacez 111122223333 avec votre identifiant de AWS compte.

  • Remplacez rule_set_name avec le nom de l'ensemble de règles contenant la règle de réception contenant l'action de livraison vers le compartiment Amazon S3.

  • Remplacez receipt_rule_name avec le nom de la règle de réception qui contient l'action de livraison vers le compartiment Amazon S3.

SESAutoriser l'écriture dans un compartiment S3

Lorsque vous appliquez la politique suivante à un compartiment S3, cela donne l'SESautorisation d'écrire dans ce compartiment tant qu'il existe dans une région où la réception d'SESe-mails est disponible. Si vous souhaitez écrire dans un compartiment situé en dehors d'une région de réception d'e-mails, consultez. Configuration des autorisations de IAM rôle pour l'action du compartiment Deliver to S3 Pour en savoir plus sur la création de règles de réception qui transfèrent les messages entrants vers Amazon S3, consultez Livrer à l'action du compartiment S3.

Pour de plus amples informations sur l'attachement de stratégies de compartiment vers S3, veuillez consulter Stratégies de compartiment et stratégies d'utilisateur dans le Guide de l'utilisateur d'Amazon Simple Storage Service.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowSESPuts", "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::myBucket/*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"111122223333", "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } } ] }

Dans l'exemple précédent, apportez les modifications suivantes :

  • Remplacez myBucket avec le nom du compartiment S3 dans lequel vous souhaitez écrire.

  • Remplacez region avec la AWS région dans laquelle vous avez créé la règle de réception.

  • Remplacez 111122223333 avec votre identifiant de AWS compte.

  • Remplacez rule_set_name avec le nom de l'ensemble de règles contenant la règle de réception contenant l'action de livraison vers le compartiment Amazon S3.

  • Remplacez receipt_rule_name avec le nom de la règle de réception qui contient l'action de livraison vers le compartiment Amazon S3.

SESAutorisez l'utilisation de votre AWS KMS clé

SESPour chiffrer vos e-mails, il doit être autorisé à utiliser la AWS KMS clé que vous avez spécifiée lors de la configuration de votre règle de réception. Vous pouvez soit utiliser la KMS clé par défaut (aws/ses) de votre compte, soit utiliser une clé gérée par le client que vous avez créée. Si vous utilisez la KMS clé par défaut, vous n'avez pas besoin d'effectuer d'étapes supplémentaires pour SES autoriser son utilisation. Si vous utilisez une clé gérée par le client, vous devez SES autoriser son utilisation en ajoutant une déclaration à la politique de la clé.

Utilisez la déclaration de politique suivante comme politique clé pour autoriser l'utilisation SES de votre clé gérée par le client lorsqu'il reçoit un e-mail sur votre domaine.

{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*" ], "Resource": "*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"111122223333", "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } }

Dans l'exemple précédent, apportez les modifications suivantes :

  • Remplacez region avec la AWS région dans laquelle vous avez créé la règle de réception.

  • Remplacez 111122223333 avec votre identifiant de AWS compte.

  • Remplacez rule_set_name avec le nom de l'ensemble de règles qui contient la règle de réception que vous avez associée à la réception d'e-mails.

  • Remplacez receipt_rule_name avec le nom de la règle de réception que vous avez associée à la réception d'e-mails.

Si vous avez l'habitude AWS KMS d'envoyer des messages chiffrés à un compartiment S3 avec le chiffrement côté serveur activé, vous devez ajouter l'action de politique. "kms:Decrypt" À l'aide de l'exemple précédent, l'ajout de cette action à votre stratégie s'affiche comme suit :

{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"111122223333", "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } }

Pour plus d'informations sur l'association de politiques aux AWS KMS clés, consultez la section Utilisation des politiques clés AWS KMS dans le manuel du AWS Key Management Service développeur.

Donner SES l'autorisation d'invoquer une AWS Lambda fonction

SESPour activer l'appel d'une AWS Lambda fonction, vous pouvez choisir la fonction lorsque vous créez une règle de réception dans la SES console. Lorsque vous le faites, ajoute SES automatiquement les autorisations nécessaires à la fonction.

Vous pouvez également utiliser l'AddPermissionopération décrite dans le AWS Lambda API pour associer une politique à une fonction. L'appel suivant AddPermission API donne l'SESautorisation d'invoquer votre fonction Lambda. Pour en savoir plus sur l'attachement de stratégies à des fonctions Lambda, consultez AWS Lambda Autorisations dans le Guide du développeur AWS Lambda .

{ "Action": "lambda:InvokeFunction", "Principal": "ses.amazonaws.com", "SourceAccount": "111122223333", "SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" "StatementId": "GiveSESPermissionToInvokeFunction" }

Dans l'exemple précédent, apportez les modifications suivantes :

  • Remplacez region avec la AWS région dans laquelle vous avez créé la règle de réception.

  • Remplacez 111122223333 avec votre identifiant de AWS compte.

  • Remplacez rule_set_name avec le nom de l'ensemble de règles qui contient la règle de réception dans laquelle vous avez créé votre fonction Lambda.

  • Remplacez receipt_rule_name avec le nom de la règle de réception contenant votre fonction Lambda.

SESAutoriser la publication sur un SNS sujet Amazon appartenant à un autre AWS compte

Pour publier des notifications relatives à un sujet dans un AWS compte distinct, vous devez associer une politique au SNS sujet Amazon. Le SNS sujet doit se trouver dans la même région que le domaine et les règles de réception définies.

La politique suivante SES autorise la publication sur un SNS sujet Amazon dans un AWS compte distinct.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"SNS:Publish", "Resource":"arn:aws:sns:topic_region:sns_topic_account_id:topic_name", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"aws_account_id", "AWS:SourceArn": "arn:aws:ses:receipt_region:aws_account_id:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } } ] }

Dans l'exemple précédent, apportez les modifications suivantes :

  • Remplacez topic_region avec le sujet dans Région AWS lequel le SNS sujet Amazon a été créé.

  • Remplacez sns_topic_account_id avec l'ID du AWS compte propriétaire du SNS sujet Amazon.

  • Remplacez topic_name avec le nom du SNS sujet Amazon sur lequel vous souhaitez publier des notifications.

  • Remplacez aws_account_id avec l'ID du AWS compte configuré pour recevoir des e-mails.

  • Remplacez receipt_region avec l' Région AWS endroit où vous avez créé la règle de réception.

  • Remplacez rule_set_name avec le nom de l'ensemble de règles qui contient la règle de réception dans laquelle vous avez créé votre action de SNS sujet de publication sur Amazon.

  • Remplacez receipt_rule_name avec le nom de la règle de réception contenant l'action de SNS rubrique publier sur Amazon.

Si votre SNS rubrique Amazon utilise AWS KMS le chiffrement côté serveur, vous devez ajouter des autorisations à la politique AWS KMS clé. Vous pouvez ajouter des autorisations en joignant la politique suivante à la politique AWS KMS clé :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESToUseKMSKey", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }