一般性问题

问:什么是 AWS CloudTrail?

AWS CloudTrail 是一种 Web 服务,可记录在您账户上进行的活动,并将日志文件传送至您的 Amazon S3 存储桶。

问:CloudTrail 有哪些优势?

CloudTrail 可通过记录账户上执行的操作来让您深入了解用户活动。CloudTrail 可记录每个操作的重要信息,包括请求的发出方、使用的服务、执行的操作、操作的参数,以及 AWS 服务返回的响应元素。这些信息能够帮助您跟踪 AWS 资源的变更情况,帮助您解决操作性问题。CloudTrail 可使您更轻松地确保符合内部策略和监管标准。有关更多详细信息,请参阅 AWS 合规性白皮书“Security at scale: Logging in AWS”。

问:哪些人应该使用 CloudTrail?

具有以下需求的客户应该使用 CloudTrail:需要跟踪资源变更情况、回答有关用户活动的简单问题、证明合规性、进行故障排除或执行安全分析。

入门

问:如果我是 AWS 的新客户或现有客户,且没有设置 CloudTrail,我是否需要启用或设置某些选项才能查看我的账户活动?

不需要。您无需进行任何操作即可查看账户活动。您可以访问 AWS CloudTrail 控制台或使用 AWS CLI 查看过去 90 天的账户活动。

问:CloudTrail 事件历史记录是否展示了账户内的所有账户活动?

AWS CloudTrail 将仅显示您正在查看的当前区域在过去 90 天的 CloudTrail 事件历史记录结果,您可以在此处查看支持的 AWS 服务。这些事件仅限于管理事件(含创建、修改和删除 API 调用)和账户活动。要获取账户活动(包括所有管理事件、数据事件和只读活动)的完整记录,您需要配置 CloudTrail 跟踪。

问:我可以使用哪些搜索筛选条件来查看账户活动?

您可以指定时间范围和以下任一属性:事件名称、用户名称、资源名称、事件源、事件 ID 和资源类型。

问:如果没有配置跟踪,我是否可以使用 lookup-events CLI 命令?

可以。您可以访问 CloudTrail 控制台或使用 CloudTrail API/CLI 查看过去 90 天的账户活动。

问:通过设置 CloudTrail 并创建跟踪,我可以获得哪些额外的 CloudTrail 功能?

通过设置 CloudTrail 跟踪,您可以将 CloudTrail 事件传送至 Amazon S3、Amazon CloudWatch Logs 和 Amazon CloudWatch Events。这让您能够利用多种功能来帮助存档、分析和响应 AWS 资源中发生的更改。

问:我是否可以限制账户中用户的访问权限,阻止其查看 CloudTrail 事件历史记录?

可以。CloudTrail 与 AWS Identity and Access Management (IAM) 相集成,让您可以控制对 CloudTrail 和 CloudTrail 所需的其他 AWS 资源的访问,包括限制查看和搜索账户活动的权限。为此,您可以从用户 IAM 策略中删除“cloudtrail:LookupEvents”,然后系统将阻止 IAM 用户查看账户活动。

问:在账户创建时启用 CloudTrail 事件历史记录是否会产生相关成本?

使用 CloudTrail 事件历史记录查看或搜索账户活动不会产生任何相关成本。

问:是否可以关闭账户的 CloudTrail 事件历史记录功能?

对于您已创建的任何 CloudTrail 跟踪,您都可以停止日志记录或删除跟踪,该操作将同时停止向 S3 存储桶(您指定为跟踪配置的一部分)传送账户活动,也将停止向 CloudWatch Logs 传送(如经过配置)。过去 90 天的账户活动仍将收集并显示在 CloudTrail 控制台中,您可以通过 AWS CLI 进行查看。

服务和区域支持

问:CloudTrail 支持哪些服务?

AWS CloudTrail 可记录来自大多数 AWS 服务的账户活动和服务事件。有关支持的服务列表,请参阅 CloudTrail 用户指南中的 CloudTrail 支持的服务

