本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon 中的身分和存取管理 SES
您可以搭配 Amazon Simple Email Service (Amazon IAM) 使用 AWS Identity and Access Management (SES),以指定使用者、群組或角色可以執行SESAPI的動作。(在本主題中,這些實體統稱為使用者。) 您也可以控制使用者可用於「寄件者」、收件人和「傳回路徑」等電子郵件地址欄位的電子郵件地址。
舉例來說,您可以建立允許組織中使用者傳送電子郵件的 IAM 政策,但是不可執行如檢查傳送統計資料等管理動作。另一個例子是,您可以編寫一個政策來使用者自您的帳戶中經由 SES 傳送電子郵件,但僅限於使用特定的「寄件人」地址。
若要使用 IAM,您可以定義IAM政策,這是明確定義許可的文件,並將政策連接至使用者。若要了解如何建立IAM政策,請參閱 IAM 使用者指南。除了套用您於政策中設定的限制外,使用者與 SES 互動的方式或 SES 執行請求的方法都不會改變。
注意
-
如果您的帳戶位於SES沙盒中,其限制會阻止實作其中一些政策 - 請參閱 請求生產存取權限。
-
您也可以透過傳送授權政策來控制 SES 的存取。雖然IAM政策限制了個別使用者可以執行的動作,但傳送授權政策限制了如何使用個別已驗證的身分。此外,只能透過傳送授權政策來允許跨帳戶存取權限。如需關於傳送授權的詳細資訊,請參閱 透過 Amazon SES 使用傳送授權。
如果您要尋找如何為現有使用者產生SESSMTP登入資料的相關資訊,請參閱 取得 Amazon SESSMTP登入資料。
建立 IAM 政策以存取 SES
本節說明如何專門透過 SES 使用 IAM 政策。若要了解如何建立一般IAM政策,請參閱 IAM 使用者指南。
有三種情況需運用 SES 使用 IAM:
-
限制電子郵件傳送動作。
-
限制「寄件者」、收件人和「傳回路徑」等使用者傳送的電子郵件欄位。
-
控制API使用的一般層面,例如允許使用者呼叫APIs其獲授權使用的 的期間。
限制動作
若要控制使用者可執行哪些 SES 動作,您可以使用 IAM 政策的 Action
元素。您可以將 Action
元素設定為任何SESAPI動作,方法是在API名稱前面加上小寫字串 ses:
。例如,您可以設定 Action
為 ses:SendEmail
、ses:GetSendStatistics
或 ses:*
(適用於所有動作)。
然後,根據 Action
來指定 Resource
元素,如下所示:
如果 Action
元素僅允許存取電子郵件傳送 APIs(即 ses:SendEmail
和/或 ses:SendRawEmail
):
-
若要允許使用者從 中的任何身分傳送 AWS 帳戶,請將
Resource
設定為 * -
若要限制允許使用者傳送的身分,請將
Resource
設定為您允許使用者使用的身分ARNs的 。
如果 Action
元素允許存取所有 APIs:
-
如果您不想限制使用者用以傳送的身分,請將
Resource
設定為 * -
若要限制使用者可以用於傳送的身分,需要建立兩個政策 (或在一個政策中包含兩項陳述式):
-
一個
Action
設定為允許 non-email-sendingAPIs且Resource
設定為 * 的明確清單 -
一個
Action
設定為其中一個電子郵件傳送 APIs(ses:SendEmail
和/或ses:SendRawEmail
),並Resource
設定為您允許使用者使用之身分的 ARN(s)。
-
如需可用SES動作的清單,請參閱 Amazon Simple Email Service API參考。如果使用者將使用 SMTP 界面,您ses:SendRawEmail
至少必須允許 的存取。
限制電子郵件地址
如果您想限制使用者使用特定電子郵件地址,您也可以使用 Condition
區塊。在 Condition
區塊中,您可以使用 IAM 使用者指南中所述的條件金鑰來指定條件。使用條件金鑰即可控制以下電子郵件地址:
注意
這些電子郵件地址條件索引鍵僅適用於下表APIs所述的 。
條件索引鍵 |
描述 |
API |
---|---|---|
|
限制收件人地址,包括收件人:、「CC」和「BCC」地址。 |
|
|
限制「寄件人」地址。 |
|
|
限制做為顯示名稱的「寄件人」地址。 |
|
|
限制「傳回路徑」地址,此地址可使用電子郵件意見轉送功能來接收退信和投訴。如需關於電子郵件意見轉送功能的詳細資訊,請參閱 透過電子郵件接收 Amazon SES 通知。 |
|
|
可讓您控制傳送電子郵件時使用的端點 ID |
|
依SESAPI版本限制
在 條件下使用 ses:ApiVersion
金鑰,您可以SES根據 的版本限制對 SES 的存取API。
注意
此SESSMTP介面使用 第 2 SESAPI版ses:SendRawEmail
。
限制一般API用量
透過在 條件中使用全局金鑰,您可以SES根據允許使用者存取 AWS的日期和時間等層面來限制對 的存取APIs。 只會SES實作下列 AWS全局政策金鑰:
-
aws:CurrentTime
-
aws:EpochTime
-
aws:SecureTransport
-
aws:SourceIp
-
aws:SourceVpc
-
aws:SourceVpce
-
aws:UserAgent
-
aws:VpcSourceIp
如需這些金鑰的詳細資訊,請參閱 IAM 使用者指南。
適用於 SES 的範例 IAM 政策
本主題提供允許使用者存取 SES 的政策範例,但是僅適用於特定條件。
本節中的政策範例:
允許完整存取所有 SES 動作
以下政策允許使用者呼叫任何 SES 動作。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:*" ], "Resource":"*" } ] }
僅允許存取第 2 SESAPI版
下列政策允許使用者只呼叫第 2 API版SES的動作。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:*" ], "Resource":"*", "Condition": { "StringEquals" : { "ses:ApiVersion" : "2" } } } ] }
僅允許存取電子郵件傳送動作
以下政策允許使用者使用 SES 傳送電子郵件,但是不允許使用者執行管理動作,例如存取 SES 傳送統計資料。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*" } ] }
限制傳送期間
下列政策APIs僅允許使用者在 2018 年 9 月期間呼叫SES電子郵件傳送。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2018-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2018-10-01T12:00Z" } } } ] }
限制收件人地址
下列政策允許使用者呼叫SES電子郵件傳送 APIs,但僅限於網域 example.com 中的收件人地址 (StringLike
區分大小寫)。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":[ "*@example.com" ] } } } ] }
限制「寄件人」地址
下列政策允許使用者呼叫SES電子郵件傳送 APIs,但前提是「寄件人」地址為 marketing@example.com。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FromAddress":"marketing@example.com" } } } ] }
下列政策允許使用者呼叫 SendBounce API,但前提是「寄件人」地址為 bounce@example.com。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendBounce" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FromAddress":"bounce@example.com" } } } ] }
限制電子郵件寄件者的顯示名稱
下列政策允許使用者呼叫SES電子郵件傳送 APIs,但前提是「寄件人」地址的顯示名稱包含行銷 (StringLike
區分大小寫)。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }
限制退信目的地與投訴意見回饋
下列政策允許使用者呼叫SES電子郵件傳送 APIs,但前提是電子郵件的「傳回路徑」設定為 feedback@example.com。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FeedbackAddress":"feedback@example.com" } } } ] }