メニュー
Amazon Simple Email Service
開発者ガイド

Amazon SES へのアクセスの制御

AWS Identity and Access Management (IAM) と Amazon Simple Email Service (Amazon SES) を使用して、IAM ユーザー、グループ、またはロールで実行できる Amazon SES API アクションを指定できます。 (このトピックでは、これらのエンティティをまとめて「ユーザー」と呼びます)。ユーザーが「From」、受取人、「Return-Path」の E メールアドレスに使用できる E メールアドレスをコントロールすることもできます。

たとえば、IAM ポリシーを作成して、組織内のユーザーはメールを送信できるが送信統計の確認などの管理作業を実行できないようにすることができます。別の例として、ユーザーが特定の「From」アドレスを使用している場合のみ、アカウントから Amazon SES を介して E メールを送信することを許可するポリシーを作成できます。

IAM を使用するには、IAM ポリシー (明示的にアクセス権限を定義するドキュメント) を定義し、ユーザーにポリシーをアタッチします。IAM ポリシーを作成する方法については、IAM ユーザーガイドを参照してください。ポリシーで設定した制限が適用される以外に、ユーザーが Amazon SES を操作する方法や Amazon SES がリクエストを実行する方法に変更はありません。

注記

送信承認ポリシーを使用することで、Amazon SES へのアクセスを制御することもできます。IAM ポリシーは、個々の IAM ユーザーが実行できる操作を制限しますが、送信承認ポリシーは個々の検証済みアイデンティティの使用方法を制限します。さらに、クロスアカウントアクセスを許可できるのは送信承認ポリシーのみです。送信承認の詳細については、「Amazon SES での送信承認の使用」を参照してください。

既存の IAM ユーザーの Amazon SES SMTP 認証情報を生成する方法については、「Amazon SES SMTP 認証情報の取得」を参照してください。

Amazon SES にアクセスするための IAM ポリシーの作成

このセクションでは、特に Amazon SES で IAM ポリシーを使用する方法について説明します。IAM ポリシーを作成する一般的な方法については、IAM ユーザーガイドを参照してください。

Amazon SES で IAM を使用する理由は以下の 3 つです。

  • E メール送信アクションを制限するため。

  • ユーザーが送信する E メールの「From」、受取人、「Return-Path」のアドレスを制限するため。

  • ユーザーが使用を承認された API の呼び出しを許可される期間など、API の使用の一般的な側面をコントロールするため。

アクションの制限

ユーザーが実行できる Amazon SES アクションを制御するには、IAM ポリシーの Action 要素を使用します。API 名の先頭に小文字の文字列 ses: を付けることで、Action 要素を任意の Amazon SES API アクションに設定できます。たとえば、Actionses:SendEmailses:GetSendStatistics、または ses:* (すべてのアクションの場合) に設定できます。

次に、Action に応じて、次のように Resource 要素を指定します。

Action 要素により E メール送信 API (つまり、ses:SendEmailses:SendRawEmail) へのアクセスのみ許可されている場合、次のようにします。

  • ユーザーが AWS アカウントの任意の ID から送信できるようにするには、Resource を * に設定します。

  • ユーザーの送信元のアイデンティティを制限するには、Resource を、ユーザーに使用を許可するアイデンティティの ARN に設定します。

Action 要素によりすべての API へのアクセスが許可されている場合、次のようにします。

  • ユーザーの送信元のアイデンティティを制限しない場合、Resource を * に設定します。

  • ユーザーの送信元のアイデンティティを制限する場合、2 つのポリシー (または、1 つのポリシー内に 2 つのステートメント) を作成する必要があります。

    • Action が、許可される E メール送信以外の API の明示的なリストに設定され、Resource が * に設定されているポリシー

    • Action が E メール送信 API (ses:SendEmailses:SendRawEmail) のいずれかに設定され、Resource がユーザーに使用を許可するアイデンティティの ARN に設定されたポリシー