问:是否能够记录从 AWS 管理控制台进行的 API 调用?

可以。CloudTrail 会记录从任何客户端进行的 API 调用。AWS 管理控制台、AWS 软件开发工具包、命令行工具和更高级别的 AWS 服务都会调用 AWS API,因此上述调用均会予以记录。

问:日志文件在被传送到我的 Amazon S3 存储桶之前,会在哪里进行存储和处理?

带有区域终端节点(EC2、RDS 等)的服务的活动信息将在执行操作的同一区域进行捕获和处理,并将传送到与您的 Amazon S3 存储桶相关联的区域。带有单个终端节点(IAM、STS 等)的服务的操作信息将在终端节点所在的区域进行捕获、在配置 CloudTrail 跟踪的区域进行处理,并传送到与您的 Amazon S3 存储桶相关联的区域。

将一个跟踪应用到所有区域

问:将一个跟踪应用到所有区域是什么意思?

将一个跟踪应用到所有区域是指创建一个可记录所有区域内 AWS 账户活动的跟踪。此设置还将应用于添加的所有新区域。有关区域和分区的更多详细信息,请参阅 Amazon 资源名称和 AWS 服务命名空间页面

问:将一个跟踪应用到所有区域有什么好处?

您只需调用一次 API 或单击几次鼠标,即可在分区内的所有区域创建和管理跟踪。您将在一个 S3 存储桶或 CloudWatch Logs 日志组中收到在您的 AWS 账户中跨所有区域进行的账户活动的记录。当 AWS 发布新区域时,您无需执行任何操作即可收到包含该新区域的事件历史记录的日志文件。

问:如何将一个跟踪应用到所有区域?

在 CloudTrail 控制台中,在跟踪配置页面选择“是”以将其应用到所有区域。如果您使用的是 SDK 或 AWS CLI,请将“IsMultiRegionTrail”设为“true”。

问:将一个跟踪应用到所有区域后会出现什么情况?

将一个跟踪应用到所有区域之后,CloudTrail 会通过复制相关跟踪配置在所有区域创建一个新跟踪。CloudTrail 将记录并处理每个区域中的日志文件,并会将包含所有 AWS 区域的账户活动的日志文件传送至一个 S3 存储桶和一个 CloudWatch Logs 日志组。如果您指定了一个可选 SNS 主题,CloudTrail 会将针对所有已发送日志文件的 SNS 通知发送到一个 SNS 主题中。

问:是否可以将一个现有跟踪应用到所有区域?

可以。您可以将一个现有跟踪应用到所有区域。在您将一个现有跟踪应用到所有区域后,CloudTrail 会在所有区域为您创建一个新跟踪。如果您之前已在其他区域创建跟踪,则可通过 CloudTrail 控制台查看、编辑和删除这些跟踪。

问:CloudTrail 将相关跟踪配置复制到所有区域需要多长时间?

通常情况下,将相关跟踪配置复制到所有区域只需不到 30 秒。

多个跟踪

问:在一个 AWS 区域中可以创建多少个跟踪?

在一个 AWS 区域中,您最多可以创建五个跟踪。应用到所有区域的跟踪会出现在每个区域中,并算作每个区域的一个跟踪。

问:在一个 AWS 区域中创建多个跟踪有什么好处?

有了多个跟踪,安全管理员、软件开发人员和 IT 审计人员等不同利益相关者就可以创建并管理他们自己的跟踪。例如,安全管理员可以创建一个应用到所有区域的跟踪,并使用一个 KMS 密钥来配置加密。开发人员可以创建一个应用到一个区域的跟踪,以便排查操作问题。

问:CloudTrail 是否支持资源级权限?

可以。使用资源级权限,您可以编写精细访问控制策略,以允许或拒绝特定用户访问特定跟踪。有关更多详细信息,请访问 CloudTrail 文档

安全和过期

问:如何保护 CloudTrail 日志文件的安全?

