Erteilen von Berechtigungen an Amazon SES für den E-Mail-Empfang - Amazon Simple Email Service

Erteilen von Berechtigungen an Amazon SES für den E-Mail-Empfang

Einige der Aufgaben, die Sie ausführen können, wenn Sie E-Mails in Amazon SES erhalten, z. B. das Senden von E-Mails an einen Amazon Simple Storage Service (Amazon S3)-Bucket oder das Aufrufen einer AWS Lambda-Funktion, erfordern besondere Berechtigungen. Dieser Abschnitt zeigt Richtlinienbeispiele für mehrere allgemeine Anwendungsfälle.

Erteilen der Berechtigung an Amazon SES zum Schreiben an einen Amazon-S3-Bucket

Bei Anwendung auf einen Amazon-S3-Bucket erteilt die folgenden Richtlinie Amazon SES die Berechtigung zum Schreiben von Daten in diesen Bucket. Weitere Informationen zum Erstellen von Empfangsregeln, die eingehende E-Mails an Amazon S3 übertragen, finden Sie unter Aktion „An S3-Bucket liefern“.

Weitere Informationen zu Bucket-Richtlinien für Amazon S3 finden Sie unter Verwenden von Bucket-Richtlinien und Benutzerrichtlinien im Amazon Simple Storage Service-Entwicklerleitfaden.

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

Nehmen Sie im vorherigen Beispiel Sie die folgenden Änderungen vor:

  • Ersetzen Sie myBucket durch den Namen des Amazon-S3-Buckets, an den Sie schreiben möchten.

  • Ersetzen Sie die Region durch die AWS Region, in der Sie die Empfangsregel erstellt haben.

  • Ersetzen Sie 111122223333 durch Ihre AWS-Konto-ID.

  • Ersetzen Sie rule_set_name durch den Namen des Regelsatzes, der die Empfangsregel enthält, die die Bucket-Zustellungs-Aktion an Amazon S3 enthält.

  • Ersetzen Sie receipt_rule_name durch den Namen der Empfangsregel, die die Bucket-Zustellungs-Aktion an Amazon S3 enthält.

Erteilen der Berechtigung zur Verwendung Ihres AWS KMS-Masterschlüssels an Amazon SES.

Damit Amazon SES Ihre E-Mails verschlüsseln kann, ist die Berechtigung zur Verwendung des AWS KMS-Schlüssels erforderlich, den Sie beim Einrichten der Empfangsregel angegeben haben. Sie können entweder den Standardhauptschlüssel (aws/ses) in Ihrem Konto oder einen benutzerdefinierten Hauptschlüssel, den Sie erstellen, verwenden. Wenn Sie den Standard-Hauptschlüssel verwenden, müssen Sie keine zusätzlichen Schritte durchführen, um Amazon SES die Berechtigung zur Verwendung des Schlüssels zu erteilen. Bei Verwendung eines benutzerdefinierten Hauptschlüssels müssen Sie Amazon SES die entsprechende Berechtigung erteilen, indem Sie der Richtlinie des Schlüssels eine Anweisung hinzufügen.

Verwenden Sie die folgende Richtlinienerklärung als Schlüsselrichtlinie, damit Amazon SES Ihren vom Kunden verwalteten Schlüssel verwenden kann, wenn es E-Mails auf Ihrer Domäne empfängt.

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

Nehmen Sie im vorherigen Beispiel Sie die folgenden Änderungen vor:

  • Ersetzen Sie die Region durch die AWS Region, in der Sie die Empfangsregel erstellt haben.

  • Ersetzen Sie 111122223333 durch Ihre AWS-Konto-ID.

  • Ersetzen Sie rule_set_name durch den Namen des Regelsatzes, der die Empfangsregel enthält, die Sie dem E-Mail-Empfang zugeordnet haben.

  • Ersetzen Sie receipt_rule_name durch den Namen der Empfangsregel, die Sie mit dem E-Mail-Empfang verknüpft haben.

Wenn Sie AWS KMS verwenden, um verschlüsselte Nachrichten an einen S3-Bucket mit aktivierter serverseitiger Verschlüsselung zu senden, müssen Sie die Richtlinienaktion hinzufügen, "kms:Decrypt". Im obigen Beispiel würde das Hinzufügen dieser Aktion zu Ihrer Richtlinie wie folgt aussehen:

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

