Exemples de stratégies d'envoi - 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.

Exemples de stratégies d'envoi

Une autorisation d'envoi vous permet de spécifier les conditions précises selon lesquelles vous autorisez des expéditeurs délégués à effectuer un envoi en votre nom.

Conditions spécifiques à l'envoi de l'autorisation

Une condition est une restriction qui s'applique à l'autorisation contenue dans l'instruction. La partie de l'instruction qui spécifie les conditions peut être la plus détaillée. Une clé est une caractéristique spécifique qui constitue la base pour une restriction d'accès (par exemple, la date et l'heure de la demande).

Vous utilisez à la fois les conditions et les clés afin d'exprimer la restriction. Par exemple, si vous voulez empêcher l'expéditeur délégué d'effectuer des demandes à Amazon SES en votre nom après le 30 juillet 2019, vous devez utiliser la condition appelée DateLessThan. Vous utilisez la clé appelée aws:CurrentTime et la définissez sur la valeur 2019-07-30T00:00:00Z.

Vous pouvez utiliser l'une des clés AWS générales répertoriées dans la section Available Keys (Clés disponibles) du Guide de l'utilisateur IAM, ou l'une des clés suivantes, spécifiques à SES, qui sont utiles pour les stratégies d'autorisation d'envoi :

Clé de condition

Description

ses:Recipients

Restreint les adresses des destinataires, qui incluent les adresses « To: », « CC » et « BCC ».

ses:FromAddress

Limite l'adresse d'expédition.

ses:FromDisplayName

Limite le contenu de la chaîne utilisée comme nom d'affichage de l'expéditeur (parfois appelé « nom d'expéditeur convivial »). Par exemple, le nom d'affichage « John Doe <johndoe@example.com> » est John Doe.

ses:FeedbackAddress

Limite l'adresse de retour, qui est l'adresse à laquelle les retours à l'expéditeur et les réclamations peuvent vous être envoyés via le transfert de commentaires par e-mail. Pour en savoir plus sur le transfert de commentaires par e-mail, consultez Réception des notifications Amazon SES par e-mail.

Vous pouvez utiliser les conditions StringEquals et StringLike avec des clés Amazon SES. Ces conditions sont destinées à la recherche de chaîne sensible à la casse. Pour StringLike, les valeurs peuvent inclure un caractère générique (*) correspondant à plusieurs caractères ou un caractère générique (?) correspondant à un seul caractère n'importe où dans la chaîne. Par exemple, la condition suivante indique que l'expéditeur délégué peut uniquement effectuer des envois à partir d'une adresse d'expédition qui commence par invoicing et se termine par example.com :

"Condition": { "StringLike": { "ses:FromAddress": "invoicing*@example.com" } }

Vous pouvez également utiliser la condition StringNotLike pour empêcher les expéditeurs délégués d'envoyer des e-mails à partir de certaines adresses e-mail. Par exemple, vous pouvez interdire l'envoi depuis admin@example.com, ainsi que des adresses similaires telles que « admin »@example.com, admin+1@example.com ou sender@admin.example.com, en incluant la condition suivante dans votre déclaration de stratégie :

"Condition": { "StringNotLike": { "ses:FromAddress": "*admin*example.com" } }

Pour de plus amples informations sur la spécification de conditions dans une stratégie, consultez Éléments de stratégie JSON IAM : Condition dans le Guide de l'utilisateur IAM.

Spécification de l'expéditeur délégué

Le mandataire, qui est l'entité à laquelle vous accordez l'autorisation, peut être un compte Compte AWS, un utilisateur AWS Identity and Access Management (IAM) ou un service AWS.

L'exemple suivant montre une stratégie simple qui permet à l'ID AWS 123456789012 d'envoyer des e-mails à partir de l'identité vérifiée example.com (avec Compte AWS 888888888888 comme propriétaire). L'instruction Condition de cette stratégie autorise uniquement le délégué (c'est-à-dire, l'ID AWS 123456789012) à envoyer des e-mails à partir de l'adresse marketing+.*@example.com, où * correspond à une chaîne que l'expéditeur souhaite ajouter après marketing+.

{ "Id":"SampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeMarketer", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"marketing+.*@example.com" } } } ] }

L'exemple de stratégie suivant accorde à deux utilisateurs IAM une autorisation d'envoi à partir de l'identité example.com. Les utilisateurs IAM sont spécifiés par leur Amazon Resource Name (ARN).

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeIAMUser", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "arn:aws:iam::111122223333:user/John", "arn:aws:iam::444455556666:user/Jane" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ] } ] }