默认情况下,CloudTrail 会通过 S3 服务器端加密 (SSE) 对 CloudTrail 日志文件进行加密,并将其放在您的 S3 存储桶中。您可以通过应用 IAM 或 S3 存储桶策略,控制对日志文件的访问。您可以通过在 S3 存储桶上启用 S3 Multi Factor Authentication (MFA) Delete 来添加额外的安全层。有关创建和更新跟踪的更多详细信息,请参阅 CloudTrail 文档

问:在何处下载 S3 存储桶策略和 SNS 主题策略的示例?

您可以从 CloudTrail S3 存储桶下载 S3 存储桶策略SNS 主题策略的示例。在将示例策略应用于您的 S3 存储桶或 SNS 主题之前,请先根据您的信息更新示例策略。

问:活动日志文件可以存储多长时间?

您可以对应用于 CloudTrail 日志文件的保留策略进行控制。默认情况下,您可以无限期存储这些日志文件。您可以使用 Amazon S3 对象生命周期管理规则来定义您自己的保留策略。例如,您可能希望删除旧日志文件或将这些文件存档至 Amazon Glacier。

事件负载、时间性和传送频率

问:一个事件中包含哪些信息?

一个事件中包含相关活动的信息:请求的发出方、使用的服务、执行的操作、操作的参数,以及 AWS 服务返回的响应元素。有关更多详细信息,请参阅用户指南中的 CloudTrail 事件参考部分。

问:CloudTrail 传送一个 API 调用事件需要多长时间?

一般情况下,CloudTrail 会在 API 调用后 15 分钟内传送事件。

问:CloudTrail 每隔多久会向我的 Amazon S3 存储桶传送一次日志文件?

CloudTrail 大约每隔 5 分钟会向您的 S3 存储桶传送日志文件。如果您的账户上没有进行 API 调用,则 CloudTrail 不会传送日志文件。

问:在 CloudTrail 向我的 Amazon S3 存储桶传送新的日志文件时,是否会向我发送通知?

会。您可以启用 Amazon SNS 通知,以便在送达新日志文件时立即采取行动。

问:如果我的账户已启用 CloudTrail,但我的 Amazon S3 存储桶未配置正确的策略,会怎样?

CloudTrail 会根据既有的 S3 存储桶策略来传送日志文件。如果存储桶策略配置错误,那么 CloudTrail 将无法传送日志文件。

数据事件

问:什么是数据事件?

通过数据事件,您可以了解对资源本身或在资源内部执行的资源(“数据平面”)操作。数据事件通常是高频率活动,包括诸如 Amazon S3 对象级 API 和 Lambda 函数调用 API 等操作。配置跟踪时,数据事件默认处于禁用状态。若要记录 CloudTrail 数据事件,您必须明确添加您想对其收集活动的受支持的资源或资源类型。与管理事件不同,数据事件会产生额外的成本。有关更多信息,请参阅 CloudTrail 定价

问:如何使用数据事件?

与管理事件类似,由 AWS CloudTrail 记录的数据事件将提供给 S3。启用后,也可以在 Amazon CloudWatch Events 中使用这些事件。

问:什么是 Amazon S3 数据事件? 如何记录?

Amazon S3 数据事件表示 Amazon S3 对象中的 API 活动。若要让 CloudTrail 记录这些操作,请在创建新跟踪或修改现有跟踪时,在数据事件部分指定一个 S3 存储桶。对指定 S3 存储桶中的对象执行的任何 API 操作都会由 CloudTrail 记录下来。

问:什么是 AWS Lambda 数据事件? 如何记录?

AWS Lambda 数据事件用于记录 Lambda 函数的执行活动。通过 Lambda 数据事件,您可以获取有关 Lambda 函数执行的详细信息,例如,调用 Invoke API 的 IAM 用户或服务、调用时间以及执行的函数。所有的 Lambda 数据事件都提供给 Amazon S3 存储桶和 Amazon CloudWatch Events。您可以使用 AWS CLI 或 AWS CloudTrail 控制台为 AWS Lambda 数据事件启用日志记录,并通过创建新的跟踪或编辑现有跟踪来选择记录哪些 Lambda 函数。

