我如何使用 CloudTrail 查看在我的 AWS 账户中发生了哪些 API 调用和操作?

上次更新日期:2022 年 1 月 11 日

如何查看我的 AWS 账户中发生的操作,如登录控制台或终止实例?

简短描述

您可以通过以下内容来使用 AWS CloudTrail 数据查看和跟踪对您的账户进行的 API 调用:

注意:并非所有 AWS 服务都记录了日志并可使用 CloudTrail 查看。有关与 CloudTrail 集成的 AWS 服务的列表,请参阅 CloudTrail 的 AWS 服务主题

解决方法

注意:如果您在运行 AWS Command Line Interface (AWS CLI) 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

CloudTrail 事件历史记录

使用 CloudTrail 控制台查看 CloudTrail 事件历史记录

您可以查看过去 90 天内所有受支持的服务和集成以及事件类型(创建、修改、删除和不可变活动)。您无需设置跟踪即可使用 CloudTrail 事件历史记录。

如需了解相关说明,请参阅在 CloudTrail 控制台中查看 CloudTrail 事件

使用 AWS CLI 查看 CloudTrail 事件历史记录

注意:要使用 AWS CLI 搜索事件,您必须创建和配置跟踪以登录 CloudWatch Logs。有关更多信息,请参阅创建跟踪。此外,向 CloudWatch Logs 发送事件

使用 filter-log-events 命令应用指标筛选条件,以搜索日志事件中的特定术语、短语和值。然后,您可以将这些内容转换成 CloudWatch 指标和警报。

有关更多信息,请参阅筛选器和模式语法

注意:要大规模使用 filter-log-events 命令(例如,自动化或脚本),最佳实践是使用 CloudWatch Logs 订阅筛选条件。这是因为 filter-log-events API 操作具有 API 限制。订阅筛选条件没有此类限制。此外,订阅筛选条件还能够实时处理大量日志数据。有关更多信息,请参阅 CloudWatch Logs 配额

CloudTrail Lake

CloudTrail Lake 使您能够对事件聚合、不可变地存储并运行基于 SQL 的查询。您甚至可以将数据存储在 CloudTrail Lake 中长达 7 年,也就是 2555 天。

有关更多信息,请参阅使用 AWS CloudTrail Lake

Amazon CloudWatch Logs

注意:要使用 CloudWatch Logs,您必须创建和配置跟踪以记录到 CloudWatch Logs。有关更多信息,请参阅创建跟踪。此外,向 CloudWatch Logs 发送事件

您可以使用 CloudWatch Logs 搜索更改资源状态的操作(例如,StopInstances)。此外,您还可以使用 CloudWatch Logs 搜索不会更改资源状态的操作(例如,DescribeInstances)。有关说明,请参阅查看发送到 CloudWatch Logs 的日志数据

请记住以下内容:

Amazon Athena 查询

您可以使用 Amazon Athena 查看存储在您的 Amazon S3 存储桶中的 CloudTrail 数据事件和管理事件。

有关更多信息,请参阅如何在 Amazon Athena 中自动创建表以搜索 AWS CloudTrail 日志? 另外,通过手动分区在 Athena 中为 CloudTrail 日志创建表

Amazon S3 存档日志文件

注意:要查看 Amazon S3 归档的日志文件,您必须创建并配置跟踪以记录到 S3 存储桶。有关更多信息,请参阅创建跟踪

您可以在 Amazon S3 日志文件中看到 CloudTrail 捕获的所有事件。此外还可以通过 CloudTrail 处理库AWS CLI 手动分析 S3 存储桶中的日志文件,或将日志发送给 AWS CloudTrail 合作伙伴

有关说明,请参阅 Amazon S3 CloudTrail 事件

注意:您必须激活跟踪才能记录到 S3 存储桶。