CloudTrail 概念 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

CloudTrail 概念

本部分汇总了与 CloudTrail 相关的基本概念。

什么是 CloudTrail 事件?

CloudTrail 中的事件是Amazonaccount. 此活动可以是用户、角色或可由 CloudTrail 监控的服务所执行的操作。CloudTrail 事件提供 API 和非 API 账户活动的历史记录。Amazon Web Services Management Console、Amazon开发工具包、命令行工具和其他Amazon服务。有三类事件可以记录在 CloudTrail 中:管理事件、数据事件和 CloudTrail 见解事件中。默认情况下,跟踪将记录管理事件,但不记录数据事件或见解事件。

所有事件类型都使用相同的 CloudTrail JSON 日志格式。

注意

CloudTrail 不记录所有Amazon服务和所有事件。有关会为某个特定服务记录哪些 API 的更多信息,请参阅CloudTrail 支持的服务和集成

什么是管理事件?

管理事件提供有关对在您 Amazon 账户内的资源上执行的管理操作的信息。这些也称为控制层面操作。示例管理事件包括:

  • 配置安全性 (例如,IAMAttachRolePolicyAPI 操作)。

  • 注册设备(例如,Amazon EC2CreateDefaultVpcAPI 操作)。

  • 配置传送数据的规则 (例如,Amazon EC2CreateSubnetAPI 操作)。

  • 设置日志记录(例如,Amazon CloudTrail CreateTrail API 操作)。

管理事件还包括在您的账户中发生的非 API 事件。例如,当一个用户登录您的账户时,CloudTrail 会记录ConsoleLoginevent. 有关更多信息,请参阅CloudTrail 捕获的非 API 活动。有关 CloudTrail 为记录的管理事件的列表Amazon服务,请参阅CloudTrail 支持的服务和集成

什么是数据事件?

数据事件提供有关对在资源上或资源内执行的资源操作的信息。这些也称为数据层面操作。数据事件通常是高容量活动。记录以下数据类型:

  • Amazon S3 对象级别活动(例如,GetObjectDeleteObject, 和PutObjectAPI 操作)。

  • Amazon Lambda 函数执行活动 (Invoke API)。

  • Amazon DynamoDB 对象级别活动 (例如,PutItemDeleteItem, 和UpdateItemAPI 操作)。

  • 上的 Amazon S3 对象级别 API 活动Amazon Outposts。

  • Amazon Managed Blockchain JSON-RPC 调用以太坊节点,如eth_getBalance或者eth_getBlockByNumber

  • S3 对象 Lambda 访问点上的 API 活动,例如对CompleteMultipartUploadGetObject

默认情况下,在您创建跟踪时,不记录数据事件。要记录 CloudTrail 数据事件,必须显式在跟踪中添加要为其收集活动的受支持资源或资源类型。有关更多信息,请参阅创建跟踪数据事件

记录数据事件将收取额外费用。有关 CloudTrail 定价,请参阅Amazon CloudTrail定价

什么是见解活动?

CloudTrail 见解事件捕获您Amazonaccount. 如果启用了见解事件,并且 CloudTrail 检测到异常活动,见解事件将记录到跟踪的目标 S3 存储桶中的另一个文件夹或前缀中。在 CloudTrail 控制台上查看见解事件时,还可以查看见解的类型和事件时间段。见解事件提供相关信息,例如关联的 API、事件时间和统计信息,以帮助您了解异常活动并对其采取措施。与 CloudTrail 跟踪中捕获的其他类型的事件不同,只有在 CloudTrail 检测到您账户的 API 使用情况的更改与账户的典型使用模式有显著差异时,才记录见解事件。可能生成见解事件的活动的示例包括:

  • 您的账户通常记录不超过 20 个 Amazon S3deleteBucket每分钟 API 调用,但是您的账户一开始就平均记录 100 次deleteBucket每分钟的 API 调用。在异常活动开始时记录一个见解事件,并记录另一个见解事件以标记异常活动的结束。

  • 您的账户通常每分钟记录 20 次对 Amazon EC2 的调用AuthorizeSecurityGroupIngressAPI,但是您的账户开始记录对AuthorizeSecurityGroupIngress。在异常活动开始时记录一个见解事件,10 分钟后,当异常活动结束时,将记录另一个见解事件以标记异常活动的结束。