CloudTrail Insights

问:什么是 CloudTrail Insights 事件?

AWS CloudTrail Insights 事件可帮助客户识别其 AWS 账户中的异常活动,例如资源预置突增、AWS Identity and Access Management (IAM) 操作突增或例行维护活动缺口等。CloudTrail Insights 使用机器学习模型持续监控 CloudTrail 写入管理事件,从而发现异常活动。

检测到异常活动时,CloudTrail Insights 事件将会在控制台中显示,并发送到 Amazon CloudWatch Events、您的 Amazon S3 存储桶,并且还可以发送到 Amazon CloudWatch Logs 组,从而方便您创建提醒并与现有的事件管理和工作流系统集成。

问:AWS CloudTrail Insights 可帮助识别哪些类型的活动?

CloudTrail Insights 会通过分析 AWS 账户和区域内的 CloudTrail 写入管理事件来检测异常活动。异常活动是指 AWS API 调用的数量偏离既定操作模式或基线的预期的情形。CloudTrail Insights 会考虑基于时间的 API 调用趋势并随着工作负载的变化执行自适应的基线,从而适应正常运行模式的变化。

CloudTrail Insights 可以帮助您检测行为有误的脚本或应用程序。开发人员对脚本或应用程序做出启动无限循环的更改,或者对数据库、数据存储或其他函数等非计划资源的大量调用的例子并非罕见。经常,除非月末结账时成本意外增加或者发生实际的停机或中断,否则这种行为不会有人注意。CloudTrail Insights 事件可帮助您了解 AWS 账户中的这些变化,从而让您可以快速采取纠正措施。

问:CloudTrail Insights 如何与使用异常检测功能的其他 AWS 服务配合使用?

CloudTrail Insights 可帮助您识别 AWS 账户中的异常操作活动,从而让您可以解决运营问题,减轻对运营和业务的影响。Amazon GuardDuty 关注提高账户的安全性,通过监控账户活动来提供威胁检测功能。Amazon Macie 旨在通过发现、分类和保护敏感数据,增强账户中的数据保护。这些服务针对账户中可能出现的不同类型的问题,提供了补充的保护功能。

问:我是否需要设置 AWS CloudTrail 才能使用 CloudTrail Insights?

是的。CloudTrail Insights 事件是针对单个跟踪配置的,因此您必须至少设置一个跟踪。当您为某个跟踪启用 CloudTrail Insights 事件后,CloudTrail 将会开始监控该跟踪捕获的写入管理事件,从而发现异常模式。如果 CloudTrail Insights 检测到异常活动,将会在跟踪定义中指定的传输目标位置记录一个 CloudTrail Insights 事件。

问:CloudTrail Insights 会监控哪些种类的事件?

在本次发布时,CloudTrail Insights 会跟踪写入管理 API 的异常活动。

问:如何开始使用?

您可以通过控制台、CLI 或开发工具包在账户中的具体跟踪上启用 CloudTrail Insights 事件。您还可以使用在您的 AWS Organizations 主账户中配置的组织跟踪,为整个组织启用 CloudTrail Insights 事件。您可以通过选择跟踪定义中的雷达按钮,从而启用 CloudTrail Insights 事件。

日志文件合并

问:我有多个 AWS 账户。但我希望所有账户的日志文件传送到单个 S3 存储桶中。这能实现吗?

能。您可以配置一个 S3 存储桶作为多个账户的目标存储桶。有关详细说明,请参阅《AWS CloudTrail 用户指南》中的将日志文件聚合到单个 Amazon S3 存储桶中一节。

与 CloudWatch Logs 集成

问:什么是 CloudTrail 与 CloudWatch Logs 的集成?

CloudTrail 与 CloudWatch Logs 集成,让您可以将 CloudTrail 捕获的管理事件和数据事件传送到您指定的 CloudWatch Logs 日志组中的 CloudWatch Logs 日志流。

