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

问:CloudTrail 有哪些优势?
CloudTrail 可通过记录账户上执行的操作来提供用户活动的可见性。CloudTrail 可记录每个操作的重要信息,包括请求的发出方、使用的服务、执行的操作、操作的参数,以及 AWS 服务返回的响应元素。这些信息能够帮助您追踪 AWS 资源的变更情况,帮助您排查操作问题。CloudTrail 便于您确保与内部策略和监管标准的合规性。有关更多详细信息,请参阅 AWS 合规性白皮书“Security at scale: Logging in AWS”。

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


问:如果我是 AWS 新客户或 AWS 现有客户,且没有设置 CloudTrail,我是否需要启用或设置某些选项才能查看我的账户活动?
不需要。您无需进行任何操作即可查看账户活动。您可以访问 AWS CloudTrail 控制台或使用 AWS CLI 查看过去 7 天的账户活动。

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

问:我可以使用哪些搜索筛选条件来查看账户活动?
您可以指定时间范围和以下任一属性:事件名称、用户名称、资源名称、事件源、事件 ID 和资源类型。

问:如果没有配置跟踪,我是否可以使用查找事件 CLI 命令?
可疑。您可以访问 CloudTrail 控制台或使用 CloudTrail API/CLI 查看过去 7 天的账户活动。

问:通过设置 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 传送 (如经过配置)。过去 7 天的账户活动仍将存储并显示在 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 控制台中,在跟踪配置页面选择“yes”以将其应用到所有区域。如果您使用的是 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 Event Reference 部分。

问:CloudTrail 传送一个 API 调用事件需要多长时间?
一般情况下,CloudTrail 会在 API 调用后 15 分钟内传送事件。

问:CloudTrail 每隔多久会向我的 Amazon S3 存储桶传送一次日志文件?
CloudTrail 大约每隔 5 分钟会向您的 S3 存储段传送日志文件。如果您的账户上没有进行 API 调用,则 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 函数。


问:我有多个 AWS 账户。但我希望所有账户的日志文件传送到单个 S3 存储段中。这能实现吗?
能。您可以配置一个 S3 存储段作为多个账户的目标存储段。有关详细说明,请参阅《AWS CloudTrail 用户指南》中的将日志文件聚合到单个 Amazon S3 存储桶中一节。


问:什么是 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 定价页面。


问:使用 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 传送到特定的 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 处理库是一个 Java 库,可以帮助您轻松构建读取和处理 CloudTrail 日志文件的应用程序。您可以从 GitHub 下载 CloudTrail 处理库。

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

问:要开始使用 CloudTrail 处理库,我需要什么软件?
您需要 aws-java-sdk 版本 1.9.3 和 Java 1.7 或更高版本。


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

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

问:如果我只有一个跟踪包含管理事件并应用于所有地区,我是否需要付费?
否,管理事件的第一个副本在每个区域中都是免费提供的。

问:如果对包含免费管理事件的现有跟踪启用数据事件,我是否需要付费?
可以。您仅需为数据事件付费。管理事件的第一个副本是免费提供的。


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


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