Amazon SES ポリシーの構造分析 - Amazon Simple Email Service

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

Amazon SES ポリシーの構造分析

ポリシーは特定の構造に準拠し、要素を含み、特定の要件を満たす必要があります。

ポリシーの構造

各承認ポリシーは、ID にアタッチされる JSON ドキュメントです。各ポリシーには以下のセクションがあります。

  • ポリシー全体に関する情報 (ドキュメントの最上部)。

  • 1 つ以上の個別のステートメント (それぞれが 1 セットのアクセス許可を説明)。

次の例では、AWS アカウント ID 123456789012 に、検証済みドメイン example.com についてアクションセクションで指定されたアクセス許可を付与します。

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeAccount", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:123456789012:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:GetEmailIdentity", "ses:UpdateEmailIdentityPolicy", "ses:ListRecommendations", "ses:CreateEmailIdentityPolicy", "ses:DeleteEmailIdentity" ] } ] }

他の承認ポリシーの例については、「ID ポリシーの例」を参照してください。

ポリシーの要素

このセクションでは、ID 承認ポリシーに含まれる要素について説明します。まず、ポリシー全体の要素について説明した後、その要素が含まれるステートメントにのみ適用される要素について説明します。その後、ステートメントに条件を追加する方法について説明します。

エレメントの構文の詳細については、IAM ユーザーガイドの「IAM ポリシー言語の文法」を参照してください。

ポリシー全体に関する情報

ポリシー全体の要素として、IdVersion の 2 つがあります。次の表に、これらの要素についての情報を示します。

名前

説明

必須

有効な値

Id

ポリシーを一意に識別します。

いいえ

任意の文字列

Version

ポリシーアクセス言語のバージョンを指定します。

いいえ

任意の文字列。ベストプラクティスとして、このフィールドに値 "2012-10-17" を含めることをお勧めします。

個別のポリシーに関するステートメント

ID 承認ポリシーには、少なくとも 1 つのステートメントが必要です。各ステートメントには、次の表に示す要素を含めることができます。

名前

説明

必須

有効な値

Sid

ステートメントを一意に識別します。

いいえ

任意の文字列。

Effect

評価時にポリシーのステートメントによって返される結果を指定します。

はい

"Allow" または "Deny"。

Resource

ポリシーが適用されるアイデンティティを指定します。

(送信承認の場合、これは ID 所有者が代理送信者に使用を承認するメールアドレスまたはドメインです)。

はい

ID の Amazon リソースネーム (ARN)。

Principal

ステートメントで、アクセス許可を受け取る AWS アカウント、ユーザー、または AWS サービスを指定します。

はい

有効な AWS アカウント ID、ユーザー ARN、または AWS サービス。AWS アカウントID とユーザー ARN は、"AWS" (例えば、"AWS": ["123456789012"] または "AWS": ["arn:aws:iam::123456789012:root"]) を使用して指定され、AWS サービス名は、"Service" (例えば、"Service": ["cognito-idp.amazonaws.com"]) を使用して指定されます。

ユーザー ARN の形式の例については、「AWS 全般のリファレンス」を参照してください。

Action

ステートメントが適用されるアクションを指定します。

はい

"ses:BatchGetMetricData"、"ses:CancelExportJob"、"ses:CreateDeliverabilityTestReport"、"ses:CreateEmailIdentityPolicy"、"ses:CreateExportJob"、"ses:DeleteEmailIdentity"、"ses:DeleteEmailIdentityPolicy"、"ses:GetDomainStatisticsReport"、"ses:GetEmailIdentity"、"ses:GetEmailIdentityPolicies"、"ses:GetExportJob"、"ses:ListExportJobs"、"ses:ListRecommendations"、"ses:PutEmailIdentityConfigurationSetAttributes"、"ses:PutEmailIdentityDkimAttributes"、"ses:PutEmailIdentityDkimSigningAttributes"、"ses:PutEmailIdentityFeedbackAttributes"、"ses:PutEmailIdentityMailFromAttributes"、"ses:TagResource"、"ses:UntagResource"、"ses:UpdateEmailIdentityPolicy"

(送信承認アクション: "ses:SendEmail"、"ses:SendRawEmail"、"ses:SendTemplatedEmail"、"ses:SendBulkTemplatedEmail")

これらのオペレーションは 1 つ以上指定できます。

Condition

アクセス許可についての制限や詳細を指定します。

いいえ

この表の後の条件についての情報を参照してください。

条件

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

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

SES は、以下の AWS 全体のポリシーキーのみを実装しています。

  • aws:CurrentTime

  • aws:EpochTime

  • aws:SecureTransport

  • aws:SourceIp

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserAgent

  • aws:VpcSourceIp

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

ポリシーの要件

ポリシーは、以下の要件をすべて満たしている必要があります。

  • 各ポリシーには、少なくとも 1 つのステートメントが含まれている必要があります。

  • 各ポリシーには、少なくとも 1 つの有効なプリンシパルが含まれている必要があります。

  • 各ポリシーには、1 つのリソースを指定する必要があります。またそのリソースは、ポリシーがアタッチされている ID の ARN である必要があります。

  • アイデンティティ所有者は、最大 20 のポリシーにそれぞれ一意のアイデンティティを関連付けることができます。

  • ポリシーのサイズが 4 キロバイト (KB) を超えることはできません。

  • ポリシー名が 64 文字を超えることはできません。また、英数字、ダッシュ、アンダースコアのみを含めることができます。