E メール受信Amazon SESのための へのアクセス許可の付与 - Amazon Simple Email Service

このガイドには、 の古いコンソールが反映されAmazon SESています。の新しいコンソールの詳細についてはAmazon SES、新しい Amazon Simple Email Service 開発者ガイドを参照してください。

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

E メール受信Amazon SESのための へのアクセス許可の付与

Amazon SESAmazon S3バケットへの E メールの送信、 Lambda 関数の呼び出しなど、 で E メールを受信したときに実行できるタスクの中には、特別な アクセス許可が必要なものがあります。このセクションでは、いくつかの一般的ユースケースのサンプルポリシーを紹介します。

Amazon SESバケットに書き込むAmazon S3アクセス許可を付与します。

次のポリシーを Amazon S3バケットに適用すると、そのバケットに書き込むAmazon SESアクセス許可が に付与されます。入力メールを Amazon S3 に転送する受信ルールを作成することに関する詳細については、「S3 アクション」を参照してください。

Amazon S3バケットへのポリシーのアタッチの詳細については、の「バケットポリシーとユーザーポリシーの使用」を参照してください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:Referer":"111122223333" } } } ] }

前述のポリシーの例に以下の変更を加えます。

  • 置換 myBucket 書き込み先のAmazon S3バケットの名前に置き換えます。

  • 置換 111122223333 を AWS アカウント ID に置き換えます。

Amazon SESマスターキーを使用するAWS KMSアクセス許可を付与する

が E メールを暗号化するためには、受信ルールの設定時に指定した Amazon SES キーを使用するアクセス権限が に必要です。AWS KMSご使用のアカウントのデフォルトのマスターキー (aws/ses) を使用するか、ご自身で作成するカスタムのマスターキーを使用することができます。デフォルトのマスターキーを使用する場合は、それを使用するためのAmazon SESアクセス権限を に付与する手順は必要ありません。カスタムのマスターキーを使用する場合は、キーのポリシーにステートメントを追加することで、使用するためのアクセス権限を Amazon SES に付与する必要があります。

次のポリシーステートメントをキーポリシーとして使用して、ドメインで E メールを受信する際に がカスタムのマスターキーを使用できるようにします。Amazon SES

{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "*" }
注記

Amazon SES は Amazon S3 マルチパートアップロード API を使用して、大きなメッセージ (5 MB 以上) を Amazon S3 バケットに送信します。AWS KMS を使用して暗号化されたメッセージを Amazon S3 バケットに送信し、5 MB を超えるメッセージを受信する計画の場合は、前の例のステートメントではなく、次のポリシーステートメントを使用する必要があります。

{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Amazon S3でのマルチパートアップロードの詳細については、の「マルチパートアップロード API とアクセス許可」を参照してくださいAmazon Simple Storage Service 開発者ガイド。AWS KMSキーへのポリシーのアタッチの詳細については、の「 でのキーポリシーの使用AWS KMS」を参照してくださいAWS Key Management Service Developer Guide

Amazon SES関数を呼び出すLambdaアクセス許可を付与します。

が Amazon SES 関数を呼び出せるようLambdaにするには、 Amazon SES コンソールで受信ルールを作成するときに関数を選択できます。有効にすると、 は必要なアクセス権限を自動的に関数に追加します。Amazon SES

または、AddPermissionAPI でAWS Lambdaオペレーションを使用して、関数にポリシーをアタッチできます。次の AddPermission API コールは、 Amazon SES 関数を呼び出す Lambda 権限を付与します。次の例では、 を置き換えます。111122223333 を AWS アカウント ID に置き換えます。Lambda関数へのポリシーのアタッチの詳細については、の「AWS Lambdaアクセス権限」を参照してくださいAWS Lambda Developer Guide

{ "Action": "lambda:InvokeFunction", "Principal": "ses.amazonaws.com", "SourceAccount": "111122223333", "StatementId": "GiveSESPermissionToInvokeFunction" }

別の Amazon SES アカウントに属している Amazon SNSトピックに発行するAWSアクセス許可を付与します

使用する Amazon SNS トピックが、 AWS と同じ Amazon SES アカウントによって所有されている場合、 は、追加のセットアップ手順を必要とせずにそのトピックに発行Amazon SESできます。別のAWSアカウントのトピックに通知を発行する場合は、Amazon SNSトピックにポリシーをアタッチする必要があります。

次のポリシーは、別のAmazon SESアカウントで Amazon SNSトピックに発行するAWSアクセス許可を に付与します。

{ "Version":"2008-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"SNS:Publish", "Resource":"arn:aws:sns:us-west-2:SNS-TOPIC-ACCOUNT-ID:myTopic", "Condition":{ "StringEquals":{ "AWS:SourceOwner":"SES-RECEIVING-ACCOUNT-ID" } } } ] }

前述のポリシーの例に以下の変更を加えます。

  • 置換 us-west-2 AWSトピックがあるAmazon SNSリージョンを使用することもできます。

  • 置換 SNS-TOPIC-ACCOUNT-ID AWSトピックが存在する Amazon SNSアカウントの ID を持つ 。

  • 置換 myTopic を、通知を発行するAmazon SNSトピックの名前に置き換えます。

  • 置換 SES-RECEIVING-ACCOUNT-ID E メールを受信するように設定されているAWSアカウントの ID を使用する 。