Amazon SES 政策結構 - Amazon Simple Email Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon SES 政策結構

政策遵循特定結構,包含元素,且必須符合特定要求。

政策結構

每個授權政策是一份連接到身分的 JSON 文件。每個政策包含下列部分:

  • 位於文件上方的整體政策資訊。

  • 一個或多個獨立陳述式,各個陳述式皆說明一組權限。

以下範例政策授予 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" ] } ] }

您可以在 身分政策範例 找到更多授權政策的範例。

政策元素

此章節說明包含於身分授權政策中的元素。首先,我們將說明整體政策內的元素,接著說明僅適用於含有元素的陳述式之元素。接下來將討論如何新增條件至您的陳述式中。

如需元素語法的具體資訊,請參閱 IAM 使用者指南中的 IAM 政策語言的文法

整體政策資訊

有兩種整體政策元素:IdVersion。下表提供有關這些元素的資訊。

名稱

描述

必要

有效值

Id

單獨辨識政策。

任何字串

Version

指定政策存取語言版本。

任何字串。做為最佳實務,我們建議您將 "2012-10-17" 值填入此欄位。

政策專用的陳述式

身分授權政策需要至少一個陳述式。每個陳述式可以包含下表中所述的元素。

名稱

描述

必要

有效值

Sid

單獨辨識陳述式。

任何字串。

Effect

指定您想要政策陳述式在評估時間傳回的結果。

「允許」或「拒絕」。

Resource

指定政策適用的身分。

(用於傳送授權,亦即身分擁有者授權委託寄件者使用的電子郵件地址或網域。)

身分的 Amazon Resource Name (ARN)。

Principal

指定接收陳述式中許可的 AWS 帳戶、使用者或 AWS 服務。

有效的 AWS 帳戶 ID、使用者 ARN 或 AWS 服務。AWS 帳戶使用 "AWS" 指定 ID 和使用者 ARN (例如,"AWS": ["123456789012"]"AWS": ["arn:aws:iam::123456789012:root"])。使用 "Service" 指定 AWS 服務名稱(例如 "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")

您可以指定這些操作中的一或多個。

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 使用者指南

政策要求

政策必須符合下列所有要求:

  • 每個政策必須至少包含一個陳述式。

  • 每個政策必須至少包含一個有效委託人。

  • 每個政策必須指定一個資源,而且該資源必須是附加政策之身分的 ARN。

  • 身分擁有者最多可將 20 個政策附加至每個獨立的身分。

  • 政策的大小不得超過 4 KB。

  • 政策名稱不能超過 64 個字元。此外,它們只能包含英數字元、連字號和底線。