谁开启了对我的 Amazon S3 存储桶的公共访问权限?

1 分钟阅读
0

如何确定哪位用户开启了对 Amazon Simple Storage Service(Amazon S3)存储桶的公共访问权限?

解决方法

查看 AWS CloudTrail 事件历史记录,看看哪位用户为允许公共访问而更新了存储桶访问控制列表(ACL)或存储桶策略。

注意:CloudTrail 事件历史记录最多显示 90 天的日志。如果事件发生在 90 天之前,则必须查询并分析传输到您的存储桶的 CloudTrail 日志。

CloudTrail 控制台

借助 CloudTrail 控制台,可按照以下步骤找到此用户:

  1. 打开 CloudTrail 控制台
  2. 在导航栏中的区域选择器中,选择您的存储桶所处的 AWS 区域。
  3. 在导航窗格中,选择 Event history(事件历史记录)。
  4. 对于 Lookup attribute(查找属性),请选择您希望用于查找授予存储桶公共访问权限的事件的筛选条件:
    要按存储桶的名称筛选事件,请选择 Resource name(资源名称),然后输入您的存储桶名称。
    要按对存储桶 ACL 的更改筛选事件,请选择 Event name(事件名称),然后输入“PutBucketAcl”。
    要按对存储桶策略的更改筛选事件,请选择 Event name(事件名称),然后输入“PutBucketPolicy”。
  5. 找到授予对存储桶公共访问权限的事件之后,请查看事件的 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

AWS 官方
AWS 官方已更新 1 年前