

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

# Amazon SES 中的身分和存取管理
<a name="control-user-access"></a>

您可以搭配 Amazon Simple Email Service (Amazon SES) 使用 AWS Identity and Access Management (IAM)，以指定使用者、群組或角色可執行的 SES API 動作。(在本主題中，這些實體統稱為*使用者*。) 您也可以控制使用者可用於「寄件者」、收件人和「傳回路徑」等電子郵件地址欄位的電子郵件地址。

舉例來說，您可以建立允許組織中使用者傳送電子郵件的 IAM 政策，但是不可執行如檢查傳送統計資料等管理動作。另一個例子是，您可以編寫一個政策來使用者自您的帳戶中經由 SES 傳送電子郵件，但僅限於使用特定的「寄件人」地址。

若要使用 IAM，需定義一個 IAM 政策，該政策文件中需明確定義許可，並將政策連接至使用者。若要了解如何建立 IAM 政策，請參閱[ IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_overview.html)。除了套用您於政策中制訂的限制外，使用者與 SES 互動的方式或者 SES 執行請求的方法都不會改變。

**注意**  
如果您的帳戶在 SES 沙盒中，其限制會防止一些政策的實作-請參閱 [請求生產存取權限](request-production-access.md)。
您也可以透過傳送授權政策來控制 SES 的存取。IAM 政策會限制個別使用者可以執行的動作，傳送授權政策則是限制個別已驗證身分的使用方法。此外，只能透過傳送授權政策來允許跨帳戶存取權限。如需關於傳送授權的詳細資訊，請參閱 [透過 Amazon SES 使用傳送授權](sending-authorization.md)。

如果您要尋找如何為現有使用者產生 SES SMTP 憑證的詳細資訊，請參閱 [取得 Amazon SES SMTP 憑證](smtp-credentials.md)。

## 建立可存取 SES 的 IAM 政策
<a name="iam-and-ses"></a>

本節說明如何透過 SES 來使用 IAM 政策。若要了解建立 IAM 政策的一般方法，請參閱[ IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html)。

有三種情況需運用 SES 來使用 IAM：
+ 限制電子郵件傳送動作。
+ 限制「寄件者」、收件人和「傳回路徑」等使用者傳送的電子郵件欄位。
+ 需控制 API 使用量的整體層面時，例如控制允許使用者呼叫已獲授權使用的 API 之使用期間。

### 限制動作
<a name="iam-and-ses-restrict-action"></a>

若要控制使用者可執行哪些SES 動作，您可以使用 IAM 政策中的`Action`元素。可在 API 名稱前方加入小寫字串 `Action` 來將 `ses:` 元素設至 SES API 動作。例如，您可以設定 `Action` 為 `ses:SendEmail`、`ses:GetSendStatistics` 或 `ses:*` (適用於所有動作)。

然後，根據 `Action` 來指定 `Resource` 元素，如下所示：

**如果 `Action` 元素僅允許存取電子郵件傳送 API (也就是說，`ses:SendEmail` 和/或 `ses:SendRawEmail`)：**
+ 若要允許使用者從 中的任何身分傳送 AWS 帳戶，請將 `Resource`設定為 \*
+ 若要限制使用者可以傳送的身分，請將 `Resource` 設定為允許使用者使用的身分 ARN。

**如果 `Action` 元素允許存取所有 API：**
+ 如果您不想限制使用者用以傳送的身分，請將 `Resource` 設定為 \*
+ 若要限制使用者可以用於傳送的身分，需要建立兩個政策 (或在一個政策中包含兩項陳述式)：
  + 一項是將 `Action` 設定為明確允許非電子郵件傳送 API 的清單，並將 `Resource` 設定為 \*
  + 另一項是將 `Action` 設定為其中一個電子郵件傳送 API (`ses:SendEmail` 和/或 `ses:SendRawEmail`)，並將 `Resource` 設定為您允許使用者使用的身分 ARN。

