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

使用 AWS CLI 查看 CloudTrail Insights 事件

您可以通过运行 aws cloudtrail lookup-events 命令查找过去 90 天的 CloudTrail 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 命令行接口

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

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

注意

CloudTrail AWS CLI 命令区分大小写。

获取命令行帮助

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

aws cloudtrail lookup-events help

查找见解事件

要查看最新的 Insights events,请键入以下命令。

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": "PutLifecycleHook", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0017857143 }, "insight": { "average": 4 } } } }, "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": "PutLifecycleHook", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0017857143 }, "insight": { "average": 4 }, "insightDuration": 1 } } }, "eventCategory": "Insight" } ] }

有关输出中与查找相关的字段的说明,请参阅本文档后面的查找输出字段部分。有关见解事件中的字段的说明,请参阅CloudTrail 记录内容

指定要返回的见解事件数

要指定要返回的事件数目,请键入以下命令。

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

如果未指定,则 <integer> 的默认值为 10。可能的值介于 1 和 50 之间。以下示例返回一个结果。

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

按时间范围查找见解事件

可查找过去 90 天发生的 Insights events。要指定时间范围,请键入以下命令。

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

--start-time <timestamp> 指定仅返回在指定时间或之后发生的 Insights events。如果指定的开始时间晚于指定的结束时间,则将返回错误。

--end-time <timestamp> 指定仅返回在指定时间或之前发生的 Insights events。如果指定的结束时间早于指定的开始时间,则将返回错误。

默认开始时间为过去 90 天内提供数据的最早日期。默认结束时间为最接近当前时间所发生事件的时间。

有效的 <timestamp> 格式

--start-time--end-time 属性接受 UNIX 时间值或有效的等效项。

以下是有效格式的示例。可用连字符或正斜杠将日期、月份和年份值分隔开来。如果有空格,则必须使用双引号。

1422317782 1422317782.0 01-27-2015 01-27-2015,01:16PM "01-27-2015, 01:16 PM" "01/27/2015, 13:16" 2015-01-27 "2015-01-27, 01:16 PM"

按属性查找见解事件

要按属性进行筛选,请键入以下命令。

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

您只能为每个 lookup-events 命令指定一个属性密钥-值对。以下是 AttributeKey 的有效见解事件值。值的名称区分大小写。

  • EventId

  • EventName

  • EventSource

属性查找示例

以下示例命令返回 EventName 值为 PutRule 的 Insights events。

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

以下示例命令返回 EventId 值为 b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002 的 Insights events。

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

以下示例命令返回 EventSource 值为 iam.amazonaws.com 的 Insights events。

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 输入

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

通过从文件中获取 JSON 输入来查找 Insights events

  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": "2015-01-01", "EndTime": "2015-01-27", "MaxResults": 2 }
  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。

Username

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

NextToken

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

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