

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

# 設定 CloudTrail 的 Amazon SNS 通知
<a name="configure-sns-notifications-for-cloudtrail"></a>

 當 CloudTrail 發佈新的日誌檔案到您的 Amazon S3 儲存貯體時，您會收到通知。您可以使用 Amazon Simple Notification Service (Amazon SNS) 來管理通知。

通知為選用。如果想要接到通知，您要設定每當傳送新的日誌檔案，CloudTrail 就會傳送更新資訊到 Amazon SNS 主題。若要收到這些通知，您可以使用 Amazon SNS 來訂閱主題。身為訂閱者，您會收到傳送到 Amazon Simple Queue Service (Amazon SQS) 佇列的更新，這可讓您透過編寫程式的方式處理這些通知。

**Topics**
+ [設定 CloudTrail 傳送通知](#configure-cloudtrail-to-send-notifications)

## 設定 CloudTrail 傳送通知
<a name="configure-cloudtrail-to-send-notifications"></a>

在 CloudTrail 主控台上，您可以在[建立](cloudtrail-create-a-trail-using-the-console-first-time.md#creating-a-trail-in-the-console)或[更新](cloudtrail-update-a-trail-console.md)追蹤時啟用 SNS **通知交付**選項，將追蹤設定為使用 Amazon SNS 主題。如果您選擇使用新主題，CloudTrail 會為您建立 Amazon SNS 主題並連接適當的政策，以便 CloudTrail 具有發佈至該主題的許可。

使用 AWS CLI，您可以指定 `--sns-topic-name` 參數的值來[建立](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/create-trail.html)或[更新](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-trail.html)線索，以使用 Amazon SNS 主題。您可以指定 Amazon SNS 主題的名稱或 ARN。

在您建立 SNS 主題名稱時，名稱必須符合下列要求：
+ 長度介於 1 與 256 個字元之間
+ 包含大小寫 ASCII 字母、數字、底線或連字號 

當您設定多區域追蹤的通知時，所有區域的通知都會傳送至您指定的 Amazon SNS 主題。如果您有一或多個區域特定追蹤，則必須為每個區域建立單獨主題，並分別訂閱每個主題。

若要收到通知，請訂閱 Amazon SNS 主題或 CloudTrail 所使用的主題。您可以使用 Amazon SNS 主控台或 Amazon SNS CLI 命令執行這項作業。如需詳細資訊，請參閱《Amazon Simple Notification Service 開發人員指南》**中的[訂閱 Amazon SNS 主題](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)。

**注意**  
在日誌檔案寫入 Amazon S3 儲存貯體時，CloudTrail 會傳送通知。作用中的帳戶可能會產生大量通知。如果您透過電子郵件或 SMS 進行訂閱，就會收到為數龐大的訊息。建議您使用 Amazon Simple Queue Service (Amazon SQS) 訂閱，可讓您透過編寫程式的方式處理通知。如需詳細資訊，請參閱 *Amazon Simple Queue Service 開發人員指南*中的[訂閱 Amazon SNS 主題 (主控台) 的 Amazon SQS 佇列](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-subscribe-queue-sns-topic.html)。

Amazon SNS 通知中含有具 `Message` 欄位的 JSON 物件。`Message` 欄位會列出日誌檔案的完整路徑，如下列範例所示：

```
{
    "s3Bucket": "amzn-s3-demo-bucket","s3ObjectKey": ["AWSLogs/123456789012/CloudTrail/us-east-2/2013/12/13/123456789012_CloudTrail_us-west-2_20131213T1920Z_LnPgDQnpkSKEsppV.json.gz"]
}
```

如果將多個日誌檔案交付至您的 Amazon S3 儲存貯體，則通知可能會包含多個日誌，如下列範例所示：

```
{
    "s3Bucket": "amzn-s3-demo-bucket",
    "s3ObjectKey": [
        "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2215Z_kpaMYavMQA9Ahp7L.json.gz",
        "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2210Z_zqDkyQv3TK8ZdLr0.json.gz",
        "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2205Z_jaMVRa6JfdLCJYHP.json.gz"
    ]
}
```

如果您選擇透過電子郵件接收通知，則電子郵件內文會包含 `Message` 欄位的內容。如需 JSON 結構的相關資訊，請參閱《[Amazon Simple Notification Service 開發人員指南》中的散發至 Amazon SQS 佇列](https://docs.aws.amazon.com/sns/latest/dg/sns-sqs-as-subscriber.html)。 **只有 `Message` 欄位會顯示 CloudTrail 資訊。其他欄位包含 Amazon SNS 服務中的資訊。

如果您使用 CloudTrail API 建立線索，則可以使用 [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_CreateTrail.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_CreateTrail.html) 或 [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_UpdateTrail.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_UpdateTrail.html) 操作，指定您想要 CloudTrail 將通知傳送至其中的現有 Amazon SNS 主題。您必須先確定該主題已存在，且其具有允許 CloudTrail 傳送通知的許可。請參閱 [適用於 CloudTrail 索的 Amazon SNS 主題政策](cloudtrail-permissions-for-sns-notifications.md)。

### 其他資源
<a name="cloudtrail-notifications-more-info-4"></a>

如需 Amazon SNS 主題及訂閱方式的詳細資訊，請參閱 [https://docs.aws.amazon.com/sns/latest/dg/](https://docs.aws.amazon.com/sns/latest/dg/)。