这些示例仅用于说明用途。根据您的使用案例,您的结果可能会有所不同。

默认情况下,在您创建跟踪时,见解事件处于禁用状态。要记录 CloudTrail 见解事件,必须在新的或现有的跟踪上显式启用见解事件收集。有关更多信息,请参阅创建跟踪记录跟踪的见解事件

记录 CloudTrail 见解事件将收取额外费用。有关 CloudTrail 定价,请参阅Amazon CloudTrail定价

什么是 CloudTrail 事件历史记录?

CloudTrail 事件历史记录提供过去 90 天的 CloudTrail 事件的可查看、可搜索和可下载记录。您可以使用此历史记录了解您的 Amazon 账户在 Amazon Web Services Management Console、Amazon 开发工具包、命令行工具和其他 Amazon 服务中执行的操作。您可以通过选择要显示的列来在 CloudTrail 控制台中自定义事件历史记录的视图。有关更多信息,请参阅使用 CloudTrail 事件历史记录查看事件

什么是小径?

跟踪是一种配置,可用于将 CloudTrail 事件传送到 Amazon S3 存储桶、CloudWatch Logs 和 CloudWatch Events。您可以使用跟踪来筛选您希望传送的 CloudTrail 事件,并使用Amazon KMS密钥,并为日志文件传输设置 Amazon SNS 通知。有关如何创建和管理跟踪的更多信息,请参阅为您的创建跟踪Amazon账户

什么是组织跟踪?

组织跟踪是一种配置,可用于在管理账户中传送 CloudTrail 事件以及Amazon Organizations组织中添加到同一个 Amazon S3 存储桶、CloudWatch Logs 和云监控事件。创建组织跟踪可帮助您为组织定义统一的事件记录策略。

当您创建组织跟踪时,将在属于您的组织的每个 Amazon 账户中创建具有您所指定名称的跟踪。在成员账户中具有 CloudTrail 权限的用户在登录到Amazon CloudTrail控制台中的Amazon帐户,或者当他们运行Amazon CLI命令,例如describe-trails(尽管成员帐户必须使用 ARN 作为组织跟踪,而不是名称,但在使用Amazon CLI)。但是,成员账户中的用户将没有足够的权限删除组织跟踪、启用和关闭日志记录、更改要记录的事件类型,或以任何其他方式更改组织跟踪。有关 的更多信息Amazon Organizations,请参阅Organizations 术语和概念。有关创建和使用组织跟踪的更多信息,请参阅为组织创建跟踪

您如何管理 CloudTrail?

CloudTrail 控制台

您可 CloudTrail 过AmazonCloudTrail 控制台。此控制台提供了用于执行许多 CloudTrail 任务的用户界面,这些任务包括:

  • 查看您的 Amazon 账户的近期事件和事件历史记录。

  • 下载过去 90 天事件的已筛选或完整文件.

  • 创建和编辑 CloudTrail 跟踪.

  • 配置 CloudTrail 跟踪,包括:

    • 选择 Amazon S3 存储桶。

    • 设置前缀。

    • 配置对 CloudWatch Logs 的交付。

    • 使用 Amazon KMS 密钥加密。

    • 为日志文件传输启用 Amazon SNS 通知。

    • 为跟踪添加和管理标签。

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

有关 Amazon Web Services Management Console 的更多信息,请参阅 Amazon Web Services Management Console

CloudTrail CLI

这些区域有:Amazon Command Line Interface是一个可用于从命令行与 CloudTrail 交互的统一工具。有关更多信息,请参阅 Amazon Command Line Interface 用户指南。有关 CloudTrail CLI 命令的完整列表,请参阅可用命令

