我为我的 Amazon S3 存储桶启用了对象级别日志记录。在 CloudTrail 事件历史记录中如何找到相关事件?

上次更新时间:2019 年 9 月 26 日

我按照说明使用 AWS CloudTrail 数据事件功能为 S3 存储桶启用了对象级别日志记录。我在 Amazon Simple Storage Service (Amazon S3) 存储桶中找到了对象级别的日志。但我无法在 CloudTrail 事件历史记录中找到对象级别的 API 操作。

简短描述

默认情况下,CloudTrail 将存储桶级别的操作记录为管理事件。您还可以配置一条跟踪来记录 Amazon S3 存储桶的数据事件。CloudTrail 不会在 CloudTrail 事件历史记录中填充数据事件。此外,并非所有的存储桶级别操作都会填充到 CloudTrail 事件历史记录中。

注意:如果您有其他数据源配置了与您的跟踪相同的 S3 存储桶,则日志会与 CloudTrail 事件合并。

有关更多信息,请参阅使用 AWS CloudTrail 记录 Amazon S3 API 调用

解决方法

使用 Amazon CloudWatch 日志筛选条件模式和 AWS Athena 来查询 CloudTrail 日志。

使用 CloudWatch 日志筛选条件模式来查看存储桶级别活动

1.    执行使用筛选条件模式搜索日志数据的第 1 -4 步。

2.    将以下示例句法粘贴到筛选条件中,然后在您的设备上选择确认

{$.eventName = “DeleteBucket”}

CloudTrail 日志数据会筛选存储桶级别的 API 调用 DeleteBucket

使用 Athena 查询 CloudTrail 日志

1.    打开 Athena 控制台,然后选择查询编辑器

2.    选择在 Amazon Athena 中运行高级查询

3.    输入与以下类似的查询,然后选择运行查询

注意:请将 example-cloudtrail-log 替换为您的 CloudTrail 日志。

SELECT *
FROM example-cloudtrail-log
WHERE eventname = 'GetBucketAcl’;

此示例查询会筛选 S3 存储桶 API 调用 GetBucketAcl

有关更多信息,请参阅 使用 AWS CloudTrail 和 Amazon Athena 来分析安全性、合规性和运营活动