傳送事件到 CloudWatch 日誌 - AWS CloudTrail

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

傳送事件到 CloudWatch 日誌

當您設定您的線索將事件傳送到 CloudWatch Logs 時,只 CloudTrail 會傳送符合您追蹤設定的事件。例如,如果您設定您的線索只記錄資料事件,您的線索只會將資料事件傳送到您的 CloudWatch Logs 日誌群組。 CloudTrail 支援將資料、Insights 和管理事件傳送到 CloudWatch Logs。如需詳細資訊,請參閱使用 CloudTrail 日誌檔案

將事件傳送到 Lo CloudWatch gs 日誌群組:

使用主控台設定 CloudWatch Logs 監控

您可以使用,設AWS Management Console定您的線索將事件傳送到 CloudWatch Logs 進行監控。

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

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

建立或指定日誌群組
  1. 請確定您以管理使用者或角色登入擁有足夠權限設定 CloudWatch Logs 整合。如需詳細資訊,請參閱授與在主控台上檢視和設定 Amazon CloudWatch Logs 資 CloudTrail 訊的許可

  2. 開啟主 CloudTrail 控台,網址為 https://console.aws.amazon.com/cloudtrail/

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

    注意

    套用到所有區域的線索會將所有區域的 CloudWatch 日誌檔案傳送到您指定的日誌群組。

  4. 針對CloudWatch 記錄檔,選擇設定

  5. 針對 New or existing log group (新的或現有的日誌群組),輸入日誌群組名稱,然後選擇 Continue (繼續)。如需詳細資訊,請參閱CloudTrail 的 CloudWatch Logs 日誌群組和日誌串流命名

  6. 針對 IAM 角色,選擇現有的角色或建立一個角色。如果建立 IAM 角色,請輸入角色名稱。

  7. 選擇 [允許] 以 CloudTrail 授與建立 CloudWatch 記錄檔串流和傳送事件的權限。

指定 IAM 角色

您可以指定角色,以 CloudTrail 將事件交付到日誌串流。

指定角色
  1. 預設會為您指定 CloudTrail_CloudWatchLogs_Role。預設角色政策具備必要的許可,可在您指定的 CloudWatch 日誌群組中建立 Logs 日誌串流,並將 CloudTrail 事件傳送到該日誌串流。

    注意

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

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

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

    3. 若要查看角色政策的內容,請選擇 View Policy Document (檢視政策文件)。

  2. 您可以指定其他角色,但若要使用它將事件傳送到 CloudWatch Logs,則必須將必要的角色政策連接到現有的角色。如需詳細資訊,請參閱讓 CloudTrail 能使用 CloudWatch Logs 進行監控的角色政策文件

在 CloudWatch 主控台中檢視事件

設定您的線索將事件傳送到您的 CloudWatch Logs 日誌群組之後,您可以在 CloudWatch 主控台中檢視事件。 CloudTrail 通常會在 API 呼叫的幾分鐘內將事件交付到您的日誌群組。此時間無法保證。如需詳細資訊,請參閱 AWS CloudTrail 服務水準協議

在 CloudWatch 主控台中檢視事件
  1. 開啟主 CloudWatch 控台,網址為 https://console.aws.amazon.com/cloudwatch/

  2. 選擇 Logs (日誌)。

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

  4. 選擇日誌串流名稱。

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

注意

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

設定 CloudWatch 記錄監控AWS CLI

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

建立日誌群組

  1. 如果您還沒有日誌群組,請使用 CloudWatch Logscreate-log-group 命令,建立 Logs 日誌群組做為 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

建立角色

建立角色 CloudTrail ,讓它可以將事件傳送到 Lo CloudWatch gs 日誌群組。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 日誌群組中建立 Logs 日誌串流,並將 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 日誌群組中建立 Logs 日誌串流,以及將 CloudTrail 事件傳送至該日誌串流,以及套用到 o-exampleorgid 的AWS Organizations組織線索套用到組織的組織線索:AWS

{ "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.