

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

# 為異常通知建立 Amazon SNS 主題
<a name="ad-SNS"></a>

若要建立將通知傳送至 Amazon Simple Notification Service (Amazon SNS) 主題的異常偵測監視器，您必須已有 Amazon SNS 主題或建立新的主題。除了電子郵件之外，您還可以使用 Amazon SNS 主題透過 Amazon SNS 傳送通知。 AWS 成本異常偵測必須具有許可，才能傳送通知到您的主題。

**建立 Amazon SNS 通知主題並授予許可**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) 的 Amazon SNS 主控台。

1. 在導覽窗格中，選擇**主題**。

1. 請選擇**建立主題**。

1. 在 **Name (名稱)** 中輸入您通知主題的名稱。

1. (選用) 在 **Display name (顯示名稱)** 中輸入當您接收通知時想顯示的名稱。

1. 在**存取政策**中，選擇**進階**。

1. 在政策文字欄位中，在**「陳述式」之後：【**，輸入下列其中一個陳述式：

   若要允許 AWS 成本異常偵測服務發佈至 Amazon SNS 主題，請使用下列陳述式。

   ```
   {
     "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",
     "Effect": "Allow",
     "Principal": {
       "Service": "costalerts.amazonaws.com"
     },
     "Action": "SNS:Publish",
     "Resource": "your topic ARN"
   }
   ```

   若要允許 AWS 成本異常偵測服務僅代表特定帳戶發佈至 Amazon SNS 主題，請使用下列陳述式。

   ```
   {
     "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",
     "Effect": "Allow",
     "Principal": {
       "Service": "costalerts.amazonaws.com"
     },
     "Action": "SNS:Publish",
     "Resource": "your topic ARN",
     "Condition": {
           "StringEquals": {
             "aws:SourceAccount": [
               "account-ID"
             ]
           }
     }
   }
   ```
**注意**  
在本主題政策中，您會輸入訂閱的帳戶 ID 做為`aws:SourceAccount`條件的值。此條件只有在為擁有訂閱的帳戶執行操作時， AWS 成本異常偵測才會與 Amazon SNS 主題互動。  
您只能在代表特定訂閱執行操作時，限制 AWS 成本異常偵測與主題互動。若要這樣做，請使用主題政策中的 `aws:SourceArn`條件。  
如需這些條件的詳細資訊，請參閱《*IAM 使用者指南*[https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)》中的 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)和 。

1. 在您選取的主題政策陳述式中，取代下列值：
   + 以字串取代 （例如 *AWSAnomalyDetectionSNSPublishingPermissions*)。政策中，`Sid` 必須是唯一的。
   + 將*主題 ARN* 取代為 Amazon SNS 主題 Amazon Resource Name (ARN)。
   + 如果您使用 陳述式搭配 `aws:SourceAccount`條件，請將 *account-ID* 取代為擁有訂閱的帳戶 ID。如果 Amazon SNS 主題有來自不同帳戶的多個訂閱，請將多個帳戶 IDs 新增至`aws:SourceAccount`條件。

1. 請選擇**建立主題**。

   您的主題現在會出現在 **Topics (主題)** 頁面的主題清單中。

## 檢查或重新傳送通知確認電子郵件訊息
<a name="ad-confirm-subscription"></a>

使用通知建立異常偵測監視器時，您也同時建立 Amazon SNS 通知。為了收到通知，您必須接受 Amazon SNS 通知主題的訂閱。

若要確認已接受您的通知訂閱或重新傳送訂閱確認電子郵件，請使用 Amazon SNS 主控台。

**檢查您的通知狀態或重新傳送通知確認電子郵件訊息**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)：// 開啟 Amazon SNS 主控台。

1. 在導覽窗格中，選擇**訂閱**。

1. 檢查您通知的狀態。在**狀態**下，如果不接受並確認訂閱，則`PendingConfirmation`會顯示 。

