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

上次更新日期:2020 年 12 月 18 日

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

简短描述

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

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

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

解决方法

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

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

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

要在 CloudWatch 控制台中搜索事件,您也可以使用 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 的日志数据

Amazon Athena 查询

Amazon Athena 允许您查询然后自动解析 Amazon S3 存储桶中的大量 CloudTrail 日志文件。有关更多信息,请参阅如何在 Amazon Athena 中自动创建表以搜索 AWS CloudTrail 日志?

Amazon S3 存档日志文件

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

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