使用查看路径的 CloudTrail Insights 事件 Amazon CLI - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用查看路径的 CloudTrail Insights 事件 Amazon CLI

你可以通过运行aws cloudtrail lookup-events命令来查找过去 90 天的 Ins CloudTrail ights 事件。此 lookup-events 命令具有以下选项:

  • --end-time

  • --event-category

  • --max-results

  • --start-time

  • --lookup-attributes

  • --next-token

  • --generate-cli-skeleton

  • --cli-input-json

有关使用的一般信息 Amazon Command Line Interface,请参阅《Amazon Command Line Interface 用户指南》

先决条件

  • 要运行 Amazon CLI 命令,必须安装 Amazon CLI。有关更多信息,请参阅安装 Amazon 命令行界面

  • 确保您的 Amazon CLI 版本高于 1.6.6。要验证 CLI 版本,请在命令行上运行 aws --version

  • 要为 Amazon CLI 会话设置账户、区域和默认输出格式,请使用aws configure命令。有关更多信息,请参阅配置 Amazon 命令行界面

  • 要针对 API 调用量记录 Insights 事件,跟踪必须记录 write 管理事件。要针对 API 错误率记录 Insights 事件,跟踪必须记录 readwrite 管理事件。

注意

这些 CloudTrail Amazon CLI 命令区分大小写。

获取命令行帮助

要查看 lookup-events 的命令行帮助,请键入以下命令。

aws cloudtrail lookup-events help

查找 Insights 事件

要查看最新的 10 个 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)发生的 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 个字符。在 2000 个字符限制中,以下字符(_ ,'、' \\n '、'、')算作两个字符。

属性查找示例

以下示例命令返回 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>

在此命令中,<timestamp> 的值来自于上一个命令输出的第一个字段。

在命令中使用 --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 输入

Amazon CLI 对于某些 Amazon 服务,有两个参数,即--generate-cli-skeleton--cli-input-json,可用于生成 JSON 模板,您可以修改该模板并将其用作--cli-input-json参数的输入。本部分介绍如何将这些参数和 aws cloudtrail lookup-events 结合使用。有关更多信息,请参阅生成 CLI 框架和 CLI 输入 JSON 参数

通过从文件中获取 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 输入只能包含指定的值。

    重要

    必须先从模板中删除所有空值,然后才能使用该模板。

    以下示例指定一个时间范围和要返回的结果的最大数目。

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

向其发出请求的 Amazon 服务。

EventTime

事件的日期和时间(采用 UNIX 时间格式)。

资源

由已返回的事件引用的资源列表。每个资源条目指定一个资源类型和一个资源名称。

ResourceName

一个包含由事件引用的资源名称的字符串。

ResourceType

一个包含由事件引用的资源类型的字符串。如果无法确定资源类型,则返回 null。

用户名

一个包含已返回事件的账户用户名称的字符串。

NextToken

用于从上一个 lookup-events 命令获取下一页结果的字符串。要使用该令牌,参数必须与原始命令中的参数相同。如果输出中未显示任何 NextToken 条目,则不再返回结果。

有关 CloudTrail Insights 事件的更多信息,请参阅本指南记录 Insights 事件中的。