翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SESでの Identity and Access Management
AWS Identity and Access Management (IAM) を Amazon Simple Email Service (Amazon SES ) で使用して、ユーザー、グループ、またはロールが実行できる SES API アクションを指定できます。(このトピックでは、これらのエンティティをまとめて「ユーザー」と呼びます)。ユーザーが「From」、受取人、「Return-Path」の E メールアドレスに使用できる E メールアドレスをコントロールすることもできます。
例えば、IAM ポリシーを作成して、組織内のユーザーはメールを送信できるが送信統計の確認アクションなどのチェック作業を実行できないようにすることができます。別の例として、ユーザーが特定の「From」アドレスを使用している場合のみ、アカウントから SES を介して E メールを送信することを許可するポリシーを作成できます。
IAM を使用するには、IAM ポリシー (明示的にアクセス許可を定義するドキュメント) を定義し、ユーザーにポリシーをアタッチします。IAM ポリシーを作成する方法については、「IAM ユーザーガイド」を参照してください。ポリシーで設定した制限が適用される以外に、ユーザーが SES を操作する方法や SES がリクエストを実行する方法に変更はありません。
注記
-
アカウントが SES サンドボックスにある場合は、その制限によってこれらのポリシーの一部を実装できない場合があります。「本番稼働用アクセスのリクエスト」を参照してください。
-
送信承認ポリシーを使用することで、SES へのアクセスを制御することもできます。IAM ポリシーは、個々のユーザーが実行できる操作を制約しますが、送信承認ポリシーは、個々の検証済みアイデンティティの使用方法を制約します。さらに、クロスアカウントアクセスを許可できるのは送信承認ポリシーのみです。送信承認の詳細については、「Amazon SES での送信承認の使用」を参照してください。
既存のユーザーの SES SMTP の認証情報を生成する方法については、「Amazon SESSMTP認証情報の取得」を参照してください。
SES にアクセスするための IAM ポリシーの作成
このセクションでは、特に SES で IAM ポリシーを使用する方法を説明します。IAM ポリシーを作成する一般的な方法については、「IAM ユーザーガイド」を参照してください。
SES で IAM を使用する理由は次の 3 つです。
-
E メール送信アクションを制限するため。
-
ユーザーが送信する E メールの「From」、受取人、「Return-Path」のアドレスを制限するため。
-
ユーザーが使用を承認された API の呼び出しを許可される期間など、API の使用の一般的な側面をコントロールするため。
アクションの制限
ユーザーが実行できる SES アクションをコントロールするには、IAM ポリシーの Action
要素を使用します。API 名の先頭に小文字の文字列 Action
を付けることで、ses:
要素をすべての SES API アクションに設定できます。たとえば、Action
を ses:SendEmail
、ses:GetSendStatistics
、または ses:*
(すべてのアクションの場合) に設定できます。
次に、Action
に応じて、次のように Resource
要素を指定します。
Action
要素により E メール送信 API (つまり、ses:SendEmail
や ses:SendRawEmail
) へのアクセスのみ許可されている場合、次のようにします。
-
ユーザーが 内の任意の ID から を送信できるようにするには AWS アカウント、
Resource
を * に設定します。 -
ユーザーの送信元のアイデンティティを制限するには、
Resource
をユーザーに使用を許可するアイデンティティの ARN に設定します。
Action
要素によりすべての API へのアクセスが許可されている場合、次のようにします。
-
ユーザーの送信元のアイデンティティを制限しない場合、
Resource
を * に設定します。 -
ユーザーの送信元のアイデンティティを制限する場合、2 つのポリシー (または、1 つのポリシー内に 2 つのステートメント) を作成する必要があります。
-
Action
が許可された non-email-sending APIsされ、 が *Resource
に設定されているもの -
Action
が E メール送信 API (ses:SendEmail
やses:SendRawEmail
) のいずれかに設定され、Resource
がユーザーに使用を許可するアイデンティティの ARN に設定されたポリシー
-
使用可能な SES アクションのリストについては、「Amazon Simple Email Service API リファレンス」を参照してください。ユーザーが SMTP インターフェイスを使用する場合、許可する ses:SendRawEmail
へのアクセスを最小限にする必要があります。
E メールアドレスの制限
ユーザーを特定の E メールアドレスに制限する場合、Condition
ブロックを使用できます。Condition
ブロックでは、IAM ユーザーガイド で説明されている条件キーを使用して条件を指定します。条件キーを使用して、次の E メールアドレスをコントロールできます。
注記
これらの E メールアドレス条件キーは、以下の表に記載された API にのみ適用されます。
条件キー |
説明 |
API |
---|---|---|
|
受取人アドレスを制限します。To:、"CC"、"BCC" アドレスが含まれます。 |
|
|
「From」アドレスを制限します。 |
|
|
表示名として使用される「From」アドレスを制限します。 |
|
|
"Return-Path" アドレス (E メールのフィードバック転送によりバウンスや苦情を送信できるアドレス) を制限します。E メールのフィードバック転送の詳細については、「E メールを介したAmazon SES に関する通知の受信」を参照してください。 |
|
SES API のバージョンによる制限
条件で ses:ApiVersion
キーを使用することで、SES API のバージョンに基づいて SES へのアクセスを制限できます。
注記
SES SMTP インターフェイスは、ses:SendRawEmail
の SES API バージョン 2 を使用します。
一般的な API の使用の制限
条件で AWS全体のキーを使用すると、ユーザーが APIs へのアクセスを許可されている日時などの側面に基づいて SES へのアクセスを制限できます。SES は、以下の AWS全体のポリシーキーのみを実装します。
-
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 月中に限り、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 (StringLike
では、大文字と小文字が区別されます) の受信者アドレスに対してのみ、SES E メール送信 API の呼び出しをユーザーに許可します。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":[ "*@example.com" ] } } } ] }
"From" アドレスの制限
次のポリシーでは、marketing@example.com の受信者アドレスに対してのみ、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 (StringLike
では、大文字と小文字が区別されます) を含む場合に対してのみ、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 に設定されている場合にのみ、SES E メール送信 API の呼び出しをユーザーに許可します。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FeedbackAddress":"feedback@example.com" } } } ] }