使用可能な Amazon SES アクションのリストについては、Amazon Simple Email Service API Reference を参照してください。IAM ユーザーが SMTP インターフェイスを使用する場合、許可する ses:SendRawEmail へのアクセスを最小限にする必要があります。

E メールアドレスの制限

ユーザーを特定の E メールアドレスに制限する場合、Condition ブロックを使用できます。Condition ブロックでは、IAM ユーザーガイドで説明されている条件キーを使用して条件を指定します。条件キーを使用して、次の E メールアドレスをコントロールできます。

注記

これらの E メールアドレス条件キーは、以下の表に記載された API にのみ適用されます。

条件キー

説明

API

ses:Recipients

受取人アドレスを制限します。To:、"CC"、"BCC" アドレスが含まれます。

SendEmailSendRawEmail

ses:FromAddress

「From」アドレスを制限します。

SendEmailSendRawEmailSendBounce

ses:FromDisplayName

表示名として使用される「From」アドレスを制限します。

SendEmailSendRawEmail

ses:FeedbackAddress

"Return-Path" アドレス (E メールのフィードバック転送によりバウンスや苦情を送信できるアドレス) を制限します。E メールのフィードバック転送の詳細については、「E メールでの Amazon SES 通知」を参照してください。

SendEmailSendRawEmail

一般的な API の使用の制限

条件で AWS 全体のキーを使用することで、ユーザーが API にアクセスを許可される日時などに基づいて Amazon SES へのアクセスを制限できます。Amazon SES が実装する AWS 全体のポリシーキーは以下のみです。

  • aws:CurrentTime

  • aws:EpochTime

  • aws:SecureTransport

  • aws:SourceIp

  • aws:UserAgent

これらのキーの詳細については、IAM ユーザーガイドを参照してください。

Amazon SES 用のサンプル IAM ポリシー

このトピックでは、特定の条件下でのみ、Amazon SES へのユーザーアクセスを許可するポリシーの例を示します。

すべての Amazon SES アクションに対するフルアクセスの許可

次のポリシーでは、すべての Amazon SES アクションの呼び出しをユーザーに許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:*" ], "Resource":"*" } ] }

E メール送信アクションへのアクセスのみを許可

次のポリシーでは、Amazon SES を使用した E メールの送信をユーザーに許可しますが、Amazon SES 送信統計へのアクセスなどの管理作業を実行することは許可しません。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*" } ] }

送信期間の制限

次のポリシーでは、2018 年の 9 月中に限り、Amazon SES E メール送信 API の呼び出しをユーザーに許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2018-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2018-10-01T12:00Z" } } } ] }

受取人アドレスの制限

次のポリシーでは、example.com ドメイン の受取人アドレスに対してのみ、Amazon SES E メール送信 API の呼び出しをユーザーに許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":[ "*@example.com" ] } } } ] }

「From」アドレスの制限

次のポリシーでは、「From」アドレスが marketing@example.com に限り、Amazon SES E メール送信 API の呼び出しをユーザーに許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FromAddress":"marketing@example.com" } } } ] }

次のポリシーでは、「From」アドレスが bounce@example.com の場合のみ、SendBounce API の呼び出しをユーザーに許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendBounce" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FromAddress":"bounce@example.com" } } } ] }

E メール送信者の表示名の制限

次のポリシーでは、「From」アドレスの表示名に Marketing が含まれている場合のみ、Amazon SES E メール送信 API の呼び出しをユーザーに許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }

バウンスや苦情のフィードバックの制限と送信先

次のポリシーでは、E メールの「Return-Path」が feedback@example.com に設定されている場合のみ、Amazon SES E メール送信 API の呼び出しをユーザーに許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FeedbackAddress":"feedback@example.com" } } } ] }

Amazon SES に関するさまざまなトピックについての情報やディスカッションについては、AWS メッセージングおよびターゲティングブログ を参照してください。お問い合わせを参照あるいは発信するには「Amazon SES フォーラム」をご覧ください。