

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

# 使用 Amazon CloudWatch Logs 監控 CloudTrail 日誌檔案
<a name="monitor-cloudtrail-log-files-with-cloudwatch-logs"></a>

您可以使用 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 從 CloudTrail 監控、存放和存取您的日誌檔案。

CloudWatch Logs 可讓您將來自所有系統、應用程式和 AWS 服務 您使用的日誌集中在單一、高度可擴展的服務中。然後，您可以輕鬆檢視日誌、在日誌中搜尋特定的錯誤碼或模式、根據特定欄位篩選日誌，或安全封存日誌以供日後分析。CloudWatch Logs 可讓您將所有日誌 (無論其來源為何) 視為依時間排序的單一且一致的事件流量。

完成下列步驟，以使用 CloudWatch Logs 設定 CloudTrail 來監控您的追蹤日誌，並在發生特定活動時收到通知。 CloudWatch 

1. 設定您的線索將日誌事件傳送到 CloudWatch Logs。

1. 定義 CloudWatch Logs 指標篩選條件，以評估詞彙、片語或數值中符合項目的日誌事件。例如，您可以監控 `ConsoleLogin` 事件。

1. 將 CloudWatch 指標指派給指標篩選條件。

1. 建立根據您指定的閾值和時段所觸發的 CloudWatch 警示。您可以設定警示以在觸發警示時傳送通知，讓您可以採取動作。

1. 您也可以設定 CloudWatch 自動執行動作，以回應警示。

Amazon CloudWatch 和 Amazon CloudWatch Logs 適用的標準定價。如需詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

如需有關您可以在哪些區域中設定追蹤，以將日誌傳送到 CloudWatch Logs 的詳細資訊，請參閱《AWS 一般參考》**中的 [Amazon CloudWatch Logs 日誌區域和配額](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html)。

**Topics**
+ [傳送事件到 CloudWatch Logs](send-cloudtrail-events-to-cloudwatch-logs.md)
+ [建立 CloudTrail 事件的 CloudWatch 警示：範例](cloudwatch-alarms-for-cloudtrail.md)
+ [停止 CloudTrail 將事件傳送至 CloudWatch Logs](stop-cloudtrail-from-sending-events-to-cloudwatch-logs.md)
+ [CloudTrail 的 CloudWatch Logs 日誌群組和日誌串流命名](cloudwatch-log-group-log-stream-naming-for-cloudtrail.md)
+ [讓 CloudTrail 能使用 CloudWatch Logs 進行監控的角色政策文件](cloudtrail-required-policy-for-cloudwatch-logs.md)

# 傳送事件到 CloudWatch Logs
<a name="send-cloudtrail-events-to-cloudwatch-logs"></a>

當您將追蹤設定為將事件傳送到 CloudWatch Logs 時，CloudTrail 只會傳送符合您追蹤設定的事件。例如，如果您設定線索只記錄資料事件，您的線索只會將資料事件傳送到您的 CloudWatch Logs 日誌群組。CloudTrail 支援將資料、Insights 和管理事件傳送到 CloudWatch Logs。如需詳細資訊，請參閱[使用 CloudTrail 日誌檔案](cloudtrail-working-with-log-files.md)。

**注意**  
只有管理帳戶可以為使用主控台的組織追蹤設定 CloudWatch Logs 日誌群組。委派管理員可以使用 AWS CLI 或 CloudTrail 或 API 操作來設定 CloudWatch Logs 日誌群組。 CloudTrail `CreateTrail` `UpdateTrail` 

