

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

# 傳送事件到 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。