使用 AWS CloudTrail Lake
AWS CloudTrail Lake 允许您对事件运行基于 SQL 的查询。CloudTrail Lake 可将基于行的 JSON 格式的现有事件转换为 Apache ORC
CloudTrail Lake 事件数据存储
在创建事件数据存储时,您可以选择要包括在事件数据存储中的事件的类型。您可以创建事件数据存储以包含 CloudTrail 事件(管理事件、数据事件或网络活动事件(预览版))、CloudTrail Insights 事件、AWS Config 配置项、AWS Audit Manager 证据或 AWS 之外的事件。每个事件数据存储只能包含一个特定事件类别(例如,AWS Config 配置项目),因为事件架构对于事件类别是唯一的。不变可以将 AWS Organizations 中组织的事件存储在组织事件数据存储中,包括存储来自多个区域和账户的事件。您还可以使用受支持的 SQL JOIN 关键字跨多个事件数据存储运行 SQL 查询。有关跨多个事件数据存储运行查询的信息,请参阅高级多表查询支持。
您可以将跟踪事件复制到新的或现有的事件数据存储中,以创建记录到跟踪的事件的时间点快照。有关更多信息,请参阅 将跟踪事件复制到事件数据存储。
您可以联合事件数据存储以在 AWS Glue 数据目录中查看与事件数据存储相关的元数据,并使用 Amazon Athena 对事件数据运行 SQL 查询。通过存储在 AWS Glue 数据目录中的表元数据,Athena 查询引擎可以了解如何查找、读取和处理您要查询的数据。有关更多信息,请参阅 联合事件数据存储。
默认情况下,事件数据存储中的所有事件都由 CloudTrail 加密。在配置事件数据存储时,您可以选择使用自己的 AWS Key Management Service 密钥。使用您自己的 KMS 密钥将产生用于加密和解密的 AWS KMS 费用。在将事件数据存储与 KMS 密钥关联后,将无法移除或更改 KMS 密钥。
您可以通过使用基于标签的授权来控制对事件数据存储的操作的访问。有关更多信息和示例,请参阅本指南中的示例:拒绝基于标签创建或删除事件数据存储的访问权限。
您可以使用 CloudTrail Lake 控制面板来可视化事件数据存储中的数据。每个控制面板由多个小组件组成,每个小组件代表一个 SQL 查询。有关 Lake 控制面板的更多信息,请参阅使用 CloudTrail 控制台查看 CloudTrail Lake 控制面板。
CloudTrail Lake 事件数据存储会产生费用。创建事件数据存储时,您可以选择要用于事件数据存储的定价选项。定价选项决定了摄取和存储事件的成本,以及事件数据存储的默认和最长保留期。有关 CloudTrail 定价的信息,请参阅 AWS CloudTrail 定价
CloudTrail Lake 支持 Amazon CloudWatch 指标,这些指标提供有关摄取的数据和存储字节数的信息。有关支持的 CloudWatch 指标的更多信息,请参阅支持的 CloudWatch 指标。
注意
CloudTrail 通常会在 API 调用后平均大约 5 分钟内传输事件。此时间并不能得到保证。
CloudTrail Lake 集成
您可以使用 CloudTrail Lake 集成来记录和存储来自 AWS 外部以及来自您的混合环境中任何来源的用户活动数据,如本地或云中托管的内部或 SaaS 应用程序、虚拟机或容器。在 CloudTrail Lake 中创建事件数据存储并创建通道以记录活动事件后,您可以调用 PutAuditEvents
API 将您的应用程序活动摄取到 CloudTrail 中。然后,您可以使用 CloudTrail Lake 搜索、查询和分析您的应用程序中记录的数据。
集成还可以将来自十几个 CloudTrail 合作伙伴的事件记录到您的事件数据存储中。在合作伙伴集成中,您可以创建目标事件数据存储、通道和资源策略。在您创建集成后,即可向合作伙伴提供通道 ARN。有两种类型的集成:直接集成和解决方案集成。通过直接集成,合作伙伴将调用 PutAuditEvents
API 以将事件传送到您的 AWS 账户的事件数据存储中。通过解决方案集成,应用程序将在您的 AWS 账户中运行,并且它将调用 PutAuditEvents
API 将事件传送到您的 AWS 账户的事件数据存储中。
有关集成的更多信息,请参阅创建与 AWS 外部事件源的集成。
CloudTrail Lake 查询
注意
推出适用于 CloudTrail Lake 查询的预览版功能,该功能使用生成式人工智能(生成式 AI)功能从英语提示中生成 SQL 查询。有关更多信息,请参阅 根据英语提示创建 CloudTrail Lake 查询。
相比事件历史记录中的简单密钥和值查询或者运行 LookupEvents
,CloudTrail Lake 查询提供更深入、更可自定义的事件视图。Event history(事件历史记录)搜索限于单个 AWS 账户 账户,仅返回来自单个 AWS 区域 的事件,无法查询多个属性。相比之下,CloudTrail Lake 用户可以跨多个事件字段运行复杂的 SQL 查询。CloudTrail Lake 支持所有有效的 Presto SELECT
语句和函数。如需详细了解支持的 SQL 函数和运算符,请参阅 Presto 文档网站中的函数和运算符
您可以保存 CloudTrail Lake 查询以供将来使用,并查看最多七天的查询结果。运行查询时,您可以将查询结果保存到 Amazon S3 存储桶。
CloudTrail 控制台提供了很多示例查询,可以帮助您开始编写您自己的查询。有关更多信息,请参阅 使用 CloudTrail 控制台查看示例查询。
CloudTrail Lake 查询会产生费用。在 Lake 中运行查询时,您需要按扫描的数据量付费。有关 CloudTrail 定价的信息,请参阅 AWS CloudTrail 定价
其他资源
以下资源可以帮助您更好地了解什么是 CloudTrail Lake,以及如何使用。
使用 CloudTrail Lake 实现审计日志管理现代化
(YouTube 视频) 记录来自 AWS CloudTrail Lake 中非 AWS 来源的活动事件
(YouTube 视频) 使用 AWS CloudTrail Lake 和 Amazon Athena 分析活动日志
(YouTube 视频) 了解员工和客户身份的活动日志
(AWS 博客)