Beispiele für Richtlinien - Amazon Simple Email Service

Beispiele für Richtlinien

In der Sendeautorisierung können Sie die spezifischen Bedingungen angeben, unter denen stellvertretende Sender in Ihrem Namen E-Mails senden dürfen.

Angeben des delegierten Senders

Der Prinzipal ist die Entität, der Sie die Berechtigung erteilen. Dabei kann es sich um ein AWS-Konto, einen AWS Identity and Access Management (IAM)-Benutzer oder einen AWS-Service handeln.

Das folgende Beispiel zeigt eine einfache Richtlinie, die es der AWS-ID 123456789012 ermöglicht, E-Mails von der verifizierten Identität example.com (die zum AWS-Konto 888888888888 gehört) E-Mails zu senden. Die Condition-Anweisung in dieser Richtlinie sorgt dafür, dass nur der Stellvertreter (also die AWS-ID 123456789012) E-Mails von der Adresse marketing+.*@example.com senden kann, wobei .* eine beliebige Zeichenfolge ist, die der Sender nach marketing+ einfügen möchte.

{ "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" } } } ] }

Die folgende Beispielrichtlinie erteilt zwei IAM-Benutzern die Berechtigung, von der Identität example.com E-Mails zu senden. Die IAM-Benutzer werden durch ihren Amazon-Ressourcennamen (ARN) angegeben.

{ "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" ] } ] }

Die folgende Beispielrichtlinie erteilt Amazon Cognito die Berechtigung, von der Identität example.com E-Mails zu senden.

{ "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" } } } ] }

Die folgende Beispielrichtlinie erteilt allen Konten innerhalb einer AWS Organization die Berechtigung zum Senden von Identitäts- example.com. Die AWS Organisation wird mithilfe der PrincipalOrgID Bedingungsschlüssel.

{ "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" } } } ] }

Beschränken der "From"-Adresse

Wenn Sie eine verifizierte Domäne verwenden, können Sie eine Richtlinie erstellen, die dem delegierten Sender nur ermöglicht, E-Mails von einer bestimmten E-Mail-Adresse zu senden. Um die "From"-Adresse einzuschränken, richten Sie eine Bedingung für den Schlüssel ses: FromAddressein. Durch die folgende Richtlinie ist es der AWS-Konto-ID 123456789012 zwar möglich E-Mails von der Identität example.com zu senden, allerdings nur von der E-Mail-Adresse 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" } } } ] }

Beschränken der Zeit, zu der der delegierte Sender E-Mails senden kann

Sie können die Senderautorisierungsrichtlinie auch so konfigurieren, dass ein stellvertretender Sender E-Mails nur zu einer bestimmten Tageszeit oder während eines bestimmten Zeitraums senden kann. Wenn Sie beispielsweise im September 2021 eine E-Mail-Kampagne planen, können Sie mit der folgenden Richtlinie die Möglichkeit des delegierten Senders, E-Mails zu versenden, auf diesen Monat beschränken.

{ "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" } } } ] }

Beschränkung des E-Mail-Versands

Sender können zwei Aktionen verwenden, um eine E-Mail mit Amazon SES zu senden: SendEmail und SendRawEmail, je nachdem, wie viel Kontrolle der Sender über das Format der E-Mail haben möchte. Anhand von Sendeautorisierungsrichtlinien können Sie den stellvertretenden Sender auf eine dieser beiden Aktionen beschränken. Jedoch überlassen viele Identitätsbesitzer die Details der Aufrufe zum Senden der E-Mails dem stellvertretenden Sender, indem sie beide Aktionen in ihren Richtlinien aktivieren.

Anmerkung

Soll der stellvertretende Sender in der Lage sein, über die SMTP-Schnittstelle auf Amazon SES zugreifen zu können, müssen Sie zumindest SendRawEmail auswählen.

Wenn Sie für Ihren Anwendungsfall die Aktion einschränken möchten, schließen Sie nur eine der Aktionen in die Sendeautorisierungsrichtlinie ein. Das folgende Beispiel zeigt, wie Sie die Aktion auf beschränken 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" ] } ] }

Beschränken des Anzeigenamens des E-Mail-Senders

Einige E-Mail-Clients zeigen den "friendly"-Namen des E-Mail-Senders (sofern die E-Mail-Kopfzeile dies unterstützt) und nicht die tatsächliche "From"-Adresse an. So lautet beispielsweise der Anzeigename für "John Doe <johndoe@example.com>" John Doe. Wenn Sie beispielsweise E-Mails von user@example.com senden, es aber bevorzugen, dass die Empfänger Marketing und nicht user@example.com als den Sender der E-Mail sehen. Aufgrund der folgenden Richtlinie ist die AWS-Konto-Konto-ID 123456789012 in der Lage, E-Mails von der Identität example.com zu senden, allerdings nur solange der Anzeigename der "From" (Von)-Adresse auch Marketing umfasst.

{ "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" } } } ] }

Verwenden mehrerer Anweisungen

Ihre Sendeautorisierungsrichtlinie kann mehrere Anweisungen enthalten. Die folgende Beispielrichtlinie enthält zwei Anweisungen. Die erste Anweisung autorisiert zwei AWS-Konten-Konten, E-Mails von sender@example.com zu senden, solange die "From" (Von)-Adresse und die Feedback-Adresse beide die Domäne example.com verwenden. Die zweite Anweisung autorisiert einen IAM-Benutzer, E-Mails von sender@example.com zu senden, solange sich die E-Mail-Adresse des Empfängers unter der Domäne example.com befindet.

{ "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" } } } ] }