送信ポリシーの例 - Amazon Simple Email Service

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

送信ポリシーの例

送信承認では、代理送信者に代理送信を許可する際の細かい条件を指定することができます。

送信承認に固有の条件

条件は、ステートメントのアクセス権限に関する制限のことです。ステートメントの中でも、記述が最も詳細になるのが、この条件部分です。キーは、リクエストの日時など、アクセス制限に使用される基本項目です。

制限は、条件とキーの両方を使用して定義します。たとえば、代理送信者が 2019 年 7 月 30 日以降はお客様の代わりに Amazon SES にリクエストを行うことができないように制限する場合、DateLessThan という条件を使用します。キーは aws:CurrentTime を使用し、値を 2019-07-30T00:00:00Z に設定します。

IAM ユーザーガイドの「使用可能なキー」にリストされている AWS 全体のキーを使用するか、送信承認ポリシーで役立つ SES に固有の次のいずれかのキーを使用できます。

条件キー

説明

ses:Recipients

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

ses:FromAddress

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

ses:FromDisplayName

「From」表示名として使用される文字列の内容を制限します ("フレンドリ名" と呼ばれることもあります)。たとえば、"John Doe <johndoe@example.com>" の表示名は John Doe です。

ses:FeedbackAddress

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

Amazon SES キーで StringEquals 条件および StringLike 条件を使用することができます。これらの条件は、大文字小文字を区別する文字列の一致を指定するために使用します。StringLike の場合、値には、複数文字一致のワイルドカード (*) または 1 文字一致のワイルドカード (?) を指定できます。文字列のどこにでも含めることができます。たとえば、次の条件は、先頭に「invoicing」、末尾に「@example.com」が付いた「From」アドレスからのみ代理送信者が送信できることを指定します。

"Condition": { "StringLike": { "ses:FromAddress": "invoicing*@example.com" } }

また、StringNotLike 条件を使用して、代理送信者が特定の E メールアドレスから E メールを送信できないようにすることもできます。例えば、admin@example.com や同様の E メールアドレス ("admin"@example.comadmin+1@example.comsender@admin.example.com) からの送信を禁止するには、ポリシーステートメントに次の条件を含めます :

"Condition": { "StringNotLike": { "ses:FromAddress": "*admin*example.com" } }

条件の指定方法の詳細については、IAM ユーザーガイド の「IAM JSON ポリシーエレメント: 条件」を参照してください。

代理送信者の指定

プリンシパル 、アクセス許可を付与するエンティティ は AWS アカウント 、AWS Identity and Access Management (IAM) ユーザー、またはAWSのサービスです。

以下の例は、検証済みAWSID example.com (888888888888AWS アカウントが所有) からのメール送信を ID 123456789012に許可する、シンプルなポリシーを示しています。このポリシーの Condition ステートメントにより、marketing+.*@example.com アドレスからメールを送信できるのが代理送信者 (AWS ID 123456789012) に限定されています。.* は、送信者が marketing+ の後に追加する任意の文字列を示しています。

{ "Id":"SampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeMarketer", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"marketing+.*@example.com" } } } ] }

次のポリシー例では、IAM ユーザー 2人に、アイデンティティ example.com から送信するアクセス許可を付与します。IAM ユーザーは、自分の Amazon リソースネーム (ARN) によって指定されます。

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeIAMUser", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "arn:aws:iam::111122223333:user/John", "arn:aws:iam::444455556666:user/Jane" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ] } ] }

次のポリシー例では、 Amazon Cognito に、アイデンティティ example.com から送信するアクセス許可を付与します。

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeService", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "Service":[ "cognito-idp.amazonaws.com" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition": { "StringEquals": { "aws:SourceAccount": "888888888888", "aws:SourceArn": "arn:aws:cognito-idp:us-east-1:888888888888:userpool/your-user-pool-id-goes-here" } } } ] }

次の例のポリシーでは、AWSOrganization 内のすべてのアカウントに、identity example.com から送信するアクセス許可が付与されます。AWSOrganization は、PrincipalOrgIDグローバル条件キーにより指定されます。

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeOrg", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":"*", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "aws:PrincipalOrgID":"o-xxxxxxxxxxx" } } } ] }

「From」アドレスの制限

検証済みドメインを使用する場合、代理送信者だけが特定の E メールアドレスから送信できるようにするポリシーを作成することをお勧めします。"From" アドレスを制限するには、キーで ses:FromAddress と呼ばれる条件を設定します。次のポリシーでは、AWS アカウントID 123456789012 がIDexample.com から送信することを許可すると同時に、送信元の E メールアドレスをsender@example.com に限定しています。

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "ses:FromAddress":"sender@example.com" } } } ] }

代理送信者による E メール送信時間に対する制限

送信者の承認ポリシーを設定することで、代理送信者が E メールを送信できる日付と時間や、日付の範囲を限定することもできます。例えば、2021 年 9 月内で E メールキャンペーンの送信を予定している場合、次のポリシーを使用することで、代理送信者による E メール送信を、その月に限定することができます。

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlTimePeriod", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2021-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2021-10-01T12:00Z" } } } ] }

E メール送信アクションの制限

送信者が Amazon SES で E メールを送信するために使用できるアクションは、SendEmailSendRawEmail の 2 つです。送信者が E メールの形式をどの程度コントロールするかに応じて決定します。送信承認ポリシーでは、代理送信者をこれらの 2 つのアクションのいずれかに制限できます。ただし、多くのアイデンティティ所有者は、ポリシーで両方のアクションを有効にすることで、E メール送信呼び出しの詳細を代理送信者に任せています。

注記

代理送信者が SMTP インターフェイスを介して Amazon SES にアクセスできるようにする場合、少なくとも SendRawEmail を選択する必要があります。

アクションを制限する必要がある場合、送信承認ポリシーにどちらかのアクションのみ含めることで制限することができます。次の例は、アクションを SendRawEmail に制限する方法を示しています。

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlAction", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendRawEmail" ] } ] }

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

E メールクライアントによっては、実際の「From」アドレスではなく、E メール送信者の「フレンドリ」名 (E メールヘッダーで指定されている場合) が表示されます。たとえば、"John Doe <johndoe@example.com>" の表示名は John Doe です。例として、user@example.com から E メールを送信しますが、E メールが user@example.com ではなく「Marketing」から送信されたものとして受信者に表示したいとします。次のポリシーでは、「From」アドレスの表示名に「Marketing」が含まれている場合のみ、AWS アカウントID 123456789012 がIDexample.com から送信できるようにします。

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }

複数のステートメントの使用

送信承認ポリシーには複数のステートメントを含めることができます。以下のサンプルポリシーには、2 つのステートメントが含まれています。最初のステートメントは、「From」アドレスとフィードバックアドレスの両方がドメイン example.com を使用している場合に限り、2 つのAWS アカウントがsender@example.comから送信することを承認します。2 番目のステートメントは、受信者の E メールアドレスが example.com ドメインに属している場合に限り、IAM ユーザーが sender@example.com から E メールを送信することを承認します。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeAWS", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":[ "111111111111", "222222222222" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"*@example.com", "ses:FeedbackAddress":"*@example.com" } } }, { "Sid":"AuthorizeInternal", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":"arn:aws:iam::333333333333:user/Jane" }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":"*@example.com" } } } ] }