將事件傳送至 CloudWatch 記錄檔 - AWS CloudTrail

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

將事件傳送至 CloudWatch 記錄檔

當您將追蹤設定為將事件傳送至 CloudWatch 記錄檔時,只 CloudTrail 會傳送符合追蹤設定的事件。例如,如果您將追蹤設定為僅記錄資料事件,則追蹤只會將資料事件傳送至您的 CloudWatch 記錄檔記錄群組。 CloudTrail 支援將資料、見解和管理事件傳送至 CloudWatch 記錄。如需詳細資訊,請參閱 使用 CloudTrail 記錄檔

注意

只有管理帳戶可以使用主控台為組織追蹤設定 CloudWatch 記錄檔群組。委派的系統管理員可以使用 AWS CLI 或 CloudTrail CreateTrailUpdateTrail API 作業來設定 CloudWatch 記錄檔群組。

如果要將事件傳送至記 CloudWatch 錄檔記錄群組:

使用主控台設定 CloudWatch 記錄監控

您可以使用 AWS Management Console 來設定追蹤,將事件傳送至 CloudWatch 記錄檔以進行監視。

建立日誌群組或指定現有的日誌群組

CloudTrail 使用記 CloudWatch 錄檔記錄群組做為記錄事件的傳遞端點。您可以建立日誌群組或指定現有的日誌群組。

若要為現有的追蹤建立或指定日誌群組
  1. 請確定您以具有足夠權限的系統管理使用者或角色登入,以設定 CloudWatch 記錄檔整合。如需詳細資訊,請參閱 授與在主控台上檢視和設定 Amazon CloudWatch 日誌資 CloudTrail 訊的權限

    注意

    只有管理帳戶可以使用主控台為組織追蹤設定 CloudWatch 記錄檔群組。委派的系統管理員可以使用 AWS CLI 或 CloudTrail CreateTrailUpdateTrail API 作業來設定 CloudWatch 記錄檔群組。

  2. 請在以下位置開啟 CloudTrail 主控台。 https://console.aws.amazon.com/cloudtrail/

  3. 選擇線索名稱。如果您選擇套用到所有區域的追蹤,系統會將您重新導向到建立該追蹤的區域。您可以在與追蹤相同的區域中建立日誌群組或選擇現有的日誌群組。

    注意

    套用至所有區域的追蹤會將所有區域的記錄檔傳送至您指定的 CloudWatch 記錄日誌群組。

  4. CloudWatch 記錄檔中,選擇編輯

  5. 針對CloudWatch 記錄檔,選擇已啟動

  6. 對於日誌群組名稱,選擇新增以建立新的日誌群組,或選擇現有以使用現有的日誌群組。如果選擇 [新增],請為您 CloudTrail 指定新記錄群組的名稱,或者輸入名稱。如需有關命名的詳細資訊,請參閱 CloudWatch 的記錄群組和記錄資料流命名 CloudTrail

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

  8. 對於 [角色名稱],選擇 [新增],為許可建立新的 IAM 角色,以將記錄傳送至 CloudWatch 記錄。選擇 Existing (現有) 從下拉式功能表中選擇現有的 IAM 角色。新角色或現有角色的政策陳述式會在您展開政策文件時顯示。如需有關此角色的詳細資訊,請參閱 使用 CloudWatch 記錄進行監視 CloudTrail 的角色原則文件

    注意

    設定追蹤時,您可以選擇由其他帳戶所屬的 S3 儲存貯體和 SNS 主題。不過,如果您想 CloudTrail 要將事件傳遞至 CloudWatch 記錄檔記錄群組,則必須選擇目前帳戶中存在的記錄群組。

  9. 選擇儲存變更

指定 IAM 角色

您可以指定 CloudTrail 要假設將事件傳遞至記錄串流的角色。