CloudTrail API

除了控制台和 CLI 之外,您还可以使用 CloudTrail RESTful API 来直接对进行编程。有关详细信息,请参阅 Amazon CloudTrail API 参考

Amazon 开发工具包

作为使用 CloudTrail API 的替代方案,您可以使用Amazon开发工具包。每个软件开发工具包均包含适用于各种编程语言和平台的库和示例代码。开发工具包提供便捷的方式来创建对 CloudTrail 的编程访问。例如,您可以使用开发工具包以加密方式对请求进行签名,管理错误并自动重试请求。有关更多信息,请参阅 。用于 Amazon Web Services 的工具页.

为什么使用标签跟踪?

标签是客户定义的密钥和可选值,可以分配给Amazon资源,例如 CloudTrail 跟踪、用于存储 CloudTrail 日志文件的 Amazon S3 存储桶、Amazon Organizations组织和组织单位, 以及其他许多. 通过将相同的标签添加到跟踪和您用于存储跟踪的日志文件的 Amazon S3 存储桶,您可以更轻松地通过Amazon Resource Groups。您可以实施标记策略以帮助您持续、高效且轻松地查找和管理您的资源。有关更多信息,请参阅 Amazon 标记策略

您如何控制对 CloudTrail 的访问?

Amazon Identity and Access Management是一项 Web 服务,可启用 Amazon Web Services (Amazon) 客户管理用户和用户权限。使用 IAM 为需要访问权的任何人创建单独的用户Amazon CloudTrail。为您自己创建一个 IAM 用户,赋予该 IAM 用户管理权限,并将该 IAM 用户用于您的所有工作。通过为访问您的账户的人员创建单独的 IAM 用户,您可以向每个 IAM 用户提供一组独特的安全证书。您还可向每个 IAM 用户授予不同的权限。如有必要,您可以随时更改或撤消 IAM 用户的权限。有关更多信息,请参阅控制的用 CloudTrail 权限

您如何记录管理和数据事件?

默认情况下,跟踪将记录 Amazon 账户的所有管理事件,但不包含数据事件。您可以选择创建或更新跟踪以记录数据事件。只有与您的跟踪设置匹配的事件才会传送到您的 Amazon S3 存储桶以及(可选)Amazon CloudWatch Logs 日志组。如果事件与跟踪设置不匹配,则跟踪不会记录事件。有关更多信息,请参阅使用 CloudTrail 日志文件

您如何记录 CloudTrail 见解事件?

AmazonCloudTrail 洞察可帮助您Amazon用户通过持续分析 CloudTrail 管理事件,识别和应对异常的 API 调用量。见解事件是异常级 write 管理 API 活动的记录。见解事件的详细信息页面将事件显示为异常活动的图表,并显示异常活动的开始和结束时间,以及用于确定活动是否异常的基准。默认情况下,跟踪不记录 CloudTrail 见解事件。在控制台中,您可以选择在创建或更新跟踪时记录见解事件。当您使用 CloudTrail API 时,您可以通过使用PutInsightSelectorsAPI。记录 CloudTrail 见解事件将收取额外费用。有关更多信息,请参阅记录跟踪的见解事件Amazon CloudTrail 定价

您如何使用 CloudTrail 执行监控?

CloudWatch Logs、CloudWatch 事件和 CloudTrail

Amazon CloudWatch 是一项 Web 服务,可收集并跟踪指标以监控您的 Amazon Web Services (Amazon) 资源以及您在上运行的应用程序Amazon。Amazon CloudWatch Logs 是 CloudWatch 的一项专门用来监控日志数据的功能。与 CloudWatch Logs 集成使 CloudTrail 能够在您的Amazon帐户添加到 CloudWatch Logs 日志组。发送到 CloudWatch Logs 的 CloudTrail 事件会根据您定义的指标筛选条件触发警报。(可选)您可以配置 CloudWatch 警报来发送通知或基于指标筛选条件提取的日志流事件来更改所监控的资源。通过使用 CloudWatch Logs,还可跟踪 CloudTrail 事件以及从操作系统、应用程序或其他Amazon服务中发送到 CloudWatch Logs 的服务。有关更多信息,请参阅使用 Amazon CloudTrail Logs 日志文件监控 Amazon CloudWatch Logs

