AWS CloudTrail 常见问题
一般性问题
全部打开CloudTrail 通过跟踪用户活动和 API 使用,支持审计、安全监控和操作故障排除。CloudTrail 记录、持续监控和保留与您的 AWS 基础设施中操作相关的账户活动,让您能够控制存储、分析和修复操作。
CloudTrail 可以帮助您证明合规性、改善安保状况,并跨区域和账户整合活动记录。CloudTrail 可通过记录账户上执行的操作来让您深入了解用户活动。CloudTrail 可记录每个操作的重要信息,包括请求的发出方、使用的服务、执行的操作、操作的参数,以及 AWS 服务返回的响应元素。这些信息能够帮助您跟踪 AWS 资源的变更情况,帮助您解决操作性问题。CloudTrail 可使您更轻松地确保符合内部策略和监管标准。有关更多详细信息,请参阅 AWS 合规性白皮书 Security at Scale: Logging in AWS。
如果您需要审计活动、监控安全状况或对操作问题进行故障排查,请使用 CloudTrail。
开始使用
全部打开不需要。您无需进行任何操作即可查看账户活动。您可以访问 AWS CloudTrail 控制台或使用 AWS CLI 查看过去 90 天的账户活动。
AWS CloudTrail 将仅显示您正在查看的当前区域在过去 90 天的 CloudTrail 事件历史记录结果,并支持一系列 AWS 服务。这些事件仅限于创建、修改和删除 API 调用和账户活动的管理事件。要获取账户活动(包括所有管理事件、数据事件和只读活动)的完整记录,您必须配置 CloudTrail 跟踪。
您可以指定时间范围和以下任一属性:事件名称、用户名称、资源名称、事件源、事件 ID 和资源类型。
可以。您可以访问 CloudTrail 控制台或使用 CloudTrail API/CLI 查看过去 90 天的账户活动。
设置 CloudTrail 跟踪,将 CloudTrail 事件传送至 Amazon Simple Storage Service(Amazon S3)、Amazon CloudWatch Logs 和 Amazon CloudWatch Events。这有助于您使用多种功能来存档、分析和响应 AWS 资源中发生的更改。
可以。CloudTrail 与 AWS Identity and Access Management(IAM)相集成,帮助您控制对 CloudTrail 和 CloudTrail 所需的其他 AWS 资源的访问。这包括限制查看和搜索账户活动的权限。从用户 IAM 策略中删除“cloudtrail:LookupEvents”,以阻止 IAM 用户查看账户活动。
使用 CloudTrail 事件历史记录查看或搜索账户活动不会产生任何相关成本。
对于创建的任何 CloudTrail 跟踪,您可以停止记录或删除这些跟踪。这也将停止将账户活动传输到您指定为跟踪配置的一部分的 Amazon S3 存储桶,并停止传输 CloudWatch Logs(如果已配置)。过去 90 天的账户活动仍将收集并显示在 CloudTrail 控制台中,您可以通过 AWS 命令行界面(AWS CLI)进行查看。
通过将 CloudTrail 事件直接传输至 CloudWatch,您可以获得多项关键优势。首先,您可以直接从 CloudWatch 控制台集中管理整个组织的事件收集,无需配置单个跟踪,从而减少运营开销。其次,安全的服务关联通道(SLC)可以确保事件可靠传输至不可变日志组,同时支持事件信息丰富、安全校验等高级功能。第三,您可以利用 CloudWatch 强大的监控功能,包括实时日志收集和自动异常检测。最后,您可以轻松地将历史 CloudTrail Lake 数据导入 CloudWatch Logs,以分析过去的事件以及当前数据。该集成无需复杂的多追踪配置管理,同时能为您的 AWS 组织提供一致的安全可见性。
服务和区域支持
全部打开CloudTrail 可记录来自大多数 AWS 服务的账户活动和服务事件。有关支持的服务列表,请参阅 CloudTrail 用户指南中的 CloudTrail 支持的服务。
可以。CloudTrail 会记录从任何客户端进行的 API 调用。AWS 管理控制台、AWS 软件开发工具包、命令行工具和更高级别的 AWS 服务都会调用 AWS API 操作,因此上述调用均会予以记录。
具有区域端点的服务(如 Amazon Elastic Compute Cloud [Amazon EC2] 或 Amazon Relational Database Service [Amazon RDS])的活动信息将在执行操作的同一区域进行捕获和处理。然后会将其传送到与您的 S3 存储桶相关联的区域。具有单一端点的服务(如 IAM 和 AWS Security Token Service(AWS STS))的活动信息将在端点所在的区域进行捕获。然后会在配置 CloudTrail 跟踪的地区进行处理,并传送到与您的 S3 存储桶相关联的地区。
将一个跟踪应用到所有区域
全部打开将一个跟踪到所有 AWS 区域是指创建一个可记录存储您的数据的所有区域内 AWS 账户活动的跟踪。此设置还将应用于添加的所有新区域。有关区域和分区的更多详细信息,请参阅 Amazon 资源名称和 AWS 服务命名空间页面。
您只需调用一次 API 或进行几次选择,即可在分区内的所有区域创建和管理跟踪。您将在一个 S3 存储桶或 CloudWatch Logs 组中收到在您的 AWS 账户中跨所有区域进行的账户活动的记录。当 AWS 发布新区域时,您无需执行任何操作即可收到包含该新区域的事件历史记录的日志文件。
在 CloudTrail 控制台中,在跟踪配置页面选择“是”以将其应用到所有区域。如果您使用的是软件开发工具包或 AWS CLI,请将“IsMultiRegionTrail”设为“true”。
将一个跟踪应用到所有区域之后,CloudTrail 会通过复制相关跟踪配置创建一个新跟踪。CloudTrail 将记录并处理每个区域中的日志文件,并会将包含所有区域的账户活动的日志文件传送至一个 S3 存储桶和一个 CloudWatch Logs 日志组。如果您指定了一个可选 Amazon Simple Notification Service(Amazon SNS)主题,CloudTrail 会将针对所有已发送日志文件的 Amazon SNS 通知发送到一个 SNS 主题中。
可以。您可以将一个现有跟踪应用到所有区域。在您将一个现有跟踪应用到所有区域后,CloudTrail 会在所有区域为您创建一个新跟踪。如果您之前已在其他区域创建跟踪,则可通过 CloudTrail 控制台查看、编辑和删除这些跟踪。
通常情况下,将相关跟踪配置复制到所有区域只需不到 30 秒。
安全和过期
全部打开默认情况下,CloudTrail 会通过 S3 服务器端加密(SSE)对 CloudTrail 日志文件进行加密,并将其放在您的 S3 存储桶中。您可以通过应用 IAM 或 S3 存储桶策略,控制对日志文件的访问。您可以通过在 S3 存储桶上启用 S3 多重身份验证(MFA)删除来添加额外的安全层。有关创建和更新跟踪的更多详细信息,请参阅 CloudTrail 文档。
您可以对应用于 CloudTrail 日志文件的保留策略进行控制。默认情况下,您可以无限期存储这些日志文件。您可以使用 S3 对象生命周期管理规则来定义您自己的保留策略。例如,您可能希望删除旧日志文件或将这些文件存档至 Amazon Simple Storage Service Glacier(Amazon S3 Glacier)。
事件消息、时间性和传送频率
全部打开一个事件中包含相关活动的信息:请求的发出方、使用的服务、执行的操作、操作的参数,以及 AWS 服务返回的响应元素。有关更多详细信息,请参阅用户指南中的 CloudTrail 事件参考部分。
一般情况下,CloudTrail 会在 API 调用后 5 分钟内传送事件。有关 CloudTrail 工作原理的更多信息,请参阅此处。
CloudTrail 大约每隔五分钟会向您的 S3 存储桶传送日志文件。如果您的账户上没有进行 API 调用,则 CloudTrail 不会传送日志文件。
可以。您可以启用 Amazon SNS 通知,以便在送达新日志文件时立即采取行动。
尽管这种情况并不常见,但您可能会收到包含一个或多个重复事件的日志文件。重复的事件将具有相同的 eventID。有关 eventID 字段的更多信息,请参阅 CloudTrail 记录内容。
CloudTrail 会根据既有的 S3 存储桶策略来传送日志文件。如果存储桶策略配置错误,那么 CloudTrail 将无法传送日志文件。
CloudTrail 旨在支持向客户 S3 存储桶交付至少一次订阅事件。在某些情况下,CloudTrail 可能会多次发送同一事件。因此,客户可能会看到重复的事件。
数据事件
全部打开通过数据事件,您可以了解对资源本身或在资源内部执行的资源(数据面板)操作。数据事件通常是高频率活动,包括诸如 S3 对象级 API 操作和 AWS Lambda 函数调用 API 等操作。配置跟踪时,数据事件默认处于停用状态。若要记录 CloudTrail 数据事件,您必须明确添加您想对其收集活动的受支持的资源或资源类型。与管理事件不同,数据事件会产生额外的成本。有关更多信息,请参阅 CloudTrail 定价。
与管理事件类似,由 CloudTrail 记录的数据事件会被传送到 S3 中。启用后,也可以在 Amazon CloudWatch Events 中使用这些事件。
S3 数据事件表示对 S3 对象执行的 API 活动。若要让 CloudTrail 记录这些操作,请在创建新跟踪或修改现有跟踪时,在数据事件部分指定一个 S3 存储桶。对指定 S3 存储桶中的对象执行的任何 API 操作都会由 CloudTrail 记录下来。
Lambda 数据事件用于记录 Lambda 函数的运行时活动。使用 Lambda 数据事件,您可以获得有关 Lambda 函数运行时的详细信息。Lambda 函数运行时的示例包括哪个 IAM 用户或服务进行了 Invoke API 调用、调用的时间以及应用了哪个函数。所有的 Lambda 数据事件都提供给 S3 存储桶和 CloudWatch Events。您可以使用 CLI 或 CloudTrail 控制台为 Lambda 数据事件启用日志记录,并通过创建新的跟踪或编辑现有跟踪来选择记录哪些 Lambda 函数。
网络活动事件
全部打开网络活动事件记录使用 VPC 端点从私有 VPC 到 AWS 服务执行的 AWS API 操作,并且可以帮助您满足网络安全调查使用案例的要求。这包括成功通过 VPC 端点策略的 AWS API 调用和被拒绝访问的调用。 例如,作为 VPC 端点所有者,您可以查看因 VPC 端点策略而被拒绝的操作日志,或者确定是否有数据边界之外的行为者尝试访问您的 S3 存储桶中的数据。与传递给 API 调用者和资源所有者的管理和数据事件不同,网络活动事件仅传递给 VPC 端点的所有者。
要记录网络活动事件,您必须在配置跟踪或事件数据存储时明确启用它们,并选择要收集活动的 AWS 服务的事件源。您还可以添加其他筛选条件,例如按 VPC 端点 ID 进行筛选或仅记录“访问被拒绝”错误。网络活动事件会产生额外费用。有关更多信息,请参阅 CloudTrail 定价。
VPC 流日志可捕获有关进出 VPC 中网络接口的 IP 流量的信息。流日志数据可以发布到以下位置:Amazon CloudWatch Logs、Amazon S3 或 Amazon Data Firehose。VPC 端点的网络活动事件可捕获使用 VPC 端点从私有 VPC 到 AWS 服务执行的 AWS API 操作。这为您提供了有关谁在访问您的网络内资源的详细信息,让您能够更好地识别和响应数据边界内的意外操作。您可以查看由于 VPC 端点策略而被拒绝的操作的日志,或者使用这些事件来验证更新现有策略的影响。
CloudTrail Insights
全部打开CloudTrail Insights 事件可帮助您识别 AWS 账户中的异常活动,例如资源预置突增、AWS Identity and Access Management(IAM)操作突增或例行维护活动缺口等。CloudTrail Insights 使用机器学习(ML)模型持续监控 CloudTrail 写入管理事件,从而发现异常活动。
检测到异常活动时,CloudTrail Insights 事件将会在控制台中显示,并发送到 CloudWatch Events、您的 S3 存储桶,并且还可以发送到 CloudWatch Logs 组。这可以更方便您创建提示并与现有的事件管理和工作流系统集成。
CloudTrail Insights 会通过分析 AWS 账户和区域内的 CloudTrail 写入管理事件来检测异常活动。异常活动是指 AWS API 调用的数量偏离既定操作模式或基线的预期的情形。CloudTrail Insights 会考虑基于时间的 API 调用趋势并随着工作负载的变化执行自适应的基线,从而适应正常运行模式的变化。
CloudTrail Insights 可以帮助您检测行为有误的脚本或应用程序。有时,开发人员会对脚本或应用程序做出启动无限循环的更改,或者对数据库、数据存储或其他函数等非计划资源进行大量调用。经常,除非月末结账时成本意外增加或者发生实际的停机或中断,否则这种行为不会有人注意。CloudTrail Insights 事件可帮助您了解 AWS 账户中的这些变化,从而让您可以快速采取纠正措施。
CloudTrail Insights 可识别 AWS 账户中的异常操作活动,从而帮助您解决运营问题,减轻对运营和业务的影响。Amazon GuardDuty 关注提高账户的安全性,通过监控账户活动来提供威胁检测功能。Amazon Macie 旨在通过发现、分类和保护敏感数据,增强账户中的数据保护。这些服务针对账户中可能出现的不同类型的问题,提供了补充的保护功能。
可以。CloudTrail Insights 事件是针对单个跟踪配置的,因此您必须至少设置一个跟踪。当您为某个跟踪启用 CloudTrail Insights 事件后,CloudTrail 将会开始监控该跟踪捕获的写入管理事件,从而发现异常模式。如果 CloudTrail Insights 检测到异常活动,将会在跟踪定义中指定的传输目标位置记录一个 CloudTrail Insights 事件。
CloudTrail Insights 会跟踪写入管理 API 操作的异常活动。
您可以通过控制台、CLI 或软件开发工具包在账户中的具体跟踪上启用 CloudTrail Insights 事件。您还可以使用在您的 AWS Organizations 管理账户中配置的组织跟踪,为整个组织启用 CloudTrail Insights 事件。您可以通过选择跟踪定义中的雷达按钮,从而启用 CloudTrail Insights 事件。