指定角色
  1. 預設會為您指定 CloudTrail_CloudWatchLogs_Role。預設角色原則具有在您指定的 CloudWatch 記錄群組中建立記錄資料流的必要權限,並將 CloudTrail 事件傳遞至該記錄資料流。

    注意

    如果希望此角色用於組織線索的日誌群組,您必須在角色建立之後手動修改該政策。如需更多詳細資訊,請參閱這個政策範例建立組織追蹤

    1. 若要驗證角色,請前往 https://console.aws.amazon.com/iam/ 的 AWS Identity and Access Management 主控台。

    2. 選擇 [角色],然後選擇 [CloudTrailCloudWatchLogs_ 角色]。

    3. 許可索引標籤中,展開政策以檢視其內容。

  2. 您可以指定其他角色,但如果您想要使用該角色將事件傳送至 CloudWatch 記錄檔,則必須將必要的角色原則附加至現有角色。如需詳細資訊,請參閱 使用 CloudWatch 記錄進行監視 CloudTrail 的角色原則文件

在 CloudWatch 主控台中檢視事件

將追蹤設定為將事件傳送至 CloudWatch 記錄檔記錄群組後,您可以在 CloudWatch 主控台中檢視事件。 CloudTrail 通常會在 API 呼叫後平均約 5 分鐘內將事件傳遞至您的記錄群組。此時間無法保證。如需詳細資訊,請參閱 AWS CloudTrail 服務水準協議

若要在 CloudWatch 主控台中檢視事件
  1. 請在以下位置開啟 CloudWatch 主控台。 https://console.aws.amazon.com/cloudwatch/

  2. 在左側導覽窗格中,選擇日誌下方的日誌群組

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

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

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

注意

CloudWatch 主控台中的 [時間 (UTC)] 欄會顯示事件傳遞至記錄群組的時間。若要查看事件記錄的實際時間 CloudTrail,請參閱eventTime欄位。

設定 CloudWatch 記錄監控 AWS CLI

您可以使用 AWS CLI 來設定將事件傳送 CloudTrail 至 CloudWatch 記錄檔以進行監視。

建立日誌群組

  1. 如果您沒有現有的記錄群組,請使用 [ CloudWatch 記錄檔] create-log-group 命令建立記錄檔群組做為 CloudWatch 記錄事件的傳遞端點。

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

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

    aws logs create-log-group --log-group-name CloudTrail/logs
  2. 擷取日誌群組的 Amazon Resource Name (ARN)。

    aws logs describe-log-groups

建立角色

建立可讓其將事件傳送至 CloudWatch 記錄檔記錄群組的角色。 CloudTrail IAM create-role 命令需要兩個參數:角色名稱及 JSON 格式之擔任角色政策文件的檔案路徑。您使用的政策文件會授與AssumeRole權限 CloudTrail。create-role 命令會建立具備必要許可的角色。

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

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

執行下列命令以建立具有AssumeRole權限的角色 CloudTrail。

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

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

建立政策文件

建立的下列角色原則文件 CloudTrail。本文件授與 CloudTrail 在您指定的 CloudWatch 記錄群組中建立記錄資料流所需的權限,並將 CloudTrail 事件傳遞至該記錄串流。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ] } ] }

將政策文件儲存在名為 role-policy-document.json 的檔案中。

如果您正在建立也可用於組織線索的政策,您將需要做出稍微有些差異的設定。例如,下列原則會授 CloudTrail 與在您指定的記錄群組中建立 CloudWatch 記錄資料流所需的權限,以及針對帳戶 111111111111 中的兩個追蹤,以及在 111111111111 AWS 帳戶中建立的組織追蹤 (ID 為 o-exampleorgid) 套用至組織的 CloudTrail 事件傳遞至該記錄資料流所需的權限: AWS Organizations

{ "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-exampleorgid_*" ] }, { "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-exampleorgid_*" ] } ] }

如需組織線索的詳細資訊,請參閱建立組織追蹤

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

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

更新線索

使用 CloudTrailupdate-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 令行參考〉。

限制

CloudWatch 記錄檔和 EventBridge 每個記錄檔都允許 256 KB 的事件大小上限。雖然大多數服務事件的大小上限為 256 KB,但有些服務仍有較大的事件。 CloudTrail 不會將這些事件傳送至 CloudWatch 記錄檔或 EventBridge。

從 CloudTrail 事件版本 1.05 開始,事件的大小上限為 256 KB。這是為了防止惡意行為者利用,並允許其他 AWS 服務(例如 CloudWatch Logs 和 EventBridge.