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

上次更新时间:2019 年 8 月 23 日

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

简短描述

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

  • CloudTrail 控制台中的事件历史记录。
  • Amazon CloudWatch Logs。
  • Amazon Athena 查询。
  • Amazon Simple Storage Service (Amazon S3) 存档日志文件。

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

解决方法

CloudTrail 控制台中的事件历史记录

您可以查看过去 90 天内所有受支持的服务和集成以及事件类型(创建、修改、删除和不可变活动)。您无需设置跟踪即可使用事件历史记录。如需了解相关说明,请参阅在 CloudTrail 控制台中查看 CloudTrail 事件

作为在 CloudWatch 控制台中搜索事件的替代方法,您可以使用 AWS 命令行界面 (AWS CLI) 命令 filter-log-events。​您还可以使用指标筛选器搜索和匹配日志事件中的词语、短语和值。然后,您可以将这些内容转换成 CloudWatch 指标和警报。有关更多信息,请参阅筛选器和模式语法

注意:如果您使用的是 AWS CLI,并且计划大规模使用 filter-log-events(例如,实现自动化或执行脚本),那么最佳实践是使用 CloudWatch Logs 订阅筛选器。这是因为 filter-log-events 具有 API 限制。订阅筛选器没有此类限制,而且能够实时处理大量日志数据。有关 filter-log-events 及其限制的更多信息,请参阅 CloudWatch Logs 限制。​

Amazon CloudWatch Logs

借助 CloudWatch Logs,您可以搜索更改资源状态的操作(如 ​StopInstances),以及不更改资源状态的操作(如 DescribeInstances)。这些说明假定您已创建跟踪将其配置为将事件发送到 CloudWatch Logs

请考虑以下事项:

有关说明,请参阅查看发送到 CloudWatch Logs 的日志数据

Athena 查询

您可以使用 ​Athena 运行查询来对大型 CloudTrail 日志集合进行搜索。有关更多信息,请参阅如何在 Amazon Athena 中自动创建表以搜索 AWS CloudTrail 日志?

Amazon S3 存档日志文件

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

注意:您必须启用跟踪才能将日志记录到 S3 存储桶中