AWS CloudTrail
用户指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

创建跟踪

按照以下过程创建应用于所有区域的跟踪。应用于所有区域的跟踪会将所有区域中的日志文件传送至 S3 存储桶。在创建跟踪后,CloudTrail 会自动开始记录您指定的事件。

注意

创建跟踪之后,您可以配置其他 AWS 服务,进一步分析在 CloudTrail 日志中收集的事件数据并采取操作。有关更多信息,请参阅CloudTrail 支持的服务和集成

在控制台中创建跟踪

您可以针对以下内容配置自己的跟踪:

  • 指定跟踪应用于所有区域还是单个区域。

  • 指定 Amazon S3 存储桶以接收日志文件。

  • 对于管理和数据事件,指定您是否要记录只读、只写或所有事件。

使用 AWS 管理控制台创建 CloudTrail 跟踪

  1. 登录 AWS 管理控制台并通过以下网址打开 CloudTrail 控制台:https://console.amazonaws.cn/cloudtrail/

  2. 选择您要创建跟踪的区域。

  3. 选择 Get Started Now

    提示

    如果您没有看到 Get Started Now (立即入门),请选择 Trails (跟踪),然后选择 Create trail (创建跟踪)

  4. Create Trail 页面上,对于 Trail name,键入一个跟踪名。有关更多信息,请参阅CloudTrail 跟踪命名要求

  5. 对于 Apply trail to all regions,选择 Yes 可接收来自所有区域的日志文件。这是默认设置,也是推荐设置。如果选择 No,则跟踪只记录来自您在其中创建跟踪的区域的文件。

  6. 对于 Management events,为 Read/Write events 选择您是希望跟踪记录 AllRead-onlyWrite-only 还是 None 事件,然后选择 Save。默认情况下,跟踪会记录所有管理事件。有关更多信息,请参阅管理事件

  7. 对于 Data events (数据事件),您可以指定 Amazon S3 存储桶和/或 AWS Lambda 函数的日志记录数据事件。默认情况下,跟踪不记录数据事件。记录数据事件将收取额外费用。有关 CloudTrail 定价,请参阅 AWS CloudTrail 定价

    您可以选择用于记录所有 S3 存储桶和 Lambda 函数的选项,也可以指定单个存储桶或函数。

    对于 Amazon S3 存储桶:

    • 选择 S3 选项卡。

    • 要指定存储桶,请选择 Add S3 bucket。键入您希望记录其数据事件的 S3 存储桶的名称和前缀 (可选)。对于每个存储桶,指定是记录 Read (读取) 事件 (如 GetObject)、Write (写入) 事件 (如 PutObject),还是两类事件都记录。有关更多信息,请参阅数据事件

    • 要为您 AWS 账户中的所有 S3 存储桶记录数据事件,请选择 Select all S3 buckets in your account (选择您的账户中的所有 S3 存储桶)。然后选择您要记录 Read (读取) 事件(如 GetObject)、Write (写入) 事件(如 PutObject)还是记录这种事件。此设置优先于为各个存储桶配置的个别设置。例如,如果指定记录所有 S3 存储桶的 Read 事件,然后选择为数据事件日志记录添加一个特定存储桶,则所添加存储桶的 Read 已经是选中状态。您无法清除此选择。只能配置 Write 选项。

      注意

      选择 Select all S3 buckets in your account (选择您账户中的所有 S3 存储桶) 选项会为您的 AWS 账户中现有的所有存储桶和您完成跟踪创建后创建的任何存储桶启用数据事件日志记录。它也将为由 AWS 账户中的任何用户或角色执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的存储桶执行的。

      如果跟踪仅应用于一个区域,则选择 Select all S3 buckets in your account (选择您账户中的所有 S3 存储桶) 选项会为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。不会为您的 AWS 账户中其他区域中的 Amazon S3 存储桶记录数据事件。

    对于 Lambda 函数:

    • 选择 Lambda 选项卡。

    • 要指定记录单个函数,请从列表中选择它们。

      注意

      如果您的账户中有 15000 个以上的 Lambda 函数,则在创建跟踪时,您无法在 CloudTrail 控制台中查看或选择所有函数。您仍可以选择该选项来记录所有函数,即使未显示这些函数也是如此。如果您要记录特定函数的数据事件,则可手动添加一个函数 (如果您知道其 ARN)。您也可以在控制台中完成跟踪的创建操作,然后使用 AWS CLI 和 put-event-selectors 命令为特定 Lambda 函数配置数据事件日志记录。有关更多信息,请参阅管理跟踪

    • 要记录 AWS 账户中的所有 Lambda 函数的数据事件,请选择 Log all current and future functions (记录所有当前和未来函数)。此设置优先于为各个函数配置的个别设置。将记录所有函数,即便这些函数未显示。

      注意

      如果为所有区域创建了一个跟踪,则此选择将为您的 AWS 账户中当前包含的所有函数以及您在创建跟踪后可能在任何区域中创建的任何 Lambda 函数启用数据事件日志记录。如果您为单个区域创建了一个跟踪,则此选择将为您的 AWS 账户中的该区域中当前包含的所有函数以及您在创建跟踪后可能在该区域中创建的任何 Lambda 函数启用数据事件日志记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。

      所有函数的日志记录数据事件也将为由 AWS 账户中的任何用户或角色执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的函数执行的。

  8. 对于 Storage location,为 Create a S3 bucket 选择 Yes 以创建一个新存储桶。在创建存储桶时,CloudTrail 会创建并应用所需的存储桶策略。

    注意

    如果选择 No,请选择一个现有 S3 存储桶。存储桶策略必须授予 CloudTrail 向其写入的权限。有关手动编辑存储桶策略的信息,请参阅CloudTrail 的 Amazon S3 存储桶策略

  9. 对于 S3 bucket,为要指定用于日志文件存储的存储桶键入一个名称。此名称必须全局唯一。有关更多信息,请参阅Amazon S3 存储桶命名要求

  10. 要配置高级设置,请参阅为跟踪配置高级设置。否则,选择 Create

  11. 新跟踪出现在 Trails 页面上。Trails 页面显示您的账户中来自所有区域的跟踪。CloudTrail 会在约 15 分钟内发布日志文件,其中显示在您的账户中发起的 AWS API 调用。您可以在指定的 S3 存储桶中查看日志文件。

