当前位置: 首页 > 知识库问答 >
问题:

DeleteObject的AWS S3日志?

申屠昆
2023-03-14

如何使用像CloudTrail或CloudWatch这样的AWS服务来检查哪个用户执行了事件DeleteObject?

我可以使用S3事件向SNS发送删除事件,通知电子邮件地址某个特定文件已从S3 bucket中删除,但消息中不包含删除该文件的用户名。

我可以使用CloudTrail将与S3 bucket相关的所有事件记录到另一个bucket,但我进行了测试,它记录了许多详细信息,只记录了事件,而没有记录删除对象。

有没有什么简单的方法来监控S3存储桶以找出哪个用户删除了哪个文件?

截至8月19日

按照Walt下面的回答,我能够记录DeleteObject事件。但是,我只能获取PutObject的文件名(Request estParameters.key),但不能获取DeleteObject的文件名。

| # | @timestamp | userIdentity.arn | eventName | requestParameters.key |
| - | ---------- | ---------------- | --------- | --------------------- |
| 1 | 2019-08-19T09:21:09.041-04:00 | arn:aws:iam::ID:user/me | DeleteObjects |
| 2 | 2019-08-19T09:18:35.704-04:00 | arn:aws:iam::ID:user/me | PutObject |test.txt |

看起来其他人也有同样的问题,AWS正在解决这个问题:https://forums.aws.amazon.com/thread.jspa?messageID=799831

共有2个答案

竺勇
2023-03-14

自2021年4月12日起,CloudTrail不会记录删除对象调用的对象键或路径。

如果您使用S3控制台删除对象,它总是调用DeleteObject

如果您想访问对象键以进行删除,您需要使用DeleteObject(减去s)删除单个文件。这可以通过AWS CLI(aws s3 rm s3://thing-桶/单文件名)或直接API调用来完成。

邹驰
2023-03-14

这是我的设置。

有关在控制台中设置CloudTrail的详细说明。设置CloudTrail时,请仔细检查这两个选项。

如果对S3写日志记录进行了更改,则可能需要等待一段时间。如果你现在还没有吃过早餐、午餐、点心或晚餐,那将是一个好时机。

如果您使用的默认CloudWatch日志组与我上面的相同,那么指向CloudWatch Insight日志的链接应该适合您。

这是一个查询,将显示所有S3 DeleteObject调用。如果链接不起作用

  1. 转到CloudWatch控制台
fields @timestamp, userIdentity.arn, eventName, requestParameters.bucketName, requestParameters.key
| filter eventSource == "s3.amazonaws.com"
| filter eventName == "DeleteObject"
| sort @timestamp desc
| limit 20

如果在过去30分钟内有任何CloudTrail S3 Delete对象调用,将显示最近20个事件。

 类似资料:
  • 问题内容: 我面临着AWSS3的一个奇怪问题。 建立: AWS移动HUB 认知 DynamoDB S3 -> Cognito,Dynamo甚至S3(通过Cognito用户数据)起作用。 但是,现在我尝试使用以下代码直接连接到AWS3:” 并得到错误: 我正在使用从AWS Mobiel HUB下载的plist配置,因此感到有些惊讶,因为它无法正常工作(因为所有其他组件都可以)。 任何想法可能是什么问

  • 我试图在我的Symfony项目中使用高弗雷特和S3,但它不起作用。我得到了错误: PHP 致命错误: 类 “AmazonS3” 在 /var/www/头/应用程序/缓存/开发/应用程序DevDebug项目容器中找不到.php第 514 行 所以我猜测,也许我使用了错误版本的适配器。但是我不明白AwsS3和亚马逊S3有什么区别。对于那些从S3开始的人来说,博士似乎有点短。 我使用的是最新版本的 aw

  • 但是,没有关于如何完成这一点的例子。此外,如果没有设置凭据,即使在向S3请求上载之前,SDK也会出错 JS SDK文档中提到了这一点,因此似乎有可能:

  • 本文向大家介绍Linux下日志按日分割的shell,包括了Linux下日志按日分割的shell的使用技巧和注意事项,需要的朋友参考一下 这个脚本是在LNMP论坛找到的,感觉很不错~~ 脚本如下: 把上面的保存为.sh文件,然后给上可执行权限,再配合Linux的计划任务,完美拉~~~

  • 您的生日日期   设定您的生日日期。

  • 我正在服务器上使用生成一个AWS S3预签名post对象。然后,我试图使用预签名的post url&字段使用fetch从客户机直接上传一个文件到S3 bucket,但得到的是。 我尝试手动将表单字段添加到FormData对象中,以直接匹配以下示例:https://docs.aws.amazon.com/amazons3/latest/api/sigv4-post-example.html,但仍然收