Weitere Informationen zum Anfügen von Richtlinien zu AWS KMS-Schlüsseln finden Sie unter Verwenden von Schlüsselrichtlinien in AWS KMS im AWS Key Management Service-Entwicklerleitfaden.

Erteilen der Berechtigung zum Aufrufen Ihrer AWS Lambda-Funktion an Amazon SES

Damit Amazon SES eine AWS Lambda-Funktion aufrufen kann, können Sie die Funktion auswählen, wenn Sie eine Empfangsregel in der Amazon-SES-Konsole erstellen. Wenn Sie dies tun, fügt Amazon SES der Funktion automatisch die erforderlichen Berechtigungen hinzu.

Sie können aber auch die AddPermission-Operation in der AWS Lambda-API verwenden, um eine Richtlinie an eine Funktion anzufügen. Mit dem folgenden AddPermission-API-Aufruf wird Amazon SES die Berechtigung zum Aufrufen Ihrer Lambda-Funktion erteilt. Weitere Informationen zum Anfügen von Richtlinien an Lambda-Funktionen finden Sie unter AWS Lambda-Berechtigungen im AWS Lambda-Entwicklerleitfaden.

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

Nehmen Sie im vorherigen Beispiel Sie die folgenden Änderungen vor:

  • Ersetzen Sie die Region durch die AWS Region, in der Sie die Empfangsregel erstellt haben.

  • Ersetzen Sie 111122223333 durch Ihre AWS-Konto-ID.

  • Ersetzen Sie Regel_set_name durch den Namen des Regelsatzes, in dem die Empfangsregel enthalten ist, in der Sie die Lambda -Funktion erstellt haben.

  • Ersetzen Sie receipt_rule_name durch dem Namen der Empfangsregel, in der Ihre Lambda -Funktion enthalten ist.

Erteilen der Berechtigung an Amazon SES zur Veröffentlichung in einem Amazon-SNS-Thema, das einem anderen AWS-Konto angehört

Um Benachrichtigungen zu einem Thema in einem separaten AWS-Konto zu veröffentlichen, müssen Sie eine Richtlinie an das Amazon-SNS-Thema anfügen. Das SNS-Thema muss sich in derselben Region wie die Domänen- und Empfangsregelsätze befinden.

Mit der folgenden Richtlinie erhält Amazon SES die Berechtigung, in einem Amazon-SNS-Thema in einem separaten AWS-Konto zu veröffentlichen.

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

Nehmen Sie im vorherigen Beispiel Sie die folgenden Änderungen vor:

  • Ersetzen Sie topic_region durch die AWS-Region, in der das Amazon-SNS-Thema erstellt wurde.

  • Ersetzen Sie sns_topic_account_id durch die ID des AWS-Kontos, in dem sich das Amazon-SNS-Thema befindet.

  • Ersetzen Sie MyTopic durch den Namen des Amazon-SNS-Themas, in dem Sie Benachrichtigungen veröffentlichen möchten.

  • Ersetzen Sie aws_account_id durch die ID des AWS-Kontos, das für den Empfang von E-Mails konfiguriert ist.

  • Ersetzen Sie receipt_region durch die AWS-Region, in der Sie die Empfangsregel erstellt haben.

  • ErsetzenRegel_set_namedurch den Namen der Regelsatzes, die die Empfangsregel enthält, in der Sie Ihre Veröffentlichungsaktion in Amazon SNS -Thema erstellt haben.

  • Ersetzenreceipt_rule_namemit dem Namen der Empfangsregel, in der die -Themenaktion zum Veröffentlichen in Amazon SNS enthalten ist.

Wenn Ihr Amazon-SNS-Thema AWS KMS für die serverseitige Verschlüsselung verwendet, müssen Sie der AWS KMS-Schlüsselrichtlinie Berechtigungen hinzufügen. Sie können Berechtigungen hinzufügen, indem Sie die folgende Richtlinie an die AWS KMS-Schlüsselrichtlinie anfügen:

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