问:CloudTrail 与 CloudWatch Logs 集成有哪些优势?

通过这一集成,您可以接收 CloudTrail 所捕获的账户活动的 SNS 通知。例如,您可以创建 CloudWatch 警报以监控创建、修改和删除安全组及网络 ACL 的 API 调用。

问:如何启用 CloudTrail 与 CloudWatch Logs 的集成?

您可以通过指定 CloudWatch Logs 日志组和 IAM 角色从 CloudTrail 控制台启用 CloudTrail 与 CloudWatch Logs 的集成。您还可以使用 AWS 开发工具包或 AWS CLI 来启用此集成。

问:启用 CloudTrail 与 CloudWatch Logs 的集成后会出现什么情况?

启用该集成后,CloudTrail 会持续向您指定的 CloudWatch Logs 日志组中的 CloudWatch Logs 日志流传送账户活动。CloudTrail 还会像以前一样继续向您的 Amazon S3 存储桶传送日志。

问:哪些 AWS 区域支持 CloudTrail 与 CloudWatch Logs 的集成?

支持 CloudWatch Logs 的区域均支持该集成。有关更多信息,请参阅 Amazon Web Services 一般参考中的区域和终端节点

问:CloudTrail 如何将包含账户活动的事件传送至 CloudWatch Logs?

为了将账户活动传送至 CloudWatch Logs,CloudTrail 会承担您指定的 IAM 角色。您可以对 IAM 角色加以限制,使其仅具有其所需要的将事件传送至您的 CloudWatch Logs 日志流的权限。要查看 IAM 角色策略,请前往 CloudTrail 文档的用户指南

问:当我开始将 CloudTrail 与 CloudWatch Logs 集成后,要如何付费?

当您启用 CloudTrail 与 CloudWatch Logs 的集成之后,您要支付 CloudWatch Logs 和 CloudWatch 的标准费用。有关详细信息,请前往 CloudWatch 定价页面。

用 AWS Key Management Service (KMS) 加密 CloudTrail 日志文件

问:使用 KMS 的服务器端加密对 CloudTrail 日志文件进行加密有哪些好处?

使用 SSE-KMS 进行 CloudTrail 日志文件加密可通过 KMS 密钥加密日志文件,从而为交付到 Amazon S3 存储桶的 CloudTrail 日志文件添加一个额外的安全层。默认情况下,CloudTrail 会使用 Amazon S3 服务器端加密加密交付到 Amazon S3 存储桶的日志文件。

问:我有一个提取并处理 CloudTrail 日志文件的应用程序。我需要对该应用程序进行任何更改吗?

借助 SSE-KMS,Amazon S3 会自动加密日志文件,因此,您无需对自己的应用程序进行任何更改。与往常一样,您需要确保应用程序拥有相应的权限,即:Amazon S3 GetObject 和 KMS Decrypt 权限。

问:如何配置 CloudTrail 日志文件加密?

您可以使用 AWS 管理控制台、AWS CLI 或 AWS 开发工具包配置日志文件加密。有关详细说明,请参阅文档

问:配置使用 SSE-KMS 的加密会产生哪些费用?

配置使用 SSE-KMS 的加密后,您需要支付标准的 AWS KMS 费用。有关详细信息,请前往 AWS KMS 定价页面。

CloudTrail 日志文件完整性验证

问:什么是 CloudTrail 日志文件完整性验证?

借助 CloudTrail 日志文件完整性验证功能,您可以确定 CloudTrail 日志文件在被 CloudTrail 传送到特定的 Amazon S3 存储桶后是否发生过更改、删除或修改。

问:使用 CloudTrail 日志文件完整性验证有哪些好处?

您可以将日志文件完整性验证用作 IT 安全和审核流程中的一个辅助手段。

问:如何启用 CloudTrail 日志文件完整性验证?

您可以通过 AWS 管理控制台、AWS CLI 或 AWS 开发工具包启用 CloudTrail 日志文件完整性验证功能。