L'exemple de stratégie suivant accorde à Amazon Cognito l'autorisation d'envoi à partir de l'identité example.com.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeService", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "Service":[ "cognito-idp.amazonaws.com" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition": { "StringEquals": { "aws:SourceAccount": "888888888888", "aws:SourceArn": "arn:aws:cognito-idp:us-east-1:888888888888:userpool/your-user-pool-id-goes-here" } } } ] }

L'exemple de stratégie suivant accorde l'autorisation à tous les comptes au sein d'une Organization AWS d'envoyer à partir de l'identité example.com. L'Organization AWS est spécifiée à l'aide de la clé de condition globale PrincipalOrgID.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeOrg", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":"*", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "aws:PrincipalOrgID":"o-xxxxxxxxxxx" } } } ] }

Restriction de l'adresse d'expédition

Si vous utilisez un domaine vérifié, vous pouvez créer une stratégie permettant uniquement à l'expéditeur délégué d'envoyer à partir d'une adresse e-mail spécifiée. Pour restreindre l'adresse d'expédition, vous devez définir une condition au niveau de la clé appelée ses:FromAddress. La stratégie suivante permet à l'ID Compte AWS 123456789012 d'effectuer un envoi à partir de l'identité example.com, mais uniquement à partir de l'adresse e-mail sender@example.com.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "ses:FromAddress":"sender@example.com" } } } ] }

Restriction de l'heure à laquelle le délégué peut envoyer un e-mail

Vous pouvez également configurer votre stratégie d'autorisation de manière à ce qu'un expéditeur délégué ne puisse envoyer des e-mails qu'à une certaine heure du jour ou qu'au sein d'une certaine période. Par exemple, si vous prévoyez d'envoyer votre campagne par e-mail pendant le mois de septembre 2021, vous pouvez utiliser la stratégie suivante pour restreindre la capacité du délégué à n'envoyer les e-mails qu'au cours de ce seul mois.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlTimePeriod", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2021-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2021-10-01T12:00Z" } } } ] }

Limitation de l'action d'envoi d'e-mails

Avec Amazon SES, les expéditeurs peuvent envoyer un e-mail au moyen de deux actions : SendEmail et SendRawEmail. Tout dépend du degré de contrôle que l'expéditeur souhaite avoir sur le format de l'e-mail. Les stratégies d'autorisation d'envoi vous permettent de limiter l'expéditeur délégué à l'une de ces deux actions. Toutefois, de nombreux propriétaires d'identité laissent à l'expéditeur délégué la possibilité de définir les détails des appels d'envoi d'e-mail en autorisant les deux actions dans leurs stratégies.

Note

Si vous souhaitez autoriser l'expéditeur délégué à accéder à Amazon SES via l'interface SMTP, vous devez choisir SendRawEmail au minimum.

Si votre cas d'utilisation vous impose de limiter l'action, incluez uniquement l'une des actions dans votre stratégie d'autorisation d'envoi. L'exemple suivant montre comment limiter l'action à SendRawEmail.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlAction", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendRawEmail" ] } ] }

Restriction du nom d'affichage de l'expéditeur de l'e-mail

Certains clients de messagerie affichent le nom « convivial » de l'expéditeur de l'e-mail (si l'en-tête de l'e-mail l'indique) à la place de l'adresse d'expédition effective. Par exemple, le nom d'affichage « John Doe <johndoe@example.com> » est John Doe. Vous pouvez par exemple envoyer des e-mails à partir de user@example.com, mais préférer que les destinataires voient que l'e-mail provient de Marketing et non de user@example.com. La stratégie suivante permet à l'ID Compte AWS 123456789012 d'effectuer des envois à partir de l'identité example.com, mais uniquement si le nom complet de l'adresse d'expédition contient Marketing.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }

Utilisation de plusieurs instructions

Votre stratégie d'autorisation d'envoi peut inclure plusieurs instructions. L'exemple de stratégie suivant comporte deux instructions. La première instruction autorise deux Comptes AWS à effectuer des envois à partir de sender@example.com aussi longtemps que l'adresse d'expédition et l'adresse de commentaire utilisent toutes deux le domaine example.com. La deuxième instruction autorise un utilisateur IAM à envoyer des e-mails à partir de sender@example.com, à condition que l'adresse e-mail du destinataire appartienne au domaine example.com.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeAWS", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":[ "111111111111", "222222222222" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"*@example.com", "ses:FeedbackAddress":"*@example.com" } } }, { "Sid":"AuthorizeInternal", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":"arn:aws:iam::333333333333:user/Jane" }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":"*@example.com" } } } ] }