Amazon CloudWatch EventsAmazon服务,可提供近乎实时的系统事件流,这些系统事件描述Amazon资源的费用。在 CloudWatch 事件中,您可以创建对 CloudTrail 记录的任何事件触发的规则。有关更多信息,请参阅 。创建对上触发的 CloudWatch 事件规则Amazon使用的 API 调用Amazon CloudTrail

洞察事件与 CloudWatch 集成。您可以将您在跟踪上订阅的事件(包括见解事件)传输到 CloudWatch 事件和 CloudWatch Logs。要使用 CloudWatch 控制台或 API 配置 CloudWatch 事件,请选择AWS Insight via CloudTrail上的事件类型创建规则页面中 CloudWatch 信息。

发送由 CloudTrail 记录到云监控日志或 CloudWatch 事件中的数据要求您至少有一个跟踪。有关如何创建和管理跟踪的更多信息,请参阅创建跟踪

CloudTrail 在区域和全球范围内的行为如何?

跟踪可适用于所有区域或单个区域。最佳实践是创建应用到Amazon分区其中你正在工作。当您在 CloudTrail 控制台中创建跟踪时,这是默认设置。

注意

启用跟踪表示您创建一条跟踪并开始将 CloudTrail 事件日志文件传送到 Amazon S3 存储桶。在 CloudTrail 控制台中,当您创建跟踪时会自动启用日志记录。

将跟踪应用到所有区域有哪些优势?

应用到所有 Amazon 区域的跟踪具有以下好处:

  • 跟踪的配置设置一致地应用到所有 Amazon 区域。

  • 您会收到来自所有Amazon单个 Amazon S3 存储桶中的区域(可选,在一个 CloudWatch Logs 组中)。

  • 从一个位置管理所有 Amazon 区域的跟踪配置。

  • 您将立即从新的 Amazon 区域接收事件。当一个新的Amazon区域启动后,CloudTrail 将在新区域中使用与原始跟踪相同的设置自动为您创建所有区域跟踪的副本。

  • 您不需要在不常用来监控异常活动的 Amazon 区域中创建跟踪。任何 Amazon 区域中的任何活动都会记录到应用于所有 Amazon 区域的跟踪中。

当您将跟踪应用到所有区域时,会发生什么情况?

当您将跟踪应用于所有Amazon区域中,CloudTrail 将根据您在特定区域创建的跟踪,在您账户中的所有其他区域中创建配置完全相同的跟踪。

这有以下影响:

  • CloudTrail 为客户活动提供日志文件Amazon您指定的单个 Amazon S3 存储桶 (或者,CloudWatch Logs 组) 中的区域。

  • 如果您为跟踪配置了 Amazon SNS 主题,则会在所有Amazon区域被发送到单个 SNS 主题。

  • 如果启用了该项,则将在所有 Amazon 区域为该跟踪启用日志文件完整性验证。有关信息,请参阅 验证 CloudTrail 日志文件完整性

每区域多个跟踪

如果您拥有不同但相关的用户组,例如开发人员、安全人员和 IT 审计人员,您可以为每个区域创建多个跟踪。这可使每个组均接收各自的日志文件副本。

CloudTrail 对每个区域最多支持五条跟踪。应用到所有 Amazon 区域的跟踪在每个区域都计一次跟踪计数。

以下示例是具有五条跟踪的区域:

  • 您在美国西部(加利福尼亚北部)区域中创建两条仅适用于此区域的跟踪。

  • 您在美国西部(加利福尼亚北部)区域创建另外两条适用于所有的跟踪Amazon区域。

  • 您在亚太地区(悉尼)区域创建一条适用于所有Amazon区域。此步道也在美国西部(加利福尼亚北部)区域中作为一条小径。