问:打开日志文件完整性验证功能后会怎样?

打开日志文件完整性验证功能后,CloudTrail 会每小时交付一次摘要文件。这些摘要文件包含以下信息:交付到 Amazon S3 存储桶的日志文件、这些日志文件的哈希值、之前摘要文件的数字签名、Amazon S3 元数据部分中当前摘要文件的数字签名。有关摘要文件、数字签名和哈希值的更多信息,请参阅 CloudTrail 文档

问:摘要文件会传送到什么位置?

摘要文件交付到日志文件交付到的 Amazon S3 存储桶。但是,它们会交付到不同的文件夹,以便您实施精细的访问控制策略。有关详细信息,请参阅 CloudTrail 文档的摘要文件结构部分。

问:如何验证 CloudTrail 传送的日志文件或摘要文件的完整性?

您可以使用 AWS CLI 验证日志文件或摘要文件的完整性。您也可以构建自己的工具来进行验证。有关使用 AWS CLI 验证日志文件完整性的更多信息,请参阅 CloudTrail 文档

问:我将所有区域和多个账户的所有日志文件集中到了一个 Amazon S3 存储桶中。摘要文件是否也会传送到该 Amazon S3 存储桶中?

能。CloudTrail 会将所有区域和多个账户的摘要文件传送到该 Amazon S3 存储桶。

AWS CloudTrail 处理库

问:什么是 AWS CloudTrail 处理库?

AWS CloudTrail 处理库是一个 Java 库,可以帮助您轻松构建读取和处理 CloudTrail 日志文件的应用程序。您可以从 GitHub 下载 CloudTrail 处理库。

问:CloudTrail 处理库可提供哪些功能?

CloudTrail 处理库可提供处理以下任务的功能,如不断轮询 SQS 队列、读取和解析 SQS 消息、下载 S3 中存储的日志文件、以容错方式解析和序列化日志文件中的事件。有关更多信息,请前往 CloudTrail 文档的用户指南部分

问:要开始使用 CloudTrail 处理库,我需要什么软件?

您需要 aws-java-sdk 版本 1.9.3 和 Java 1.7 或更高版本。

定价

问:AWS CloudTrail 如何收费?

借助 AWS CloudTrail,您可以免费查看和下载过去 90 天的账户活动来创建、修改和删除支持的服务执行的操作。

AWS CloudTrail 不会针对创建 CloudTrail 跟踪收取任何费用,并且每个区域内第一个管理事件副本将免费发送给您的跟踪中指定的 S3 存储桶。在设置 CloudTrail 跟踪之后,Amazon S3 会根据您的使用情况收费。根据已发布的定价计划,您需要为该区域记录的任何数据事件或额外的管理事件副本付费。例如,如果您在同一区域内创建多区域跟踪和单区域跟踪,则您将为该区域记录的管理事件副本付费。

问:如果我只有一个跟踪包含管理事件并应用于所有区域,我是否需要付费?

不需要。管理事件的第一个副本在每个区域中都是免费提供的。

问:如果对包含免费管理事件的现有跟踪启用数据事件,我是否需要付费?

需要。您仅需为数据事件付费。管理事件的第一个副本是免费提供的。

合作伙伴

问:AWS 合作伙伴解决方案如何帮助我分析 CloudTrail 记录的事件?

有多个合作伙伴提供了集成解决方案,用于分析 CloudTrail 日志文件。这些解决方案包括变更追踪、故障排查和安全分析等功能。有关更多信息,请参阅 CloudTrail 合作伙伴部分。

其他

问:启用 CloudTrail 是否会影响 AWS 资源的性能,或增加 API 调用的延迟?

不会。启用 CloudTrail 既不会影响 AWS 资源的性能,也不会增加 API 调用的延时。

了解有关 AWS CloudTrail 合作伙伴的更多信息

访问合作伙伴页面
是否已做好构建准备?
开始使用 AWS CloudTrail
还有更多问题?
联系我们