如何查找S3 ListObjects请求是谁发起的

0

【以下的问题经过翻译处理】 在过去的两天里,我的账单由于大量的S3 ListObjects API请求而增加了很多。我确定这不是由我的服务引起的。

我想知道如何确定这些请求来自哪里,以及访问了哪些存储桶?

对于这个问题我毫无头绪。

然后我启用了CloudTrail服务,但仍然没有找到S3 ListObjects来自哪里。

profile picture
专家
已提问 5 个月前200 查看次数
2 回答
0

【以下的回答经过翻译处理】 您可以启用S3服务器访问日志并分析生成的日志。S3服务器访问日志提供了对发送到您的S3存储桶的请求的详细记录。在“桶 > 属性 > 服务器访问日志”中下载日志文件。查找具有“REST.GET.BUCKET”操作的条目,该操作对应于ListObjects API请求。

profile picture
专家
已回答 5 个月前
0

您好, 除了开启访问日志以外,CloudTrail 也能支持 S3 物件级别(Data events)的访问纪录捕获,但只是 CloudTrail 默认只有开启 Management events,您需要参考[1]的说明来开启 Data events 的访问纪录。

注意:

  • 您从 CloudTrail 控制台的介面使用 Event history 只能查找到 90 天内的 Management events,因此就算您开启了上述的跟踪,也没办法查找到对应的 Data events。
  • 您可以通过 AWS Athena 来查找对应跟踪输出的目标储存桶内的日志,详细操作可以参考[2]的说明。

[1] https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html

[2] https://docs.aws.amazon.com/zh_cn/athena/latest/ug/cloudtrail-logs.html#query-examples-cloudtrail-logs

AWS
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则