不小心拒绝所有人访问 Amazon S3 存储桶后如何重新获得访问权限?

1 分钟阅读
0

我将存储桶策略错误地配置为拒绝所有用户访问我的 Amazon Simple Storage Service(Amazon S3)存储桶。

解决方法

无法满足存储桶策略的条件

如果无法满足存储桶策略的条件,您仍然可以重新获得对 Amazon S3 存储桶的访问权限。要重新获得对存储桶的访问权限,请完成以下步骤:

  1. 以根用户账户的身份打开 AWS 管理控制台
    **重要事项:**请勿使用根用户账户执行日常任务。根用户账户凭证仅用于需要以根用户身份登录的任务。根用户账户凭证与具有完全管理员访问权限的 AWS Identity and Access Management(IAM)用户或角色不同。您无法将具有允许或拒绝权限的 IAM 策略附加到根用户账户。为了安全起见,账户管理员最好轮换根用户账户密码
  2. 打开 Amazon S3 控制台
  3. 导航到配置错误的桶。
  4. 选择权限选项卡。
  5. 选择存储桶策略
  6. 选择编辑
  7. 在存储桶策略中,确定导致存储桶锁定的条件。然后,为防止今后出现锁定的情况,请编辑或删除这些条件。
  8. 选择保存更改
  9. 退出 AWS 管理控制台。

根用户修改存储桶策略以恢复访问权限后,具有存储桶访问权限的 IAM 用户可以应用更正后的存储桶策略。有关更多信息,请参阅 Examples of Amazon S3 bucket policiesAdding a bucket policy by using the Amazon S3 console

可以满足存储桶策略的条件

如果可以满足存储桶策略条件但无法使用根用户账户,请修改该策略。但是,必须满足存储桶策略条件才能进行修改。要重新获得对存储桶的访问权限,请完成以下步骤:

  1. 查看存储桶策略,确定可以满足的存储桶条件。
  2. 要满足存储桶策略条件,请完成所有必需的操作,使策略评估为真。请参阅以下可能阻止 S3 存储桶访问的存储桶策略条件示例:
    客户端的 IP 地址未列入白名单。
    VPC 端点未列入白名单。
    该请求是从 VPC 内部发出的,但是 VPC 没有 Amazon S3 端点。
    DENY 条件会阻止部分或全部主体,且缺少条件块。
  3. 重新获得访问权限后,请确定导致存储桶锁定的条件。然后,为防止今后出现锁定的情况,请编辑或删除这些条件。
  4. 对更改进行测试,验证访问控制级别是否正确。

如果不确定锁定前适用于存储桶的策略,请使用 AWS CloudTrail 查看该事件。要使用 CloudTrail 在账户中搜索最近的 PutBucketPolicy 操作,请完成以下步骤:

  1. 打开 CloudTrail 控制台
  2. 在导航窗格中,选择事件历史记录
  3. 事件历史记录页面上的查找属性下,选择事件名称
  4. 输入事件名称字段中,选择 PutBucketPolicy 并按 Enter
  5. 选择最近的事件,查看该事件的详细信息。该事件会显示请求和响应参数。这包括存储桶名称和完整的存储桶策略。
AWS 官方
AWS 官方已更新 4 个月前