我想找到已启用对我的 Amazon Simple Storage Service (Amazon S3) 存储桶的公共访问权限的用户。
简短描述
查看 AWS CloudTrail 事件历史记录,以查找更新存储桶访问控制列表 (ACL) 或存储桶策略以允许公共访问权限的用户。
**注意:**CloudTrail 事件历史记录显示最多过去 90 天的日志。如果事件发生在 90 天前,则必须查询存储桶中的 CloudTrail 日志以获取信息。
要查看您的 CloudTrail 事件日志,请使用以下工具之一:
- CloudTrail 控制台
- AWS 命令行界面 (AWS CLI)
解决方法
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
使用 CloudTrail 控制台
要查找已启用对您的 S3 存储桶的公共访问权限的用户,请完成以下步骤:
- 打开 CloudTrail 控制台。
- 从导航栏的区域选择器中,选择您的存储桶所在的 AWS 区域。
- 在导航窗格中,选择 Event history(事件历史记录)。
- 对于 Lookup attribute(查找属性),选择要用来查找授予存储桶公开访问权限的事件的筛选条件:
要按存储桶名称筛选事件,请选择 Resource name(资源名称),然后输入存储桶的名称。
要通过对存储桶 ACL 的更改来筛选事件,请选择 Event name(事件名称),然后输入 PutBucketAcl。
要通过对存储桶策略的更改来筛选事件,请选择 Event name(事件名称),然后输入 PutBucketPolicy。
- 找到授予存储桶公开访问权限的事件后,查看该事件的 User name(用户名)列。然后,展开事件项目并选择 View event record(查看事件记录)以查看更多详细信息,例如用户的 Amazon 资源名称 (ARN)。
使用 AWS CLI
要列出与您的存储桶关联的所有 CloudTrail 事件,请运行以下 lookup-events 命令:
aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceName,AttributeValue=example-bucket-name --region example-region
要仅列出更改存储桶的事件,请运行以下命令:
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 记录内容