Richtlinienanatomie - Amazon Simple Email Service

Richtlinienanatomie

Richtlinien halten sich an eine bestimmte Struktur, enthalten Elemente und müssen bestimmte Anforderungen erfüllen.

Richtlinienstruktur

Bei jeder Sendeautorisierungsrichtlinie handelt es sich um ein JSON-Dokument, das einer Identität angefügt wurde. Jede Richtlinie enthält folgende Abschnitte:

  • Richtlinienweite Informationen oben im Dokument

  • Eine oder mehrere einzelne Anweisungen, die jeweils eine Gruppe von Berechtigungen beschreiben

Die folgende Beispielrichtlinie erteilt der AWS-Konto-ID 123456789012 die Berechtigung, von der verifizierten Domäne example.com E-Mails zu senden.

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

Sie finden weitere Beispiele von Sendeautorisierungsrichtlinien unter Beispiele für Richtlinien.

Richtlinienelemente

Dieser Abschnitt beschreibt die Elemente, aus denen sich die Sendeautorisierungsrichtlinien zusammensetzen. Zunächst beschreiben wir richtlinienweite Elemente und anschließend Elemente, die nur auf die Anweisung zutreffen, in der sie enthalten sind. Im Anschluss daran besprechen wir, wie Sie Ihren Anweisungen Bedingungen hinzufügen.

Ausführlichere Informationen über die Syntax der Elemente finden Sie unter Grammatik von IAM-Richtlinien im IAM Benutzerhandbuch.

Richtlinienweite Informationen

Es gibt zwei richtlinienweite Elemente: Id und Version. Die folgende Tabelle enthält Informationen über diese Elemente.

Name

Beschreibung

Erforderlich

Zulässige Werte

Id

Kennzeichnet die Richtlinie eindeutig.

Nein

Jede Zeichenfolge

Version

Gibt die Sprachversion des Richtlinienzugriffs an.

Nein

Jede Zeichenfolge. Als bewährte Methode empfehlen wir, dass Sie dieses Feld mit dem Wert "2012-10-17" einschließen.

Richtlinienspezifische Anweisungen

Sendeautorisierungsrichtlinien erfordern mindestens eine Anweisung. Jede Anweisung kann die in der folgenden Tabelle beschriebenen Elementen enthalten.

Name

Beschreibung

Erforderlich

Zulässige Werte

Sid

Kennzeichnet die Anweisung eindeutig.

Nein

Jede Zeichenfolge.

Effect

Gibt das Ergebnis an, das die Richtlinienanweisung zum Bewertungszeitpunkt zurückgeben soll.

Ja

"Allow" oder "Deny".

Resource

Gibt die Identität an, auf die die Richtlinie zutrifft. Dies ist die E-Mail-Adresse oder Domäne, für die der Identitätsbesitzer dem stellvertretenden Sender die Berechtigung erteilt.

Ja

Der Amazon-Ressourcenname (ARN) der E-Mail-Identität.

Principal

Gibt das AWS-Konto-Konto, den IAM-Benutzer oder den AWS-Service an, auf das/den sich die Berechtigung in der Anweisung bezieht.

Ja

Eine gültige AWS-Konto-ID, ein gültiger IAM-Benutzer-ARN oder AWS-Service. AWS-Konto IDs und IAM-Benutzer-ARNs werden mit "AWS" angegeben (z. B. "AWS": ["123456789012"] oder "AWS": ["arn:aws:iam::123456789012:root"]). AWS-Servicenamen werden mit "Service" angegeben (z. B. "Service": ["cognito-idp.amazonaws.com"]).

Beispiele für das Format des IAM-Benutzer-ARNs finden Sie unter AWS-Generalreferenzen.

Action

Gibt die für das Senden der E-Mail verantwortliche Aktion an, für die die Anweisung gilt.

Ja

"ses:SendEmail", "ses:SendRawEmail", "ses:SendTemplatedEmail", "ses:SendBulkTemplatedEmail"

Sie können eine oder mehrere dieser Operationen angeben. Sie können auch "ses: Send*" angeben, um alle diese Operationen zu umfassen. Wenn der stellvertretende Sender beabsichtigt, E-Mails über die SMTP-Schnittstelle zu senden, müssen Sie "ses: SendRawEmail" angeben oder "ses: Send*" verwenden.

Condition

