使用 檢視追蹤的 Insights 事件 AWS CLI - AWS CloudTrail

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

使用 檢視追蹤的 Insights 事件 AWS CLI

本節說明如何使用 AWS CLI lookup-events命令,在啟用 Insights 事件的情況下,查詢過去 90 天的 Insights 事件。如需如何在線索上啟用 CloudTrail Insights 的詳細資訊,請參閱 使用 記錄線索的 Insights 事件 AWS CLI

注意

您無法使用 lookup-events命令來查詢事件資料存放區的 Insights 事件,不過, CloudTrail Lake 為 Insights 事件資料存放區提供許多範例查詢。如需詳細資訊,請參閱檢視 Insights 事件的範例查詢

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.09", "eventTime": "2024-12-11T16:52:00Z", "awsRegion": "us-east-1", "eventID": "18378b1e-3653-433d-ba1e-aa11a5958f0c", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "888888888888", "sharedEventID": "fccb064f-dd07-4822-97c0-11115d8b91d4", "insightDetails": { "state": "Start", "eventSource": "cloudtrail.amazonaws.com", "eventName": "DescribeQuery", "insightType": "ApiErrorRateInsight", "errorCode": "QueryIdNotFoundException", "insightContext": { "statistics": { "baseline": { "average": 0 }, "insight": { "average": 1.2 }, "insightDuration": 5, "baselineDuration": 11092 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::888888888888:assumed-role/Admin", "average": 1.2 } ], "baseline": [] }, { "attribute": "userAgent", "insight": [ { "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "average": 1.2 } ], "baseline": [] } ] } }, "eventCategory": "Insight" }, { "eventVersion": "1.09", "eventTime": "2024-12-11T16:53:00Z", "awsRegion": "us-east-1", "eventID": "b32f10a0-f039-419a-bad7-e95468930a4f", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "888888888888", "sharedEventID": "fccb064f-dd07-4822-97c0-11115d8b91d4", "insightDetails": { "state": "End", "eventSource": "cloudtrail.amazonaws.com", "eventName": "DescribeQuery", "insightType": "ApiErrorRateInsight", "errorCode": "QueryIdNotFoundException", "insightContext": { "statistics": { "baseline": { "average": 0 }, "insight": { "average": 6 }, "insightDuration": 1, "baselineDuration": 11092 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::888888888888:assumed-role/Admin", "average": 6 } ], "baseline": [] }, { "attribute": "userAgent", "insight": [ { "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "average": 6 } ], "baseline": [] } ] } }, "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指定只會傳回在指定時間之前或發生的 Insights 事件。如果指定的結束時間早於指定的開始時間,則會傳回錯誤。

預設的開始時間是過去 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輸入來查詢 Insights 事件
  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. 使用文字編輯器視需要修改 JSON。JSON 輸入只能包含指定的值。

    重要

    必須先從範本移除所有空白值或 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 事件的詳細資訊,請參閱本指南使用 CloudTrail Insights中的 。