Amazon での Identity and Access Management SES - Amazon Simple Email Service

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

Amazon での Identity and Access Management SES

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

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

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

注記
  • アカウントがSESサンドボックスにある場合、その制限によりこれらのポリシーの一部が実装されなくなります。「」を参照してください本番稼働用アクセスのリクエスト

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

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

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

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

SES で IAM を使用する理由は次の 3 つです。

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

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

  • API ユーザーが使用を許可された を呼び出すことができる期間などAPIs、使用の一般的な側面を制御する。

アクションの制限

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

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

Action要素が E メール送信 APIs (つまり、 ses:SendEmailおよび/または ses:SendRawEmail) へのアクセスのみを許可する場合:

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

  • ユーザーが送信できる ID を制限するには、 Resourceを、ユーザーに使用を許可する ID ARNsの に設定します。

Action要素がすべての へのアクセスを許可する場合APIs:

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

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

    • を許可された non-email-sending の明示的なリストActionに設定APIsし、 を * Resourceに設定したもの

    • E メール送信 APIs (ses:SendEmail および/または ses:SendRawEmail) の 1 つに Action を設定し、ユーザーに使用を許可する ID の ARN(s) に Resource を設定します。

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

E メールアドレスの制限

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

注記

これらの E メールアドレス条件キーは、次の表APIsに記載されている にのみ適用されます。

条件キー

説明

API

ses:Recipients

To:、「CC」、「」アドレスを含む受信者BCCアドレスを制限します。

SendEmail, SendRawEmail

ses:FromAddress

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

SendEmail, SendRawEmail, SendBounce

ses:FromDisplayName

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

SendEmail, SendRawEmail

ses:FeedbackAddress

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

SendEmail, SendRawEmail

ses:MultiRegionEndpointId

E メールを送信するときに使用するエンドポイント ID を制御できます。

SendEmail, SendBulkEmail

SES API バージョンによる制限

条件で ses:ApiVersionキーを使用すると、 のバージョンSESに基づいて SES へのアクセスを制限できますAPI。

注記

SES SMTP インターフェイスは SESAPIのバージョン 2 を使用しますses:SendRawEmail

一般的なAPI使用の制限

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

  • aws:CurrentTime

  • aws:EpochTime

  • aws:SecureTransport

  • aws:SourceIp

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserAgent

  • aws:VpcSourceIp

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

SES の IAM ポリシー例

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

すべての SES アクションへのフルアクセスを許可

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

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

SES API バージョン 2 のみへのアクセスの許可

次のポリシーでは、ユーザーはAPIバージョン 2 のSESアクションのみを呼び出すことができます。

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

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

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

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

送信期間の制限

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

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

受取人アドレスの制限

次のポリシーでは、ユーザーが E SESメール送信 を呼び出すことを許可しますがAPIs、ドメイン example.com の受信者アドレスに対してのみ許可します (StringLike では大文字と小文字が区別されます)。

{ "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 の場合にのみAPIs、E SESメール送信元の を呼び出すことをユーザーに許可します。

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

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

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

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

次のポリシーでは、「送信元」アドレスの表示名に Marketing が含まれている場合にのみ (StringLike では大文字と小文字が区別されます)APIs、ユーザーが SES E メール送信 を呼び出すことを許可します。

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

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

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

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