Gibt alle Einschränkungen oder Details über die Berechtigung an.

Nein

Weitere Informationen über Bedingungen finden Sie im Anschluss an diese Tabelle.

Bedingungen

Bei einer Bedingung handelt es sich um jegliche Einschränkung, die die Berechtigung in der Anweisung betrifft. Der Teil der Anweisung, der die Bedingungen festlegt, kann der ausführlichste aller Bestandteile sein. Ein Schlüssel ist die Besonderheit, die die Grundlage für die Zugriffsbeschränkung, z. B. das Datum und die Uhrzeit der Anfrage, darstellt.

Sie verwenden Bedingungen und Schlüssel zusammen, um die Einschränkung auszudrücken. Wenn Sie beispielsweise den stellvertretenden Sender davon abhalten möchten, nach dem 30. Juli 2019 in Ihrem Namen Anfragen an Amazon SES zu stellen, verwenden Sie die Bedingung namens DateLessThan. Sie verwenden den Schlüssel aws:CurrentTime und legen den Wert mit 2019-07-30T00:00:00Z fest.

Sie können einen der AWS-weiten Schlüssel verwenden, die unter Verfügbare Schlüssel im IAM-Benutzerhandbuch aufgeführt sind, oder Sie können einen der folgenden Amazon-SES-spezifischen Schlüssel verwenden:

Bedingungsschlüssel

Beschreibung

ses:Recipients

Beschränkt die Empfängeradressen, einschließlich der Adressen "To", "CC" und "BCC".

ses:FromAddress

Beschränkt die "From"-Adresse.

ses:FromDisplayName

Beschränkt den Inhalt der Zeichenfolge, die als der "From"-Anzeigename verwendet wird (manchmal auch "Friendly from" genannt). So lautet beispielsweise der Anzeigename für "John Doe <johndoe@example.com>" John Doe.

ses:FeedbackAddress

Beschränkt die "Return Path"-Adresse. Dies ist die Adresse, an die Unzustellbarkeitsnachrichten und Beschwerden an Sie anhand von Feedback-E-Mails weitergeleitet werden können. Weitere Informationen zum Weiterleiten von Feedback per E-Mail finden Sie unter Verwenden von Benachrichtigungen für den Amazon-SES-E-Mail-Empfang.

Sie können die Bedingungen StringEquals und StringLike mit Amazon-SES-Schlüsseln verwenden. Für diese Bedingungen wird zur Übereinstimmung der Zeichenfolge die Groß-/Kleinschreibung beachtet. Für StringLike können die Werte einen Mehrzeichenplatzhalter (*) oder einen Einzelzeichenplatzhalter (?) an einer beliebigen Stelle in der Zeichenfolge enthalten. Die folgende Bedingung gibt beispielsweise an, dass der stellvertretende Sender nur von einer "From" -Adresse senden kann, die mit der Fakturierung beginnt und mit @example.comendet:

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

Sie können auch die Bedingung StringNotLike verwenden, um zu verhindern, dass stellvertretende Sender E-Mails von bestimmten E-Mail-Adressen senden. Beispielsweise können Sie das Senden von E-Mails von admin@example.com sowie von ähnlichen Adressen wie "admin"@example.com, admin+1@example.com oder sender@admin.example.com untersagen, indem Sie die folgende Bedingung in Ihre Richtlinienanweisung aufnehmen:

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

Weitere Informationen zum Angeben von Bedingungen in einer Richtliniensyntax finden Sie im Thema IAM;-JSON-Richtlinienelemente: Bedingung im IAM Benutzerhandbuch.

Richtlinienanforderungen

Richtlinien müssen alle folgenden Anforderungen erfüllen:

  • Jede Richtlinie muss mindestens eine Anweisung enthalten.

  • Jede Richtlinie muss mindestens über einen gültigen Prinzipal verfügen.

  • Jede Richtlinie muss eine Ressource angeben und diese Ressource muss der ARN der Identität sein, der die Richtlinie zugeordnet ist.

  • Identitätsbesitzer können jeder eindeutigen Identität bis zu 20 Richtlinien zuordnen.

  • Richtlinien dürfen die Größe von 4 KB nicht überschreiten.

  • Richtliniennamen dürfen 64 Zeichen nicht überschreiten. Darüber hinaus dürfen sie nur alphanumerische Zeichen, Bindestriche und Unterstriche enthalten.