如何确定哪位用户开启了对 Amazon Simple Storage Service(Amazon S3)存储桶的公共访问权限?
解决方法
查看 AWS CloudTrail 事件历史记录,看看哪位用户为允许公共访问而更新了存储桶访问控制列表(ACL)或存储桶策略。
注意:CloudTrail 事件历史记录最多显示 90 天的日志。如果事件发生在 90 天之前,则必须查询并分析传输到您的存储桶的 CloudTrail 日志。
CloudTrail 控制台
借助 CloudTrail 控制台,可按照以下步骤找到此用户:
- 打开 CloudTrail 控制台。
- 在导航栏中的区域选择器中,选择您的存储桶所处的 AWS 区域。
- 在导航窗格中,选择 Event history(事件历史记录)。
- 对于 Lookup attribute(查找属性),请选择您希望用于查找授予存储桶公共访问权限的事件的筛选条件:
要按存储桶的名称筛选事件,请选择 Resource name(资源名称),然后输入您的存储桶名称。
要按对存储桶 ACL 的更改筛选事件,请选择 Event name(事件名称),然后输入“PutBucketAcl”。
要按对存储桶策略的更改筛选事件,请选择 Event name(事件名称),然后输入“PutBucketPolicy”。
- 找到授予对存储桶公共访问权限的事件之后,请查看事件的 User name(用户名)列。然后,展开此事件项并选择 View event(查看事件)以了解更多详情,例如用户的 Amazon 资源名称(ARN)。
AWS 命令行界面 (AWS CLI)
运行此命令以列出与您的存储桶关联的 CloudTrail 事件(使用您的存储桶名称):
aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceName,AttributeValue=example-bucket-name --region example-region
运行此命令以列出存储桶 ACL 更改事件:
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=PutBucketAcl --region example-region
运行此命令以列出存储桶策略更改事件:
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=PutBucketPolicy --region example-region
相关信息
使用 CloudTrail 事件历史记录查看事件
CloudTrail 记录内容
lookup-events