檢視追蹤的 CloudTrail 見解事件 AWS CLI - AWS CloudTrail

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

檢視追蹤的 CloudTrail 見解事件 AWS CLI

您可以執行aws cloudtrail lookup-events命令,查詢過去 90 天的 CloudTrail 見解事件。此 lookup-events 命令提供以下選項:

  • --end-time

  • --event-category

  • --max-results

  • --start-time

  • --lookup-attributes

  • --next-token

  • --generate-cli-skeleton

  • --cli-input-json

若要取得有關使用的一般資訊 AWS Command Line Interface,請參閱《使AWS Command Line Interface 用指南》

必要條件

  • 若要執行 AWS CLI 命令,您必須安裝 AWS CLI. 如需詳細資訊,請參閱開始使用 AWS CLI.

  • 確保您的 AWS CLI 版本大於 1.6.6。若要驗證CLI版本,請在命令列aws --version上執行。

  • 若要設定 AWS CLI 工作階段的帳戶、區域和預設輸出格式,請使用aws configure指令。如需詳細資訊,請參閱設定 AWS 命令列界面

  • 若要在API呼叫磁碟區上記錄 Insights 事件,追蹤必須記錄write管理事件。若要以API錯誤率記錄 Insights 事件,追蹤必須記錄readwrite管理事件。

注意

這些命 CloudTrail AWS CLI 令是區分大小寫的。

取得命令列說明

若要查看 lookup-events 的命令列說明,請輸入下列命令:

aws cloudtrail lookup-events help

搜尋 Insights 事件

若要查看十個最新的 Insights 事件,請輸入下列命令:

aws cloudtrail lookup-events --event-category insight

傳回的事件看起來類似下列範例:

{ "NextToken": "kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=", "Events": [ { "eventVersion": "1.07", "eventTime": "2019-10-15T21:13:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLE-9b6f-45f8-bc6b-9b41c052ebc7", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "Start", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" }, { "eventVersion": "1.07", "eventTime": "2019-10-15T21:14:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLEc-9eac-4af6-8e07-26a5ae8786a5", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "End", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" } ] }

如需輸出中查詢相關欄位的說明,請參閱本主題中的查詢輸出欄位。如需 Insights 事件中欄位的說明,請參閱 CloudTrail 記錄內容

指定要傳回的 Insights 事件數目

若要指定要傳回的事件數目,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight --max-results <integer>

的預設值 <integer>,如果未指定,則為 10。可能值為 1 到 50。下列範例會傳回一個結果。

aws cloudtrail lookup-events --event-category insight --max-results 1

依時間範圍查詢 Insights 事件

過去 90 天的 Insights 事件可用於查詢。若要指定時間範圍,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight --start-time <timestamp> --end-time <timestamp>

--start-time <timestamp>在中UTC指定只傳回在指定時間之後或在指定時間發生的 Insights 事件。如果指定的開始時間晚於指定的結束時間,則會傳回錯誤。

--end-time <timestamp>在中UTC指定只傳回在指定時間之前或在指定時間發生的見解事件。如果指定的結束時間早於指定的開始時間,則會傳回錯誤。

預設的開始時間是過去 90 天內可使用資料的最早日期。預設的結束時間是在最接近目前時間所發生之事件的時間。

所有時間戳記都會顯示在中UTC。

依屬性查詢 Insights 事件

若要依屬性進行篩選,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=<attribute>,AttributeValue=<string>

您只能為每個 lookup-events 命令指定一個屬性鍵/值對。以下是 AttributeKey 的有效 Insights 事件值。值名稱區分大小寫。

  • EventId

  • EventName

  • EventSource

的最大長度AttributeValue為 2000 個字元。以下字符('_','', '',,'\\n')算作兩個字符,朝著 2000 個字符限制。

屬性查詢範例

下列範例命令會傳回 EventName 值為 PutRule 的 Insights 事件。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule

下列範例命令會傳回 EventId 值為 b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002 的 Insights 事件。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventId, AttributeValue=b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002

下列範例命令會傳回 EventSource 值為 iam.amazonaws.com 的 Insights 事件。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventSource, AttributeValue=iam.amazonaws.com

指定下一頁的結果

若要從 lookup-events 命令取得下一頁的結果,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight <same parameters as previous command> --next-token=<token>

在此命令中,<token> 取自上一個命令輸出的第一個欄位。

當您在命令中使用 --next-token 時,必須使用與先前命令相同的參數。例如,假設您執行下列命令。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule

若要取得下一頁的結果,您的下一個命令會如下所示。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName,AttributeValue=PutRule --next-token=EXAMPLEZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=

從文件獲取JSON輸入

對 AWS CLI 於某些 AWS 服務有兩個參數,--generate-cli-skeleton並且--cli-input-json,您可以使用它來產生JSON範本,您可以修改這些範本,並將其用作--cli-input-json參數的輸入。本節說明如何搭配使用這些參數與 aws cloudtrail lookup-events。如需詳細資訊,請參閱AWS CLI 骨架和輸入檔案。

透過從檔案取得JSON輸入來查詢見解事件
  1. lookup-events 輸出重新導向至檔案,以建立與 --generate-cli-skeleton 搭配使用的輸入範本,如下列範例所示。

    aws cloudtrail lookup-events --event-category insight --generate-cli-skeleton > LookupEvents.txt

    產生的範本檔案 (在本例中為 LookupEvents .txt) 如下所示。

    { "LookupAttributes": [ { "AttributeKey": "", "AttributeValue": "" } ], "StartTime": null, "EndTime": null, "MaxResults": 0, "NextToken": "" }
  2. 視需要使用文字編輯器來修改。JSONJSON輸入必須只包含指定的值。

    重要

    必須先從範本移除所有空白值或 null 值,才能使用它。

    下列範例指定時間範圍以及要傳回的結果數目上限。

    { "StartTime": "2023-11-01", "EndTime": "2023-12-12", "MaxResults": 10 }
  3. 若要使用編輯過的檔案做為輸入,請使用語法 --cli-input-json file://<filename>,如下列範例所示。

    aws cloudtrail lookup-events --event-category insight --cli-input-json file://LookupEvents.txt
注意

您可以在與 --cli-input-json 相同的命令列上使用其他引數。

查詢輸出欄位

事件

根據所指定查詢屬性和時間範圍的查詢事件清單。事件清單是依時間排序,而且會先列出最新的事件。每個項目都包含查詢要求的相關資訊,並包含擷取之 CloudTrail 事件的字串表示法。

下列項目說明每個查詢事件中的欄位。

CloudTrailEvent

包JSON含傳回事件之物件表示的字串。如需所有傳回之元素的資訊,請參閱記錄內文內容

EventId

包含傳回事件GUID的字串。

EventName

字串,包含所傳回事件的名稱。

EventSource

提出要求的 AWS 服務。

EventTime

事件的日期和時間 (以UNIX時間格式表示)。

資源

所傳回之事件所參考的資源清單。每個資源項目都會指定資源類型和資源名稱。

ResourceName

字串,包含事件所參考資源的名稱。

ResourceType

字串,包含事件所參考資源的類型。無法判定資源類型時,會傳回 null。

使用者名稱

字串,包含所傳回事件之帳戶的使用者名稱。

NextToken

字串,可從先前的 lookup-events 命令取得下一頁的結果。若要使用字符,參數必須與原始命令中的參數相同。如果 NextToken 項目未出現在輸出中,則沒有可傳回的其他結果。

如需 CloudTrail 深入解析事件的詳細資訊,請參閱本指南記錄 Insights 事件中的。