將事件傳送到 CloudWatch Logs 日誌群組：
+ 請確定您有足夠權限建立或指定 IAM 角色。如需詳細資訊，請參閱[授與在 CloudTrail 主控台上檢視和設定 Amazon CloudWatch Logs 資訊的許可](security_iam_id-based-policy-examples.md#grant-cloudwatch-permissions-for-cloudtrail-users)。
+ 如果您使用 設定 CloudWatch Logs 日誌群組 AWS CLI，請確定您有足夠的許可在指定的日誌群組中建立 CloudWatch Logs 日誌串流，並將 CloudTrail 事件交付至該日誌串流。如需詳細資訊，請參閱[建立政策文件](#send-cloudtrail-events-to-cloudwatch-logs-cli-create-policy-document)。
+ 建立新的線索或指定現有的線索。如需詳細資訊，請參閱[使用主控台建立和更新線索](cloudtrail-create-and-update-a-trail-by-using-the-console.md)。
+ 建立日誌群組或指定現有的日誌群組。
+ 指定 IAM 角色。如果要修改組織線索的現有 IAM 角色，您必須手動更新政策，以允許組織線索的記錄。如需更多詳細資訊，請參閱[這個政策範例](#policy-cwl-org)與[建立組織追蹤](creating-trail-organization.md)。
+ 連接角色政策或使用預設值。

**Contents**
+ [使用主控台設定 CloudWatch Logs 監控](#send-cloudtrail-events-to-cloudwatch-logs-console)
  + [建立日誌群組或指定現有的日誌群組](#send-cloudtrail-events-to-cloudwatch-logs-console-create-log-group)
  + [指定 IAM 角色](#send-cloudtrail-events-to-cloudwatch-logs-console-create-role)
  + [在 CloudWatch 主控台中檢視事件](#viewing-events-in-cloudwatch)
+ [使用 設定 CloudWatch Logs 監控 AWS CLI](#send-cloudtrail-events-to-cloudwatch-logs-cli)
  + [建立日誌群組](#send-cloudtrail-events-to-cloudwatch-logs-cli-create-log-group)
  + [建立角色](#send-cloudtrail-events-to-cloudwatch-logs-cli-create-role)
  + [建立政策文件](#send-cloudtrail-events-to-cloudwatch-logs-cli-create-policy-document)
  + [更新線索](#send-cloudtrail-events-to-cloudwatch-logs-cli-update-trail)
+ [限制](#send-cloudtrail-events-to-cloudwatch-logs-limitations)

## 使用主控台設定 CloudWatch Logs 監控
<a name="send-cloudtrail-events-to-cloudwatch-logs-console"></a>

您可以使用 AWS 管理主控台 來設定追蹤，以將事件傳送至 CloudWatch Logs 進行監控。

### 建立日誌群組或指定現有的日誌群組
<a name="send-cloudtrail-events-to-cloudwatch-logs-console-create-log-group"></a>

CloudTrail 使用 CloudWatch Logs 日誌群組做為日誌事件的交付端點。您可以建立日誌群組或指定現有的日誌群組。

**若要為現有的追蹤建立或指定日誌群組**

1. 請確定您使用具有足夠許可，可以設定 CloudWatch Logs 整合的管理使用者或角色登入。如需詳細資訊，請參閱[授與在 CloudTrail 主控台上檢視和設定 Amazon CloudWatch Logs 資訊的許可](security_iam_id-based-policy-examples.md#grant-cloudwatch-permissions-for-cloudtrail-users)。
**注意**  
只有管理帳戶可以為使用主控台的組織追蹤設定 CloudWatch Logs 日誌群組。委派管理員可以使用 AWS CLI 或 CloudTrail 或 API 操作來設定 CloudWatch Logs 日誌群組。 CloudTrail `CreateTrail` `UpdateTrail` 

1. 前往 [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/) 開啟 CloudTrail 主控台。

1. 選擇線索名稱。如果您選擇多區域線索，系統會將您重新導向至建立線索的區域。您可以在與追蹤相同的區域中建立日誌群組或選擇現有的日誌群組。
**注意**  
多區域追蹤會將 中所有已啟用區域的日誌檔案傳送至您指定的 AWS 帳戶 CloudWatch Logs 日誌群組。

1. 在 **CloudWatch Logs** 中，選擇 **Edit **(編輯)。

1. 對於 **CloudWatch Logs**，選擇**已啟用**。

1. 對於**日誌群組名稱**，選擇**新增**以建立新的日誌群組，或選擇**現有**以使用現有的日誌群組。如果選擇 **New** (新的)，CloudTrail 會為您指定新日誌群組的名稱，或者您可以輸入名稱。如需有關命名的詳細資訊，請參閱 [CloudTrail 的 CloudWatch Logs 日誌群組和日誌串流命名](cloudwatch-log-group-log-stream-naming-for-cloudtrail.md)。

1. 如果選擇 **Existing** (現有)，請從下拉式清單中選擇日誌群組。

1. 對於**角色名稱**，選擇**新增**，為將日誌傳送至 CloudWatch Logs 的許可建立新的 IAM 角色。選擇 **Existing** (現有) 從下拉式功能表中選擇現有的 IAM 角色。新角色或現有角色的政策陳述式會在您展開**政策文件**時顯示。如需有關此角色的詳細資訊，請參閱 [讓 CloudTrail 能使用 CloudWatch Logs 進行監控的角色政策文件](cloudtrail-required-policy-for-cloudwatch-logs.md)。
**注意**  
設定追蹤時，您可以選擇由其他帳戶所屬的 S3 儲存貯體和 SNS 主題。不過，如果您要 CloudTrail 將事件交付至 CloudWatch Logs 日誌群組，則必須選擇存在於目前帳戶中的日誌群組。

1. 選擇**儲存變更**。

### 指定 IAM 角色
<a name="send-cloudtrail-events-to-cloudwatch-logs-console-create-role"></a>

您可以指定角色，讓擔任的 CloudTrail 可以將事件交付到日誌串流。

**指定角色**

1. 預設會為您指定 `CloudTrail_CloudWatchLogs_Role`。預設角色政策具備必要的許可，可在您指定的日誌群組中建立 CloudWatch Logs 日誌串流，並將 CloudTrail 事件交付到該日誌串流。
**注意**  
如果希望此角色用於組織線索的日誌群組，您必須在角色建立之後手動修改該政策。如需更多詳細資訊，請參閱[這個政策範例](#policy-cwl-org)與[建立組織追蹤](creating-trail-organization.md)。

   1. 若要驗證角色，請前往位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 AWS Identity and Access Management 主控台。

   1. 選擇 **Roles** (角色)，然後選擇 **CloudTrail\$1CloudWatchLogs\$1Role**。

   1. 在**許可**索引標籤中，展開政策以檢視其內容。

1. 您可以指定其他角色，但若要使用它將事件傳送到 CloudWatch Logs，則必須將必要的角色政策連接到現有的角色。如需詳細資訊，請參閱[讓 CloudTrail 能使用 CloudWatch Logs 進行監控的角色政策文件](cloudtrail-required-policy-for-cloudwatch-logs.md)。



### 在 CloudWatch 主控台中檢視事件
<a name="viewing-events-in-cloudwatch"></a>

設定線索將事件傳送到 CloudWatch Logs 日誌群組之後，您可以在 CloudWatch 主控台中檢視事件。CloudTrail 通常會在 API 呼叫的平均約 5 分鐘內將事件傳遞到您的日誌群組。此時間無法保證。如需詳細資訊，請參閱 [AWS CloudTrail 服務水準協議](https://aws.amazon.com/cloudtrail/sla)。

**在 CloudWatch 主控台中檢視事件**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在左側導覽窗格中，選擇**日誌**下方的**日誌群組**。

1. 選擇您為線索指定的日誌群組。

1. 選擇您要檢視的日誌串流。

1. 若要查看線索所記錄的事件詳細資訊，請選擇事件。

**注意**  
CloudWatch 主控台中的 **Time (UTC)** (時間 (UTC)) 欄顯示事件交付到日誌群組的時間。若要查看 CloudTrail 記錄事件的實際時間，請查看 `eventTime` 欄位。

## 使用 設定 CloudWatch Logs 監控 AWS CLI
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli"></a>

您可以使用 AWS CLI 設定 CloudTrail 將事件傳送至 CloudWatch Logs 進行監控。

### 建立日誌群組
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli-create-log-group"></a>

1. 如果您還沒有日誌群組，請使用 CloudWatch Logs `create-log-group` 命令，建立 CloudWatch Logs 日誌群組做為日誌事件的交付端點。

   ```
   aws logs create-log-group --log-group-name name
   ```

   下列範例會建立名為 `CloudTrail/logs` 的日誌群組：

   ```
   aws logs create-log-group --log-group-name CloudTrail/logs
   ```

1. 擷取日誌群組的 Amazon Resource Name (ARN)。

   ```
   aws logs describe-log-groups
   ```

### 建立角色
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli-create-role"></a>

建立角色，讓啟用它的 CloudTrail 可以將事件傳送到 CloudWatch Logs 日誌群組。IAM `create-role` 命令需要兩個參數：角色名稱及 JSON 格式之擔任角色政策文件的檔案路徑。您使用的政策文件會提供 `AssumeRole` 許可給 CloudTrail。`create-role` 命令會建立具備必要許可的角色。

若要建立包含政策文件的 JSON 檔案，請開啟文字編輯器，然後將下列政策內容儲存在名為 `assume_role_policy_document.json` 的檔案中。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudtrail.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

執行下列命令為 CloudTrail 建立具備 `AssumeRole` 許可的角色。

```
aws iam create-role --role-name role_name --assume-role-policy-document file://<path to assume_role_policy_document>.json
```

當命令完成時，記下輸出中的角色 ARN。

### 建立政策文件
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli-create-policy-document"></a>

建立下列適用於 CloudTrail 的角色政策文件。此文件會授予 CloudTrail 必要的許可，以在您指定的日誌群組中建立 CloudWatch Logs 日誌串流，並將 CloudTrail 事件交付到該日誌串流。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailCreateLogStream2014110",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111111111111:log-group:log_group_name:log-stream:111111111111_CloudTrail_us-east-1*"
            ]
        },
        {
            "Sid": "AWSCloudTrailPutLogEvents20141101",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111111111111:log-group:log_group_name:log-stream:111111111111_CloudTrail_us-east-1*"
            ]
        }
    ]
}
```

------

將政策文件儲存在名為 `role-policy-document.json` 的檔案中。<a name="policy-cwl-org"></a>

如果您正在建立也可用於組織線索的政策，您將需要做出稍微有些差異的設定。例如，下列政策會授予 CloudTrail 在您指定的日誌群組中建立 CloudWatch Logs 日誌串流所需的許可，以及針對 AWS 帳戶 111111111111 中的兩個線索以及在 111111111111 帳戶中建立的組織線索，將 CloudTrail 事件交付至該日誌串流，這些線索會套用到 ID 為 *o-exampleorgid* AWS Organizations 的組織：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailCreateLogStream20141101",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*",
                "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-aa111bb222_*"
            ]
        },
        {
            "Sid": "AWSCloudTrailPutLogEvents20141101",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*",             
                "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-aa111bb222_*"
            ]
        }
    ]
}
```

------

如需組織線索的詳細資訊，請參閱[建立組織追蹤](creating-trail-organization.md)。

執行下列命令將政策套用到角色。

```
aws iam put-role-policy --role-name role_name --policy-name cloudtrail-policy --policy-document file://<path to role-policy-document>.json
```

### 更新線索
<a name="send-cloudtrail-events-to-cloudwatch-logs-cli-update-trail"></a>

使用 CloudTrail `update-trail` 命令，更新線索中的日誌群組和角色資訊。

```
aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn log_group_arn --cloud-watch-logs-role-arn role_arn
```

如需 AWS CLI 命令的詳細資訊，請參閱 [AWS CloudTrail 命令列參考](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/)。

## 限制
<a name="send-cloudtrail-events-to-cloudwatch-logs-limitations"></a>

CloudWatch Logs 和 EventBridge 各[允許事件大小上限為 256 KB](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)。雖然大多數服務事件的大小上限為 256 KB，但某些服務仍有較大的事件。CloudTrail 不會將這些事件傳送至 CloudWatch Logs 或 EventBridge。

從 CloudTrail 事件版本 1.05 開始，事件的大小上限為 256 KB。這是為了協助防止惡意人士利用，並允許 AWS 其他服務消耗事件，例如 CloudWatch Logs 和 EventBridge。

# 建立 CloudTrail 事件的 CloudWatch 警示：範例
<a name="cloudwatch-alarms-for-cloudtrail"></a>

此主題說明如何設定 CloudTrail 事件的警示，並包含範例。

**Topics**
+ [先決條件](#cloudwatch-alarms-prerequisites)
+ [建立指標篩選條件並建立警示](#cloudwatch-alarms-metric-filter-alarm)
+ [範例：安全群組組態變更](#cloudwatch-alarms-for-cloudtrail-security-group)
+ [AWS 管理主控台 登入失敗範例](#cloudwatch-alarms-for-cloudtrail-signin)
+ [範例：IAM 政策變更](#cloudwatch-alarms-for-cloudtrail-iam-policy-changes)
+ [設定 CloudWatch Logs 警示的通知](#cloudtrail-configure-notifications-for-cloudwatch-logs-alarms)

## 先決條件
<a name="cloudwatch-alarms-prerequisites"></a>

您必須執行下列作業，才能使用此主題中的範例：
+ 使用主控台或 CLI 建立追蹤記錄。
+ 建立日誌群組，您可以在建立線索的過程中執行此動作。如需建立線索的詳細資訊，請參閱 [使用 CloudTrail 主控台建立追蹤](cloudtrail-create-a-trail-using-the-console-first-time.md)。
+ 指定或建立 IAM 角色以將下列許可授予 CloudTrail：在您指定的日誌群組中建立 CloudWatch Logs 日誌串流，以及將 CloudTrail 事件傳送至該日誌串流。預設 `CloudTrail_CloudWatchLogs_Role` 會為您妥善處理。

如需詳細資訊，請參閱[傳送事件到 CloudWatch Logs](send-cloudtrail-events-to-cloudwatch-logs.md)。本節中的範例會在 Amazon CloudWatch Logs 主控台中執行。如需建立指標篩選條件和警示的詳細資訊，請參閱 *Amazon CloudWatch 使用者指南*中的[使用篩選條件從日誌事件建立指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html)和[使用 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。

## 建立指標篩選條件並建立警示
<a name="cloudwatch-alarms-metric-filter-alarm"></a>

若要建立警示，您必須先建立指標篩選條件，然後根據篩選條件來設定警示。所有範例都會顯示此程序。如需 CloudTrail 日誌事件指標篩選條件和模式之語法的詳細資訊，請參閱 *Amazon CloudWatch Logs 使用者指南*中[篩選條件和模式語法](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html)的 JSON 相關小節。

## 範例：安全群組組態變更
<a name="cloudwatch-alarms-for-cloudtrail-security-group"></a>

遵循此程序，以建立在安全群組發生組態變更時觸發的 Amazon CloudWatch 警示。

### 建立指標篩選條件
<a name="cloudwatch-alarms-for-cloudtrail-security-group-metric-filter"></a>

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇**日誌**下方的**日誌群組**。

1. 在日誌群組清單中，選擇您針對追蹤所建立之日誌群組。

1. 在**指標篩選條件**或**動作**選單中，選擇**建立指標篩選條件**。

1. 在 **Define pattern** (定義陣列) 頁面的 **建立篩選條件模式**，請針對**篩選條件模式**輸入以下內容。

   ```
   { ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
   ```

1. 在 **Test pattern** (測試模式)，保留預設值。選擇**下一步**。

1. 在**指派指標**頁面的**篩選條件名稱**中，輸入 **SecurityGroupEvents**。

1. 在**指標詳細資訊**中，開啟**建立新的**，然後針對**指標命名空間**輸入 **CloudTrailMetrics**。

1. 在**指標名稱**中，輸入 **SecurityGroupEventCount**。

1. 在**指標值**中，輸入 **1**。

1. 保留 **Default value** (預設值) 空白。

1. 選擇 **Next** (下一步)。

1. 在 **Review and create** (檢閱和建立) 頁面上，檢閱您的選擇。選擇 **Create metric filter** (建立指標篩選條件) 以建立篩選條件，或選擇 **Edit** (編輯) 返回並變更值。

### 建立警示
<a name="cloudwatch-alarms-for-cloudtrail-security-group-create-alarm"></a>

建立指標篩選條件之後，CloudTrail 線索日誌群組的 CloudWatch Logs 日誌群組詳細資訊頁面就會開啟。請依照此程序來建立警示。

1. 在**指標篩選條件**索引標籤上，尋找您在 [建立指標篩選條件](#cloudwatch-alarms-for-cloudtrail-security-group-metric-filter) 中建立的指標篩選條件。填入指標篩選條件的核取方塊。在 **Metric filters** (指標篩選條件) 列，選擇 **Create alarm** (建立警示)。

1. 在**指定指標和條件**中，輸入以下內容。

   1. 針對 **Graph** (圖形)，根據您在建立警示時所做的其他設定，該行被設置為 **1**。

   1. 針對 **Metric name** (指標名稱)，請保留目前的指標名稱**SecurityGroupEventCount**。

   1. 針對 **Statistic** (統計數字)，保留預設值。**Sum**。

   1. 針對 **Period** (期間)，保留預設值。**5 minutes**。

   1. 在 **Conditions ** (條件) 中，針對 **Threshold type **(閾值類型)，選擇 **Static **(靜態)。

   1. 針對**無論何時 *metric\$1name* 為 **，選擇 **Greater/Equal** (大於/等於)。

   1. 對於閾值，輸入 **1**。

   1. 在 **Additional configuration** (其他組態) 中，保留預設值。選擇**下一步**。

1. 在**設定動作**頁面上，選擇**通知**，然後選擇**警示中**，表示當超過 5 分鐘內 1 個變更事件的閾值時，會採取動作，而 **SecurityGroupEventCount** 處於警示狀態。

   1. 對於**將通知傳送至下列 SNS 主題**，選擇**建立新主題**。

   1. 輸入 **SecurityGroupChanges\$1CloudWatch\$1Alarms\$1Topic** 作為新 Amazon SNS 主題的名稱。

   1. 在**將接收通知的電子郵件端點**中，輸入您要在發出此警示時接收通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

      每個電子郵件收件者會收到電子郵件，要求他們確認是否要訂閱 Amazon SNS 主題。

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

1. 在此範例中，略過其他動作類型。選擇 **Next** (下一步)。

1. 在 **Add name and description** (新增名稱和說明) 頁面中，輸入警示的易記名稱和說明。在此範例中，請輸入 **Security group configuration changes** 作為名稱，**Raises alarms if security group configuration changes occur** 作為說明。選擇 **Next** (下一步)。

1. 在 **Preview and create** (預覽和建立) 頁面上，檢閱您的選擇。選擇 **Edit **(編輯) 來進行變更，或者選擇 **Create alarm** (建立警示) 來建立警示。

   建立警示後，CloudWatch 會開啟 **Alarms** (警示) 頁面。警示 **Actions** (動作) 欄位顯示 **Pending confirmation** (等待確認)，直到 SNS 主題上的所有電子郵件收件者都確認他們想要訂閱 SNS 通知。

## AWS 管理主控台 登入失敗範例
<a name="cloudwatch-alarms-for-cloudtrail-signin"></a>

依照此程序建立 Amazon CloudWatch 警示，該警示會在五分鐘期間內發生三個或更多 AWS 管理主控台 登入失敗時觸發。

### 建立指標篩選條件
<a name="cloudwatch-alarms-for-cloudtrail-signin-metric-filter"></a>

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇**日誌**下方的**日誌群組**。

1. 在日誌群組清單中，選擇您針對追蹤所建立之日誌群組。

1. 在**指標篩選條件**或**動作**選單中，選擇**建立指標篩選條件**。

1. 在 **Define pattern** (定義陣列) 頁面的 **建立篩選條件模式**，請針對**篩選條件模式**輸入以下內容。

   ```
   { ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
   ```

1. 在 **Test pattern** (測試模式)，保留預設值。選擇**下一步**。

1. 在**指派指標**頁面的**篩選條件名稱**中，輸入 **ConsoleSignInFailures**。

1. 在**指標詳細資訊**中，開啟**建立新的**，然後針對**指標命名空間**輸入 **CloudTrailMetrics**。

1. 在**指標名稱**中，輸入 **ConsoleSigninFailureCount**。

1. 在**指標值**中，輸入 **1**。

1. 保留 **Default value** (預設值) 空白。

1. 選擇 **Next** (下一步)。

1. 在 **Review and create** (檢閱和建立) 頁面上，檢閱您的選擇。選擇 **Create metric filter** (建立指標篩選條件) 以建立篩選條件，或選擇 **Edit** (編輯) 返回並變更值。

### 建立警示
<a name="cloudwatch-alarms-for-cloudtrail-signin-create-alarm"></a>

建立指標篩選條件之後，CloudTrail 線索日誌群組的 CloudWatch Logs 日誌群組詳細資訊頁面就會開啟。請依照此程序來建立警示。

1. 在**指標篩選條件**索引標籤上，尋找您在 [建立指標篩選條件](#cloudwatch-alarms-for-cloudtrail-signin-metric-filter) 中建立的指標篩選條件。填入指標篩選條件的核取方塊。在 **Metric filters** (指標篩選條件) 列，選擇 **Create alarm** (建立警示)。

1. 在 **Create Alarm** (建立警示) 頁面的 **Specify metric and conditions** (指定指標和條件) 中，輸入下列內容。

   1. 針對 **Graph** (圖形)，根據您在建立警示時所做的其他設定，該行被設置為 **3**。

   1. 針對 **Metric name** (指標名稱)，請保留目前的指標名稱**ConsoleSigninFailureCount**。

   1. 針對 **Statistic** (統計數字)，保留預設值。**Sum**。

   1. 針對 **Period** (期間)，保留預設值。**5 minutes**。

   1. 在 **Conditions ** (條件) 中，針對 **Threshold type **(閾值類型)，選擇 **Static **(靜態)。

   1. 針對**無論何時 *metric\$1name* 為 **，選擇 **Greater/Equal** (大於/等於)。

   1. 對於閾值，輸入 **3**。

   1. 在 **Additional configuration** (其他組態) 中，保留預設值。選擇**下一步**。

1. 在**設定動作**頁面上，對於**通知**，選擇**警示中**，表示當超過 5 分鐘內 3 個變更事件的閾值時，會採取動作，而 **ConsoleSigninFailureCount** 處於警示狀態。

   1. 對於**將通知傳送至下列 SNS 主題**，選擇**建立新主題**。

   1. 輸入 **ConsoleSignInFailures\$1CloudWatch\$1Alarms\$1Topic** 作為新 Amazon SNS 主題的名稱。

   1. 在**將接收通知的電子郵件端點**中，輸入您要在發出此警示時接收通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

      每個電子郵件收件者會收到電子郵件，要求他們確認是否要訂閱 Amazon SNS 主題。

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

1. 在此範例中，略過其他動作類型。選擇 **Next** (下一步)。

1. 在 **Add name and description** (新增名稱和說明) 頁面中，輸入警示的易記名稱和說明。在此範例中，請輸入 **Console sign-in failures** 作為名稱，**Raises alarms if more than 3 console sign-in failures occur in 5 minutes** 作為說明。選擇 **Next** (下一步)。

1. 在 **Preview and create** (預覽和建立) 頁面上，檢閱您的選擇。選擇 **Edit **(編輯) 來進行變更，或者選擇 **Create alarm** (建立警示) 來建立警示。

   建立警示後，CloudWatch 會開啟 **Alarms** (警示) 頁面。警示 **Actions** (動作) 欄位顯示 **Pending confirmation** (等待確認)，直到 SNS 主題上的所有電子郵件收件者都確認他們想要訂閱 SNS 通知。

## 範例：IAM 政策變更
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes"></a>

遵循此程序，以建立在進行 API 呼叫來變更 IAM 政策時觸發的 Amazon CloudWatch 警示。

### 建立指標篩選條件
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes-metric-filter"></a>

1. 在 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇**日誌**。

1. 在日誌群組清單中，選擇您針對追蹤所建立之日誌群組。

1. 選擇 **Actions **(動作)，然後選擇 **Create metric filter **(建立指標篩選條件)。

1. 在 **Define pattern** (定義陣列) 頁面的 **建立篩選條件模式**，請針對**篩選條件模式**輸入以下內容。

   ```
   {($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}
   ```

1. 在 **Test pattern** (測試模式)，保留預設值。選擇**下一步**。

1. 在**指派指標**頁面的**篩選條件名稱**中，輸入 **IAMPolicyChanges**。

1. 在**指標詳細資訊**中，開啟**建立新的**，然後針對**指標命名空間**輸入 **CloudTrailMetrics**。

1. 在**指標名稱**中，輸入 **IAMPolicyEventCount**。

1. 在**指標值**中，輸入 **1**。

1. 保留 **Default value** (預設值) 空白。

1. 選擇 **Next** (下一步)。

1. 在 **Review and create** (檢閱和建立) 頁面上，檢閱您的選擇。選擇 **Create metric filter** (建立指標篩選條件) 以建立篩選條件，或選擇 **Edit** (編輯) 返回並變更值。

### 建立警示
<a name="cloudwatch-alarms-for-cloudtrail-iam-policy-changes-create-alarm"></a>

建立指標篩選條件之後，CloudTrail 線索日誌群組的 CloudWatch Logs 日誌群組詳細資訊頁面就會開啟。請依照此程序來建立警示。

1. 在**指標篩選條件**索引標籤上，尋找您在 [建立指標篩選條件](#cloudwatch-alarms-for-cloudtrail-iam-policy-changes-metric-filter) 中建立的指標篩選條件。填入指標篩選條件的核取方塊。在 **Metric filters** (指標篩選條件) 列，選擇 **Create alarm** (建立警示)。

1. 在 **Create Alarm** (建立警示) 頁面的 **Specify metric and conditions** (指定指標和條件) 中，輸入下列內容。

   1. 針對 **Graph** (圖形)，根據您在建立警示時所做的其他設定，該行被設置為 **1**。

   1. 針對 **Metric name** (指標名稱)，請保留目前的指標名稱**IAMPolicyEventCount**。

   1. 針對 **Statistic** (統計數字)，保留預設值。**Sum**。

   1. 針對 **Period** (期間)，保留預設值。**5 minutes**。

   1. 在 **Conditions ** (條件) 中，針對 **Threshold type **(閾值類型)，選擇 **Static **(靜態)。

   1. 針對**無論何時 *metric\$1name* 為 **，選擇 **Greater/Equal** (大於/等於)。

   1. 對於閾值，輸入 **1**。

   1. 在 **Additional configuration** (其他組態) 中，保留預設值。選擇**下一步**。

1. 在**設定動作**頁面上，對於**通知**，選擇**警示中**，表示當超過 5 分鐘內 1 個變更事件的閾值時，會採取動作，而 **IAMPolicyEventCount** 處於警示狀態。

   1. 對於**將通知傳送至下列 SNS 主題**，選擇**建立新主題**。

   1. 輸入 **IAM\$1Policy\$1Changes\$1CloudWatch\$1Alarms\$1Topic** 作為新 Amazon SNS 主題的名稱。

   1. 在**將接收通知的電子郵件端點**中，輸入您要在發出此警示時接收通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

      每個電子郵件收件者會收到電子郵件，要求他們確認是否要訂閱 Amazon SNS 主題。

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

1. 在此範例中，略過其他動作類型。選擇 **Next** (下一步)。

1. 在 **Add name and description** (新增名稱和說明) 頁面中，輸入警示的易記名稱和說明。在此範例中，請輸入 **IAM Policy Changes** 作為名稱，**Raises alarms if IAM policy changes occur** 作為說明。選擇 **Next** (下一步)。

1. 在 **Preview and create** (預覽和建立) 頁面上，檢閱您的選擇。選擇 **Edit **(編輯) 來進行變更，或者選擇 **Create alarm** (建立警示) 來建立警示。

   建立警示後，CloudWatch 會開啟 **Alarms** (警示) 頁面。警示 **Actions** (動作) 欄位顯示 **Pending confirmation** (等待確認)，直到 SNS 主題上的所有電子郵件收件者都確認他們想要訂閱 SNS 通知。

## 設定 CloudWatch Logs 警示的通知
<a name="cloudtrail-configure-notifications-for-cloudwatch-logs-alarms"></a>

您可以設定 CloudWatch Logs 在每次 CloudTrail 警示觸發時傳送通知。這可讓您快速回應在 CloudTrail 事件中擷取到和 CloudWatch Logs 偵測到的重要操作事件。CloudWatch 使用 Amazon Simple Notification Service (SNS) 傳送電子郵件。如需詳細資訊，請參閱《*CloudWatch 使用者指南*》中的[設定 Amazon SNS 通知](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Notify_Users_Alarm_Changes.html#US_SetupSNS)。

# 停止 CloudTrail 將事件傳送至 CloudWatch Logs
<a name="stop-cloudtrail-from-sending-events-to-cloudwatch-logs"></a>

您可以更新線索以停用 CloudWatch Logs 設定，停止將 AWS CloudTrail 事件傳送至 Amazon CloudWatch Logs。 Amazon CloudWatch 

## 停止傳送事件到 CloudWatch Logs (主控台)
<a name="stop-cloudtrail-from-sending-events-to-cloudwatch-logs-console"></a>



**停止將 CloudTrail 事件傳送至 CloudWatch Logs**

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

1. 在導覽窗格中，選擇 **Trails** (追蹤記錄)。

1. 選擇您要停用 CloudWatch Logs 整合的線索名稱。

1. 在 **CloudWatch Logs** 中，選擇 **Edit **(編輯)。

1. 清除 **Enabled (已啟用)** 核取方塊。

1. 選擇**儲存變更**。

## 停止將事件傳送至 CloudWatch Logs (CLI)
<a name="stop-cloudtrail-from-sending-events-to-cloudwatch-logs-cli"></a>

您可以使用 [**update-trail**](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-update-trail.md) 命令移除做為交付端點的 CloudWatch Logs 日誌群組。下列命令會以空白值取代日誌串流 ARN 和 CloudWatch Logs 角色 ARN 的值，從而從線索組態中清除日誌群組和角色的值。

```
aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn="" --cloud-watch-logs-role-arn=""
```

# CloudTrail 的 CloudWatch Logs 日誌群組和日誌串流命名
<a name="cloudwatch-log-group-log-stream-naming-for-cloudtrail"></a>

Amazon CloudWatch 會顯示您為 CloudTrail 事件建立的日誌群組，以及您在區域中的任何其他日誌群組。建議您使用日誌群組名稱，協助您輕鬆地區別不同的日誌群組。例如 **CloudTrail/logs**。

命名日誌群組時，請遵循以下準則：
+ 日誌群組的名稱在 AWS 帳戶的區域中必須是唯一的。
+ 日誌群組的名稱長度可介於 1 到 512 個字元之間。
+ 日誌群組名稱包含下列字元：a-z、A-Z、0-9、'\$1' (底線)、'-' (連字號)、'/' (斜線)、'.' (句號) 和 '\$1' (數字符號)。

CloudTrail 建立日誌群組的日誌串流時，會根據下列格式來命名日誌串流：*account\$1ID*\$1CloudTrail\$1*trail\$1region*。

**注意**  
如果 CloudTrail 日誌數量很大，則可以建立多個日誌串流，將日誌資料交付至您的日誌群組。當有多個日誌串流時，CloudTrail 會根據下列格式來命名每個日誌串流：*account\$1ID*\$1CloudTrail\$1*trail\$1region*\$1*number*。

如需 CloudWatch 日誌群組的詳細資訊，請參閱*Amazon CloudWatch Logs 使用者指南*中的[使用日誌群組和日誌串流](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)和 *Amazon CloudWatch Logs API 參考*中的 [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)。

# 讓 CloudTrail 能使用 CloudWatch Logs 進行監控的角色政策文件
<a name="cloudtrail-required-policy-for-cloudwatch-logs"></a>

本節說明 CloudTrail 角色要能向 CloudWatch Logs 傳送日誌事件所需的許可政策。當您設定 CloudTrail 傳送事件時，可以將政策文件連接至角色，如 [傳送事件到 CloudWatch Logs](send-cloudtrail-events-to-cloudwatch-logs.md) 中的說明。您也可以使用 IAM 建立角色。如需詳細資訊，請參閱[建立角色以將許可委派給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)或[建立 IAM 角色 (AWS CLI)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html#roles-creatingrole-user-cli)。

下列範例政策文件包含在您指定之日誌群組中建立 CloudWatch 日誌串流的必要許可，以及將 CloudTrail 事件傳遞到美國東部 (俄亥俄) 區域中該日誌串流的必要許可。(這是用於預設 IAM 角色 `CloudTrail_CloudWatchLogs_Role` 的預設政策。)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailCreateLogStream2014110",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111122223333:log-group:log_group_name:log-stream:CloudTrail_log_stream_name_prefix*"
            ]
        },
        {
            "Sid": "AWSCloudTrailPutLogEvents20141101",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111122223333:log-group:log_group_name:log-stream:CloudTrail_log_stream_name_prefix*"
            ]
        }
    ]
}
```

------

如果您建立可能也會用於組織線索的政策，則您將需要從該角色原已建的預設政策中開始修改。例如，下列政策會授予 CloudTrail 在您指定為 *log\$1group\$1name* 值的日誌群組中建立 CloudWatch Logs 日誌串流所需的許可，以及針對 AWS 帳戶 111111111111 中的兩個線索，以及在 111111111111 帳戶中建立的組織線索，將 CloudTrail 事件交付至該日誌串流，這些線索會套用到 ID 為 *o-exampleorgid* AWS Organizations 的組織：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailCreateLogStream20141101",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name:log-stream:111111111111_CloudTrail_us-east-2*",
                "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name:log-stream:o-exampleorgid_*"
            ]
        },
        {
            "Sid": "AWSCloudTrailPutLogEvents20141101",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name:log-stream:111111111111_CloudTrail_us-east-2*",
                "arn:aws:logs:us-east-2:111111111111:log-group:log_group_name:log-stream:o-exampleorgid_*"
            ]
        }
    ]
}
```

------

如需組織線索的詳細資訊，請參閱[建立組織追蹤](creating-trail-organization.md)。