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

在控制台中为您的组织创建跟踪

要在 CloudTrail 控制台中创建组织跟踪,您必须使用主账户中的 IAM 用户或角色登录该控制台,并且必须拥有足够的权限。如果您未使用主账户登录,则在 CloudTrail 控制台中创建或编辑跟踪时,则不会显示用于将跟踪应用到组织的选项。

您可以选择通过多种方式配置组织跟踪。例如,您可以:

  • 指定跟踪应用于所有区域还是单个区域。默认设置是为所有区域创建跟踪。有关更多信息,请参阅 CloudTrail 的工作原理

  • 指定是否要将跟踪应用于您的组织。默认设置是不这样做;您必须选择此选项才能创建组织跟踪。

  • 指定用于接收组织跟踪的日志文件的 Amazon S3 存储桶。您可以在主账户中选择现有 Amazon S3 存储桶,也可以专门为组织跟踪创建一个存储桶。

  • 对于管理和数据事件,指定您是否要记录只读、只写或所有事件。您可以通过从控制台以及成员账户(如果您指定要为其启用数据事件日志记录的每个资源的 ARN)的列表中选择特定 Amazon S3 存储桶和 AWS Lambda 函数,来指定主账户中这些存储桶和函数的日志数据事件。有关更多信息,请参阅 数据事件

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

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

    您必须以主账户中的用户、角色或根账户身份登录,并且必须拥有足够的权限,才能创建组织跟踪。

  2. 在区域选择器中,选择要在其中创建跟踪的区域。

  3. 选择 Trails (跟踪),然后选择 Create trail (创建跟踪)

    提示

    如果您看到 Get Started Now (立即开始使用) 而不是 Trails (跟踪),请将其选中。

  4. Create Trail (创建跟踪) 页面上,对于 Trail name (跟踪名称),请为您的组织跟踪键入一个名称。此名称在主账户和所有成员账户中必须是唯一的。请注意,此跟踪名称将显示在 CloudTrail 控制台中针对这些账户的所有成员账户中,以及 AWS CLI 和 API 所提供的跟踪列表中。请考虑为此跟踪提供一个容易理解的名称,以符合命名要求。有关更多信息,请参阅 CloudTrail 跟踪命名要求

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

  6. 对于 Apply trail to my organization (将跟踪应用于我的组织),请选择 Yes (是)。如果您使用主账户中的 IAM 用户或角色登录控制台,则只会看到此选项。为了实现创建组织跟踪,请确保相应用户或角色具有足够的权限

  7. 对于 Management events (管理事件),为 Read/Write events (读取/写入事件) 选择您是希望跟踪记录 All (所有)Read-only (只读)Write-only (只写) 还是 None (无)。默认情况下,跟踪会记录所有管理事件。有关更多信息,请参阅 管理事件

  8. 对于 Data events (数据事件),您可以指定 Amazon S3 存储桶和 AWS Lambda 函数的日志记录数据事件。您可以从主账户中的特定 Amazon S3 存储桶和 Lambda 函数列表中进行选择,但这些列表不包含成员账户的任何资源信息。要在成员账户中添加特定资源,您必须提供 Amazon S3 存储桶和 Lambda 函数的 ARN。或者,您也可以选择用于记录所有 Amazon S3 存储桶和 Lambda 函数的选项。该选项适用于组织中的所有账户。

    默认情况下,跟踪不记录数据事件。记录数据事件将收取额外费用。有关 CloudTrail 定价,请参阅 AWS CloudTrail 定价

    对于 Amazon S3 存储桶:

    • 选择 S3 选项卡。

    • 要在主账户中指定存储桶,请选择 Add S3 bucket (添加 S3 存储桶)。从选择存储桶名称时出现的列表中选择该存储桶,或者键入您要为其记录数据事件的 S3 存储桶的名称和前缀(可选)。对于每个存储桶,指定是记录 Read (读取) 事件 (如 GetObject)、Write (写入) 事件 (如 PutObject),还是两类事件都记录。有关更多信息,请参阅 数据事件

    • 要在成员账户中指定存储桶,请选择 Add S3 bucket (添加 S3 存储桶)。在存储桶名称中键入或粘贴该存储桶的 ARN。对于每个存储桶,指定是记录 Read (读取) 事件 (如 GetObject)、Write (写入) 事件 (如 PutObject),还是两类事件都记录。有关更多信息,请参阅 数据事件

    • 要为您的组织的所有账户中的所有 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 账户的存储桶执行的也是如此。

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

    对于 Lambda 函数:

    • 选择 Lambda 选项卡。

    • 要为主账户中的各个函数指定日志记录数据事件,请从列表中选择它们。仅会列出主账户中的函数。成员账户中的函数不会显示在列表中。

      注意

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

    • 要为成员账户中的各个函数指定日志记录数据事件,请选择 Add function (添加函数),然后在成员账户中键入或粘贴相应函数的 ARN。

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

      注意

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

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

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

    注意

    如果选择了 No (否),请选择现有的 Amazon S3 存储桶。将更新存储桶策略以允许组织跟踪的日志记录。有关手动创建或编辑存储桶策略的信息,请参阅使用 AWS Command Line Interface 为组织创建跟踪

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

  11. 要配置高级设置,请参阅为您的组织跟踪配置高级设置。否则,选择 Create

  12. 新跟踪出现在 Trails 页面上。一个组织跟踪最多可能需要 24 小时才能在所有成员账户的所有区域中创建完成。Trails 页面显示您的账户中来自所有区域的跟踪。CloudTrail 会在约 15 分钟内发布日志文件,其中显示在您的组织中发起的 AWS API 调用。您可以在指定的 Amazon S3 存储桶中查看日志文件。

注意

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

为您的组织跟踪配置高级设置

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

  • 指定接收日志文件的 Amazon 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 new KMS key (创建新的 KMS 密钥),选择 Yes (是) 以在主账户中创建密钥,或选择 No (否) 以使用主账户中的现有密钥。

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

    注意

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

  6. 对于 Enable log file validation (启用日志文件验证),选择 Yes (是) 可将日志摘要传输到您的 Amazon 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 (SNS 主题) 字段中键入名称。

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

  10. 选择 Create

后续步骤

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

注意

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