如需可用 Amazon SES 動作的清單，請參閱 [Amazon Simple Email Service API 參考資料](https://docs.aws.amazon.com/ses/latest/APIReference/)。如果使用者將使用 SMTP 界面，您至少必須允許存取 `ses:SendRawEmail`。

### 限制電子郵件地址
<a name="iam-and-ses-restrict-addresses"></a>

如果您想限制使用者使用特定電子郵件地址，您也可以使用 `Condition` 區塊。在 `Condition` 區塊中，需使用 [IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Condition)中說明的條件索引鍵來指定條件。使用條件金鑰即可控制以下電子郵件地址：

**注意**  
這些電子郵件地址的條件金鑰只適用於下方表格中所列之 API。


****  

| 條件索引鍵 | Description | API | 
| --- | --- | --- | 
| `ses:Recipients` | 限制收件人地址，包括：「收件人」、「副本」和「密件副本」地址。 | `SendEmail`, `SendRawEmail` | 
| `ses:FromAddress` | 限制「寄件人」地址。 | `SendEmail`, `SendRawEmail`, `SendBounce` | 
| `ses:FromDisplayName` | 限制做為顯示名稱的「寄件人」地址。 | `SendEmail`, `SendRawEmail` | 
| `ses:FeedbackAddress` | 限制「傳回路徑」地址，此地址可使用電子郵件意見轉送功能來接收退信和投訴。如需關於電子郵件意見轉送功能的詳細資訊，請參閱 [透過電子郵件接收 Amazon SES 通知](monitor-sending-activity-using-notifications-email.md)。 | `SendEmail`, `SendRawEmail` | 
| `ses:MultiRegionEndpointId` | 可讓您控制傳送電子郵件時使用的端點 ID | `SendEmail`, `SendBulkEmail` | 

### 根據 SES API 版本進行限制
<a name="iam-and-ses-restrict-api-version"></a>

在條件中使用 `ses:ApiVersion` 索引鍵，您可以根據 SES API 的版本限制對 SES 的存取。

**注意**  
SES SMTP 介面使用 `ses:SendRawEmail` 的 SES API 版本 2。

### 限制一般 API 用量
<a name="iam-and-ses-restrict-API-usage"></a>

透過在條件中使用 AWS全局金鑰，您可以根據允許使用者存取 APIs存取。SES 僅實作下列 AWS範圍的政策金鑰：
+ `aws:CurrentTime`
+ `aws:EpochTime`
+ `aws:SecureTransport`
+ `aws:SourceIp`
+ `aws:SourceVpc`
+ `aws:SourceVpce`
+ `aws:UserAgent`
+ `aws:VpcSourceIp`

如需關於這些索引鍵的詳細資訊，請參閱 [IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Condition)。

## 用於 SES 的 IAM 政策範例
<a name="iam-and-ses-examples"></a>

本主題提供允許使用者存取 SES 的政策範例，但是僅適用於特定條件。

**Topics**
+ [允許完整存取所有 SES 動作](#iam-and-ses-examples-full-access)
+ [僅允許存取 SES API 版本 2](#iam-and-ses-examples-access-specific-ses-api-version)
+ [僅允許存取電子郵件傳送動作](#iam-and-ses-examples-email-sending-actions)
+ [限制傳送期間](#iam-and-ses-examples-time-period)
+ [限制收件人地址](#iam-and-ses-examples-recipients)
+ [限制「寄件人」地址](#iam-and-ses-examples-from-address)
+ [限制電子郵件寄件者的顯示名稱](#iam-and-ses-examples-display-name)
+ [限制退信目的地與投訴意見回饋](#iam-and-ses-examples-feedback)

### 允許完整存取所有 SES 動作
<a name="iam-and-ses-examples-full-access"></a>

以下政策允許使用者呼叫任何 SES 動作。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "ses:*"
      ],
      "Resource":"*"
    }
  ]
}
```

------

### 僅允許存取 SES API 版本 2
<a name="iam-and-ses-examples-access-specific-ses-api-version"></a>

以下政策允許使用者只呼叫 API 版本 2 的 SES 動作。

------
#### [ JSON ]

****  

```
{
  		                 "Version":"2012-10-17",		 	 	 
  		                 "Statement":[
  		                     {
  		                         "Effect":"Allow",
  		                         "Action":[
  		                         "ses:*"
  		                         ],
  		                         "Resource":"*",
  		                         "Condition": {
  		                             "StringEquals" : {
  		                             "ses:ApiVersion" : "2"
  		                             }
  		                         }
  		                     }
  		                 ]
  		             }
```

------

### 僅允許存取電子郵件傳送動作
<a name="iam-and-ses-examples-email-sending-actions"></a>

以下政策允許使用者經由 SES 傳送電子郵件，但是不允許使用者執行管理動作，例如存取 SES 傳送統計資料。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "ses:SendEmail",
        "ses:SendRawEmail"
      ],
      "Resource":"*"
    }
  ]
}
```

------

### 限制傳送期間
<a name="iam-and-ses-examples-time-period"></a>

以下政策允許使用者呼叫 SES 電子郵件傳送 API，期間僅限於 2018 年 9 月。

------
#### [ JSON ]

****  

```
{
  "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"
        }
      }
    }
  ]
}
```

------

### 限制收件人地址
<a name="iam-and-ses-examples-recipients"></a>

以下政策允許使用者呼叫 SES 電子郵件傳送 API，但是僅限於 *example.com* 網域中的收件人地址 (`StringLike` *會區分大小寫*)。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "ses:SendEmail",
        "ses:SendRawEmail"
      ],
      "Resource":"*",
      "Condition":{
        "ForAllValues:StringLike":{
          "ses:Recipients":[
            "*@example.com"
          ]
        }
      }
    }
  ]
}
```

------

### 限制「寄件人」地址
<a name="iam-and-ses-examples-from-address"></a>

以下政策允許使用者呼叫 SES 電子郵件傳送 API，但是僅限於「寄件人」地址為 *marketing@example.com* 的情況。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "ses:SendEmail",
        "ses:SendRawEmail"
      ],
      "Resource":"*",
      "Condition":{
        "StringEquals":{
          "ses:FromAddress":"marketing@example.com"
        }
      }
    }
  ]
}
```

------

以下政策允許使用者呼叫 [SendBounce](https://docs.aws.amazon.com/ses/latest/APIReference/API_SendBounce.html) API，但是僅限於「寄件人」地址為 *bounce@example.com* 的情況。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "ses:SendBounce"
      ],
      "Resource":"*",
      "Condition":{
        "StringEquals":{
          "ses:FromAddress":"bounce@example.com"
        }
      }
    }
  ]
}
```

------

### 限制電子郵件寄件者的顯示名稱
<a name="iam-and-ses-examples-display-name"></a>

以下政策允許使用者呼叫 SES 電子郵件傳送 API，但是僅限於「寄件人」地址顯示名稱包含 *Marketing* 的情況 (`StringLike` *會區分大小寫*)。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "ses:SendEmail",
        "ses:SendRawEmail"
      ],
      "Resource":"*",
      "Condition":{
        "StringLike":{
          "ses:FromDisplayName":"Marketing"
        }
      }
    }
  ]
}
```

------

### 限制退信目的地與投訴意見回饋
<a name="iam-and-ses-examples-feedback"></a>

以下政策允許使用者呼叫 SES 電子郵件傳送 API，但是僅限於電子郵件的「傳回路徑」設為 *feedback@example.com* 的情況。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "ses:SendEmail",
        "ses:SendRawEmail"
      ],
      "Resource":"*",
      "Condition":{
        "StringEquals":{
          "ses:FeedbackAddress":"feedback@example.com"
        }
      }
    }
  ]
}
```

------