今回はSESにてメール送信する際の宛先メールドメインを制限する方法についてです。
はじめに
SESを利用する際、
① 送信元制限
② 送信先(宛先)制限
の2つがよく用いられます。
今回は、「② 送信先(宛先)制限」についてです。
「② 送信先(宛先)制限」方法について1
早速にはなりますが、以下のようなIAMポリシーにて設定できます。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "ForAnyValue:StringLike":{ "ses:Recipients":[ "*@example.com" ] } } } ] }
上記IAMポリシーの場合には、
*@example.com
宛のメール送信のみ許可する
という内容になります。
そのため、
test1@example.com
testtest@example.com
のようなメールアドレス宛にメール送信ができるという意味です。
また、
test1@test.com
のようなメールドメイン宛は送信できないという意味になります。
「② 送信先(宛先)制限」方法について2
上記では*@example.com
を指定しましたが、
*@*.example.com
のように設定すれば、example.comのサブドメインをメール送信先(宛先)として設定可能という意味になります。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "ForAnyValue:StringLike":{ "ses:Recipients":[ "*@*example.com" ] } } } ] }
つまり、以下のようなメールアドレスへのメール送信が可能です。
test-one@test1.example.com
test-two@test2.example.com
test-three@test3.example.com
補足
宛先メールアドレスを制限するには、上記のようにIAMポリシーを作成すればよいです。
補足にはなりますが、
・EC2のインスタンスプロファイルに当該IAMポリシーを設定
・ECSタスクのタスクロールに当該IAMポリシーを設定
など、送信媒体(ここでは、EC2やECS)に応じて、適切な場所にIAMポリシーを適用する必要があります。
以上です。