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.
Rubriques de cette section :
- Configuration des autorisations de IAM rôle pour l'action du compartiment Deliver to S3
- SESAutoriser l'écriture dans un compartiment S3
- SESAutorisez l'utilisation de votre AWS KMS clé
- Donner SES l'autorisation d'invoquer une AWS Lambda fonction
- SESAutoriser la publication sur un SNS sujet Amazon appartenant à un autre AWS compte
Configuration des autorisations de IAM rôle pour l'action du compartiment Deliver to S3
Les points suivants s'appliquent à ce IAM rôle :
-
Il ne peut être utilisé que pourLivrer à l'action du compartiment S3.
-
Il doit être utilisé si vous souhaitez écrire dans un compartiment S3 qui existe dans une région où il SES Réception d'e-mails n'est pas disponible.
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'AddPermission
opé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": "*" } ] }