注意

创建跟踪后,不能对其重命名。不过,可以删除跟踪并创建新跟踪。

为跟踪配置高级设置

您可以为自己的跟踪配置以下设置:

  • 指定接收日志文件的 S3 存储桶的日志文件前缀。

  • 使用 AWS Key Management Service (SSE-KMS) 而不是默认加密(Amazon S3 托管加密密钥 (SSE-S3))对日志文件进行加密。

  • 对日志启用日志文件验证。

  • 配置 Amazon SNS,以在传送日志文件时通知您。

为您的跟踪配置高级设置

  1. 对于 Storage location,选择 Advanced

  2. Log file prefix (日志文件前缀) 字段中,为 Amazon S3 存储桶键入前缀。此前缀是 Amazon S3 对象的 URL 的附加内容,该对象在存储桶中创建类似文件夹的组织。您的日志文件将存储到的位置显示在该文本字段的下方。

  3. 对于 Encrypt log files with SSE-KMS (使用 SSE-KMS 加密日志文件),如果您希望使用 SSE-KMS 而非 SSE-S3 来加密日志文件,则选择

  4. 对于 Create a KMS key,选择 Yes 以创建新密钥,或者选择 No 以使用现有密钥。

  5. 如果您选择 Yes (是),请在 KMS key (KMS 密钥) 字段中,键入别名。CloudTrail 会用该密钥加密您的日志文件并添加策略。

    注意

    如果选择了 No,请选择一个现有的 KMS 密钥。您也可以键入其他账户的密钥 ARN。有关更多信息,请参阅更新跟踪以使用 CMK。密钥策略必须允许 CloudTrail 使用此密钥加密您的日志文件,并允许您指定的用户读取未加密形式的日志文件。有关手动编辑密钥策略的信息,请参阅用于 CloudTrail 的 AWS KMS 密钥策略

  6. 对于 Enable log file validation,选择 Yes 可将日志摘要传输到您的 S3 存储桶。您可以使用摘要文件验证日志文件在由 CloudTrail 传送之后没有发生改变。有关更多信息,请参阅验证 CloudTrail 日志文件完整性

  7. 如果您希望每次在日志传输到您的存储桶时收到通知,则为 Send SNS notification for every log file delivery (为每次日志文件传输发送 SNS 通知),选择 Yes (是)。CloudTrail 将多个事件存储在一个日志文件中。SNS 通知针对每个日志文件而不是每个事件发送。

  8. 对于 Create a SNS topic,选择 Yes 创建新主题,或选择 No 使用现有主题。如果您创建的是应用到所有区域的跟踪,则针对来自所有区域的日志文件传输的 SNS 通知将发送到您创建的单个 SNS 主题中。

    注意

    如果选择 No,请选择现有的主题。您还可以输入在另一个区域或者在一个适当权限的账户中的主题的 ARN。有关更多信息,请参阅 的 主题策略

  9. 如果选择 Yes,则请在 SNS topic 字段中键入名称。

    如果您创建一个主题,则必须订阅该主题以便获取日志文件传送的通知。您可通过 Amazon SNS 控制台进行订阅。由于通知的频率,建议您将该订阅配置为使用 Amazon SQS 队列来以编程方式处理通知。有关更多信息,请参见 Amazon Simple Notification Service 入门指南

  10. 选择 Create

后续步骤

创建您的跟踪后,您可以返回到该跟踪以进行更改:

注意

在配置跟踪时,可以选择属于另一个账户的 S3 存储桶和 SNS 主题。但是,如果您希望 CloudTrail 将事件传送至 CloudWatch Logs 日志组,则必须选择当前账户中的日志组。