使用 AWS CloudTrail 进行应用程序日志记录和监控 - AWS 规范性指导

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

使用 AWS CloudTrail 进行应用程序日志记录和监控

AWS CloudTrail 是一项 AWS 服务,可帮助您实现 AWS 账户 的运营和风险审计、治理和合规性。用户、角色或 AWS 服务 执行的操作将以事件的形式记录在 CloudTrail 中。事件可包括在 AWS Management Console、AWS Command Line Interface(AWS CLI)和 AWS SDK 及 API 中执行的操作。

使用 CloudTrail

CloudTrail 是在您创建 AWS 账户 时启用的。当您的 AWS 账户 中发生活动时,该活动将记录在 CloudTrail 事件中。您可以通过转到事件历史记录轻松查看 CloudTrail 控制台中的近期事件。

要持续记录 AWS 账户 中的活动和事件,您可以创建跟踪。您可以为单个 AWS 区域 或所有区域创建跟踪。跟踪将记录每个区域中的日志文件,CloudTrail 可以将日志文件传送到单个整合的 Amazon Simple Storage Service(Amazon S3)存储桶。

您可以对多个跟踪进行不同的配置,以便这些跟踪仅处理和记录您指定的事件。当您想要对 AWS 账户 中发生的事件与应用程序中发生的事件进行分类时,这会很有用。

注意

CloudTrail 具有验证功能,您可以使用该功能来确定日志文件在 CloudTrail 交付后是否被修改、删除或未更改。该功能是使用业界标准算法构建的:哈希采用 SHA-256,数字签名采用带 RSA 的 SHA-256。这样,要修改、删除或伪造 CloudTrail 日志文件而不被检测到在计算上是不可行的。您可以使用 AWS CLI 在 CloudTrail 交付文件的位置验证这些文件。有关此功能以及启用方法的更多信息,请参阅验证 CloudTrail 日志文件完整性(CloudTrail 文档)。

CloudTrail 的用例

  • 合规援助 - 使用 CloudTrail 提供 AWS 账户 中的事件历史记录,以帮助您遵守内部政策和监管标准。

  • 安全分析 - 您可以将 CloudTrail 日志文件摄取到日志管理和分析解决方案(如 CloudWatch Logs、Amazon EventBridge、Amazon Athena、Amazon OpenSearch Service 或其他第三方解决方案),来执行安全分析和检测用户行为模式。

  • 数据泄露 - 您可以通过 CloudTrail 中记录的对象级 API 事件收集有关 Amazon S3 对象的活动数据,来检测数据泄露情况。收集活动数据后,您可以使用 EventBridge 和 AWS Lambda 等其他 AWS 服务 触发自动响应。

  • 操作问题排查 - 您可以使用 CloudTrail 日志文件排查操作问题。例如,您可以快速识别最近对环境中的资源所做的更改,包括 AWS 资源的创建、修改和删除。

CloudTrail 最佳实践

  • 在所有 AWS 区域 中启用 CloudTrail。

  • 启用日志文件完整性验证。

  • 加密日志。

  • 将 CloudTrail 日志文件摄取到 CloudWatch Logs。

  • 集中管理来自所有 AWS 账户 和区域的日志。

  • 将生命周期策略应用于包含日志文件的 S3 存储桶。

  • 阻止用户关闭 CloudTrail 中的日志记录。在 AWS Organizations 中应用以下服务控制策略(SCP)。此 SCP 为整个组织中的 StopLoggingDeleteTrail 操作设置了显式拒绝规则。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudtrail:StopLogging", "cloudtrail:DeleteTrail" ], "Resource": "*", "Effect": "Deny" } ] }