本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
政策遵循特定結構,包含元素,且必須符合特定要求。
政策結構
每個授權政策是一份連接到身分的 JSON 文件。每個政策包含下列部分:
-
位於文件上方的整體政策資訊。
-
一個或多個獨立陳述式,各個陳述式皆說明一組權限。
下列範例政策會授予已驗證網域 example.com 的動作區段中指定的 AWS 帳戶 ID 123456789012 許可。
{
"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 政策語言的文法。
整體政策資訊
有兩種整體政策元素:Id
和 Version
。下表提供有關這些元素的資訊。
名稱 |
描述 |
必要 |
有效值 |
---|---|---|---|
|
單獨辨識政策。 |
否 |
任何字串 |
|
指定政策存取語言版本。 |
否 |
任何字串。做為最佳實務,我們建議您將 "2012-10-17" 值填入此欄位。 |
政策專用的陳述式
身分授權政策需要至少一個陳述式。每個陳述式可以包含下表中所述的元素。
名稱 |
描述 |
必要 |
有效值 |
---|---|---|---|
|
單獨辨識陳述式。 |
否 |
任何字串。 |
|
指定您想要政策陳述式在評估時間傳回的結果。 |
是 |
「允許」或「拒絕」。 |
|
指定政策適用的身分。 (用於傳送授權,亦即身分擁有者授權委託寄件者使用的電子郵件地址或網域。) |
是 |
身分的 Amazon Resource Name (ARN)。 |
|
指定 AWS 帳戶陳述式中接收許可的 、 使用者或服務 AWS 。 |
是 |
使用 如需使用者 ARN 的格式範例,請參閱 AWS 一般參考。 |
|
指定陳述式套用的動作。 |
是 |
"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") 您可以指定這些操作中的一或多個。 |
|
指定有關許可的任何限制或詳細資訊。 |
否 |
有關條件的資訊請參閱下表。 |
條件
條件是關於陳述式內許可的任何限制。指定條件的陳述式部分可能是所有部分中最詳細的。金鑰是做為存取限制基準的特定特性,例如請求的日期和時間。
您同時使用條件和金鑰來表達限制。例如,若您希望限制委派寄件者代表您在 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 個字元。此外,它們只能包含英數字元、連字號和底線。