如何获取S3对象删除的详细信息及执行用户身份?
怎么查S3对象删除的更多信息和执行用户身份
从你提供的CloudTrail日志来看,这个删除操作是通过OrganizationAccountAccessRole这个IAM角色执行的,但日志里没直接显示到底是谁触发这个角色完成的操作。下面是具体的排查方法:
一、先从现有日志提取关键线索
日志里能确定的核心信息:
- 操作使用的IAM角色:
OrganizationAccountAccessRole(ARN为arn:aws:iam::xxx:role/OrganizationAccountAccessRole) - 角色会话创建时间:
2024-xx-xxTxx:xx:xxZ,且未启用MFA认证
二、定位真正的执行用户
- 查找对应的STS AssumeRole事件日志:在CloudTrail中搜索同一时间段、同一账户下的
AssumeRole事件。这类日志会记录谁(IAM用户、根用户或外部身份)调用了STS服务来获取该角色的临时凭证,其中userIdentity字段就是原始调用者的身份信息,sourceIPAddress还能辅助定位操作来源。 - 检查角色的信任策略:查看
OrganizationAccountAccessRole的信任关系配置,确认哪些实体被允许扮演这个角色(比如组织主账户的用户、特定IAM用户等),以此缩小排查范围。 - 关联其他日志源:如果是通过AWS管理控制台操作,可结合CloudTrail的
ConsoleLogin事件,匹配会话创建时间和IP地址,找到对应的登录用户;如果是API/CLI操作,临时访问密钥ASIAxxx对应AssumeRole事件中的长期密钥或用户,顺着这条线索就能追溯到源头。
三、获取删除操作的更多细节
要知道删除的具体对象名、存储桶名以及更精确的操作时间:
- 在CloudTrail中筛选事件名称为
DeleteObject或DeleteObjects的日志,用现有日志里的accesskeyid=ASIAxxx或角色信息进行关联,找到对应的完整操作记录,里面会包含对象名、存储桶名等关键细节。 - 如果已开启S3服务器访问日志,也可以从这些日志中查找对应时间的DELETE请求,补充更多操作上下文信息。
内容的提问来源于stack exchange,提问作者fblundun
相关产品推荐
相关产品推荐

