CloudTrail 的工作原理 - AWS CloudTrail
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

CloudTrail 的工作原理

在您创建 AWS 账户时,将在该账户上启用 CloudTrail。当您的 AWS 账户中发生活动时,该活动将记录在 CloudTrail 事件中。您可以轻松查看 CloudTrail 控制台中的事件,方法是转到事件历史记录

利用事件历史记录,您可以查看、搜索和下载 AWS 账户中过去 90 天的活动。此外,您还可以创建 CloudTrail 跟踪来存档、分析和响应您的 AWS 资源的变化。跟踪是一种配置,可用于将事件传送到您指定的 Amazon S3 存储桶。您还可以使用 Amazon CloudWatch 日志和 Amazon CloudWatch 事件传送和分析跟踪中的 Amazon CloudWatch Events。您可使用 CloudTrail 控制台、AWS CLI 或 CloudTrail API 创建跟踪。

您可为 AWS 账户创建两种类型的跟踪:

应用于所有区域的跟踪

当您创建一个应用于所有区域的跟踪时,CloudTrail 会记录每个区域中的事件,并将 CloudTrail 事件日志文件传输到您指定的 S3 存储桶。如果您在创建应用到所有区域的跟踪后又添加了一个区域,则该新区域会自动包括在内,该区域中的事件也将被记录。由于在所有区域创建跟踪是一种建议的最佳做法,因此您可以捕获帐户中所有区域的活动,因此在 CloudTrail 控制台中创建跟踪时,全区域跟踪是默认选项。您只能使用 AWS CLI 更新单区域跟踪以记录所有区域。有关更多信息,请参阅在控制台中创建跟踪(基本事件选择器)

应用于一个区域的跟踪

当您创建一个应用于一个区域的跟踪时,CloudTrail 仅记录该区域中的事件。然后它将 CloudTrail 事件日志文件传送到您指定的 Amazon S3 存储桶。您只能使用 AWS CLI 创建单区域跟踪。如果您另外创建了单个跟踪,可以让这些跟踪将 CloudTrail 事件日志文件传送到同一个 Amazon S3 存储桶或单独的存储桶。这是使用 AWS CLI 或 CloudTrail API 创建跟踪时的默认选项。有关更多信息,请参阅使用 AWS 命令行界面创建、更新和管理跟踪

注意

对于这两种类型的跟踪,您可以指定来自任何区域的 Amazon S3 存储桶。

从 2019 年 4 月 12 日开始,跟踪只能在其记录事件的 AWS 区域中查看。如果您创建记录所有 AWS 区域中事件的跟踪,则它会显示在所有 AWS 区域的控制台中。如果您创建仅记录单个 AWS 区域中事件的日志,则可以在该 AWS 区域中查看和管理它。

如果您已在 AWS Comments 中创建组织,则可以创建跟踪,此跟踪将记录该组织中所有 AWS 账户的所有事件。这称为组织跟踪。组织跟踪可以应用于所有 AWS 区域或一个区域。组织跟踪必须在管理账户中创建,并且在指定为应用于某个组织时,组织跟踪将自动应用于该组织中的所有成员账户。成员账户可以查看组织跟踪,但无法修改或删除它。默认情况下,成员账户无权访问 Amazon S3 存储桶中组织跟踪的日志文件。

您可以在创建跟踪后更改其配置,包括是记录一个区域内的事件还是所有区域内的事件。要将单区域跟踪更改为全区域跟踪,或者反之亦然,您必须运行 AWS CLIupdate-trail命令。您还可以更改它是记录数据事件还是 CloudTrail 见解事件。更改有关跟踪是记录一个区域内的事件还是所有区域内的事件的配置将影响记录的事件。有关更多信息,请参阅 。使用 AWS CLI 管理跟踪(AWS CLI) 和使用 CloudTrail 日志文件

默认情况下,将使用 Amazon S3 服务器端加密 (SSE) 对 CloudTrail 事件日志文件进行加密。您还可以选择使用 AWS Key Management Service (AWS KMS) 密钥加密您的日志文件。您可以将日志文件在 存储桶中存储任意长的时间。您还可以定义 Amazon S3 生命周期规则以自动存档或删除日志文件。如果您想接收有关日志文件传送和验证的通知,可以设置 Amazon SNS 通知。

CloudTrail 一小时内会多次发布日志文件,通常约每 5 分钟发布一次。这些日志文件包含账户中来自支持 CloudTrail 的服务的 API 调用。有关更多信息,请参阅CloudTrail 支持的服务和集成

注意

CloudTrail 通常会在 API 调用的 15 分钟内传输日志。不保证这次。

CloudTrail 可捕获由用户直接执行或通过 AWS 服务代表用户执行的操作。例如,AWS CloudFormationCreateStack调用会导致对 Amazon EC2、Amazon RDS、Amazon EBS 或其他服务进行其他的 API 调用(根据 AWS CloudFormation 模板的要求)。这是正常的,也是预期的行为。您可以使用 AWS 服务使用invokedby字段中查看 CloudTrail 事件。

若要开始使用 CloudTrail,请参阅AWS CloudTrail 教程入门

有关 CloudTrail 定价,请参阅AWS CloudTrail 定价。有关 Amazon S3 和 Amazon SNS 定价,请参阅Amazon S3 定价Amazon SNS 定价