1. (選用) 如果要重新傳送確認請求，請選取具有待定確認的訂閱，然後選擇 **Request confirmations** (請求確認)。Amazon SNS 會傳送確認請求至訂閱通知的端點。

   當端點的每個擁有者收到電子郵件，他們必須選擇 **Confirm subscription (確認訂閱)** 連結以啟用通知。

## 使用 SSE 和 保護您的 Amazon SNS 異常偵測警示資料 AWS KMS
<a name="protect-sns-sse"></a>

您可以使用伺服器端加密 (SSE) 來在加密主題中傳輸敏感資料。SSE 會透過使用在 AWS Key Management Service (AWS KMS) 中受管的金鑰來保護 Amazon SNS 訊息。

若要使用 AWS 管理主控台 或 AWS SDK 管理 SSE，請參閱《[Amazon Simple Notification Service 入門指南》中的啟用 Amazon SNS 主題的伺服器端加密 (SSE)](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-enable-encryption-for-topic.html)。 **

若要使用 建立加密主題 AWS CloudFormation，請參閱 [AWS CloudFormation 使用者指南](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)。

Amazon SNS 一收到訊息，SSE 就會將其加密。訊息會以加密的形式存放，並僅在訊息傳送時使用 Amazon SNS 來進行解密。

### 設定 AWS KMS 許可
<a name="configure-kms-perm"></a>

您必須先設定 AWS KMS 金鑰政策，才能使用伺服器端加密 (SSE)。除了加密和解密訊息之外，您還可以使用此組態來加密主題。如需 AWS KMS 許可的相關資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的 [AWS KMS API 許可：動作和資源參考](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)。

您也可以使用 IAM 政策來管理 AWS KMS 金鑰許可。如需詳細資訊，請參閱[使用 IAM 政策搭配 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)。

**注意**  
您可以設定全域許可，以傳送和接收來自 Amazon SNS 的訊息。不過， AWS KMS 要求您為特定 (KMS 金鑰） 中的完整 Amazon Resource Name AWS KMS keys (ARN) 命名 AWS 區域。您可以在 IAM 政策的 **Resource** (資源) 區段找到。  
確定 KMS 金鑰的金鑰政策允許必要的許可。若要這樣做，請將在 Amazon SNS 中產生和消費加密訊息的委託人命名為 KMS 金鑰政策中的使用者。<a name="enable-compatiblility"></a>

**啟用 AWS 成本異常偵測與加密 Amazon SNS 主題之間的相容性**

1. [建立 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-keys-console)。

1. 新增下列其中一個政策做為 KMS 金鑰政策：

   若要授予 KMS 金鑰 AWS 的成本異常偵測服務存取權，請使用下列陳述式。

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

****  

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "costalerts.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   若要僅在代表特定帳戶執行操作時，才授予 KMS 金鑰 AWS 的成本異常偵測服務存取權，請使用下列陳述式。

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

****  

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "costalerts.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": [
                           "account-ID"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**注意**  
在此 KMS 金鑰政策中，您會輸入訂閱的帳戶 ID 做為`aws:SourceAccount`條件的值。此條件只有在為擁有訂閱的帳戶執行操作時， AWS 成本異常偵測才會與 KMS 金鑰互動。  
若要讓 AWS 成本異常偵測僅在代表特定訂閱執行操作時與 KMS 金鑰互動，請使用 KMS 金鑰政策中的 `aws:SourceArn`條件。  
如需這些條件的詳細資訊，請參閱《*IAM 使用者指南*[https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)》中的 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)和 。

1. 如果您使用 KMS 金鑰政策搭配 `aws:SourceAccount`條件，請將 *account-ID* 取代為擁有訂閱的帳戶 ID。如果 Amazon SNS 主題有來自不同帳戶的多個訂閱，請將多個帳戶 IDs 新增至`aws:SourceAccount`條件。

1. [為您的 Amazon SNS 主題啟用 SSE](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-enable-encryption-for-topic.html)。
**注意**  
請確定您使用的 KMS 金鑰與授予 AWS 成本異常偵測許可的 KMS 金鑰相同，以發佈至加密的 Amazon SNS 主題。

1. 選擇 **Save Changes** (儲存變更)。