跟踪出现在各自所在的 Amazon 区域中。记录所有 Amazon 区域中的事件的跟踪出现在每个区域中。您可以在Amazon区域中的跟踪页面上 CloudTrail 息。有关更多信息,请参阅更新跟踪。有关 CloudTrail 定价,请参阅Amazon CloudTrail定价

Amazon Security Token Service(Amazon STS) 和 CloudTrail

Amazon STS 是一个具有全球性终端节点并且也支持区域特定终端节点的服务。终端节点是作为 Web 服务请求入口点的 URL。例如,https://cloudtrail.us-west-2.amazonaws.com是美国西部(俄勒冈)区域入口点Amazon CloudTrail服务。区域性终端节点可帮助减少应用程序中的延迟。

在使用 Amazon STS 特定于区域的终端节点时,该区域中的跟踪仅传输发生在该区域中的 Amazon STS 事件。例如,如果您使用终端节点 sts.us-west-2.amazonaws.com,则 us-west-2 中的跟踪仅传输源自 us-west-2 的 Amazon STS 事件。有关 的更多信息Amazon STS区域终端节点,请参阅激活和停用Amazon STS在Amazon区域中的IAM 用户指南

有关的完整列表Amazon区域终端节点,请参阅Amazon区域和终端节点中的Amazon一般参考。有关来自全局 Amazon STS 终端节点的事件的详细信息,请参阅关于全局服务事件

关于全局服务事件

对于大多数服务,事件被记录在发生操作的区域。对于全球服务,如Amazon Identity and Access Management(IAM),Amazon STS和 Amazon CloudFront,事件将传送到包含全球服务的任何跟踪。

对于大多数全球服务,事件记录为在中国(北京)区域发生,但一些全球服务事件记录为中国(宁夏)区域发生。

要避免接收重复的全球服务事件,请注意:

  • 默认情况下,全球服务事件传输到使用 CloudTrail 控制台创建的跟踪中。事件传输到跟踪的存储桶中。

  • 如果您有多个单区域跟踪,可考虑将跟踪配置为只在其中一个跟踪中传输全球服务事件。有关更多信息,请参阅启用和禁用记录全球服务事件

  • 如果将跟踪配置从记录所有区域改为只记录单个区域,则会自动为该跟踪关闭全球服务事件日志记录。同样,如果将跟踪配置从记录单个区域改为记录所有区域,则会自动为该跟踪打开全球服务事件日志记录。

    有关更改跟踪的全球服务事件日志记录的更多信息,请参阅 启用和禁用记录全球服务事件

例如:

  1. 您在 CloudTrail 控制台中创建一个跟踪。默认情况下,此跟踪将记录全球服务事件。

  2. 您有多个单区域跟踪。

  3. 您不需要为单区域跟踪包含全球服务。全球服务事件会提交给第一个跟踪。有关更多信息,请参阅创建、更新和管理跟踪Amazon Command Line Interface

注意

当您使用Amazon CLI、Amazon开发工具包或 CloudTrail API,您可以指定是包括还是排除跟踪的全球服务事件。您不能从 CloudTrail 控制台中配置全球性服务事件日志记录。

CloudTrail 与其他Amazon监控服务?

CloudTrail 将另一个维度添加到已由Amazon。这不会改变或替换您可能已在使用的日志记录功能,例如用于 Amazon S3 或 Amazon CloudFront 订阅的日志记录功能。Amazon CloudWatch 侧重于性能监控和系统运行状况。CloudTrail 专注于 API 活动。尽管 CloudTrail 不报告系统性能或运行状况,但您可以将 CloudTrail 与 CloudWatch 警报结合使用,从而获得您可能感兴趣的活动的通知。

合作伙伴方案

Amazon与日志记录和分析方面的第三方专家协作以提供利用 CloudTrail 输出的解决方案。有关更多信息,请访问上的 CloudTrail 详细信息页AmazonCloudTrail