什么是 AWS CloudTrail?
AWS CloudTrail 是一项 AWS 服务,可帮助您实现 AWS 账户 的运营和风险审计、治理和合规性。用户、角色或 AWS 服务执行的操作将记录为 CloudTrail 中的事件。事件包括在 AWS Management Console、AWS Command Line Interface 和 AWS 开发工具包和 API 中执行的操作。
在您创建 AWS 账户 时,将在该账户上激活 CloudTrail。当您的 AWS 账户 中发生活动时,该活动将记录在 CloudTrail 事件中。
CloudTrail 提供了三种记录事件的方法:
-
事件历史记录 – 事件历史记录提供对 AWS 区域 中过去 90 天发生的管理事件的可查看、可搜索、可下载和不可变记录。您可以依单个属性筛选事件,从而搜索事件。创建账户时,您自动获得对事件历史记录的访问权限。有关更多信息,请参阅 使用 CloudTrail 事件历史记录。
查看事件历史记录不会收取 CloudTrail 费用。
-
CloudTrail Lake – AWS CloudTrail Lake 是一个托管数据湖,用于捕获、存储、访问和分析 AWS 上的用户和 API 活动,用于审计和安全目的。CloudTrail Lake 可将基于行的 JSON 格式的现有事件转换为 Apache ORC
格式。ORC 是一种针对快速检索数据进行优化的列式存储格式。事件被聚合到事件数据存储,是基于您通过应用高级事件选择器选择的条件的不可变的事件集合。如果您选择一年可延期保留定价选项,则可以将事件数据在事件数据存储中最多保留 3653 天(大约 10 年);如果您选择七年保留定价选项,则最多可以保留 2557 天(大约 7 年)。您可以使用 AWS Organizations 为单个 AWS 账户 或多个 AWS 账户 事件创建事件数据存储。您可以将任何现有 CloudTrail 日志从 S3 存储桶导入现有或新的事件数据存储中。您还可以使用 Lake 控制面板可视化 CloudTrail 的主要事件趋势。有关更多信息,请参阅 使用 AWS CloudTrail Lake。 CloudTrail Lake 事件数据存储和查询会产生费用。创建事件数据存储时,您可以选择要用于事件数据存储的定价选项。定价选项决定了摄取和存储事件的成本,以及事件数据存储的默认和最长保留期。在 Lake 中运行查询时,您需要按扫描的数据量付费。有关 CloudTrail 定价的信息,请参阅 AWS CloudTrail 定价
和管理 CloudTrail Lake 成本。 -
跟踪 – 跟踪捕获 AWS 活动记录,将这些事件传输并存储在 Amazon S3 存储桶中,并可选择传输至 CloudWatch Logs 和 Amazon EventBridge。您可以将这些事件输入到您的安全监控解决方案中。您也可以使用自己的第三方解决方案或 Amazon Athena 等解决方案来搜索和分析您的 CloudTrail 日志。您可以使用 AWS Organizations 为单个 AWS 账户 或多个 AWS 账户 事件创建跟踪。您可以记录 Insights 事件以分析您的管理事件,以查看 API 调用量和错误率中的异常行为。有关更多信息,请参阅 为您的 AWS 账户 创建跟踪。
通过创建跟踪,您可以从 CloudTrail 免费向您的 S3 存储桶传输一份正在进行的管理事件的副本,但会收取 Amazon S3 存储费用。有关 CloudTrail 定价的更多信息,请参阅 AWS CloudTrail 定价
。有关 Amazon S3 定价的信息,请参阅 Amazon S3 定价 。
您的 AWS 账户活动的可见性是安全和运营最佳实践的重要方面。您可以使用 CloudTrail 来查看、搜索、下载、归档、分析和响应您的 AWS 基础设施中的账户活动。您可以确定谁或哪个组件对哪些资源执行了哪些操作、事件发生的时间以及其他细节,来帮助您分析和响应 AWS 账户中的活动。
您可将 CloudTrail 集成到使用 API 的应用程序、为您的组织自动创建跟踪或事件数据存储、检查您创建的事件数据存储和跟踪的状态,以及控制用户查看 CloudTrail 事件的方式。
访问 CloudTrail
您可以通过以下任何方式使用 CloudTrail。
CloudTrail 控制台
登录到 AWS Management Console,然后通过以下网址打开 CloudTrail 控制台:https://console.aws.amazon.com/cloudtrail
CloudTrail 控制台提供了用于执行许多 CloudTrail 任务的用户界面,这些任务包括:
-
查看您的 AWS 账户的近期事件和事件历史记录。
-
从事件历史记录中下载过去 90 天管理事件的已筛选或完整文件。
-
创建和编辑 CloudTrail 跟踪记录。
-
创建和编辑 CloudTrail Lake 事件数据存储。
-
对事件数据存储运行查询。
-
配置 CloudTrail 跟踪记录,包括:
-
选择用于跟踪的 Amazon S3 存储桶。
-
设置前缀。
-
配置至 CloudWatch Logs 的传输。
-
使用 AWS KMS 密钥对跟踪数据进行加密。
-
为跟踪上的日志文件传送启用 Amazon SNS 通知。
-
为跟踪记录添加和管理标签。
-
-
配置 CloudTrail Lake 事件数据存储,包括:
-
将事件数据存储与 CloudTrail 合作伙伴或您自己的应用程序集成,以记录来自 AWS 外部来源的事件。
-
联合事件数据存储以运行来自 Amazon Athena 的查询。
-
使用 AWS KMS 密钥对事件数据存储数据进行加密。
-
为您的事件数据存储添加和管理标签。
-
有关 AWS Management Console 的更多信息,请参阅 AWS Management Console。
AWS CLI
AWS Command Line Interface 是一个可用于从命令行与 CloudTrail 交互的统一工具。有关更多信息,请参阅 《AWS Command Line Interface 用户指南》。有关 CloudTrail CLI 命令的完整列表,请参阅《AWS CLI 命令参考》中的 cloudtrail 和 cloudtrail-data。
CloudTrail API
除了控制台和 CLI 之外,您还可以使用 CloudTrail RESTful API 来直接对 CloudTrail 进行编程。有关更多信息,请参阅《AWS CloudTrail API 参考》和《CloudTrail 数据 API 参考》。
AWS SDK
作为使用 CloudTrail API 的替代方案,您可以使用某个 AWS 软件开发工具包。每个软件开发工具包均包含适用于各种编程语言和平台的库和示例代码。这些开发工具包提供了一种简便方法,以使用编程方式访问 CloudTrail。例如,您可以使用开发工具包以加密方式对请求进行签名,管理错误并自动重试请求。有关更多信息,请参阅用于在 AWS 上进行构建的工具