我将存储桶策略错误地配置为拒绝所有用户访问我的 Amazon Simple Storage Service(Amazon S3)存储桶。
解决方法
无法满足存储桶策略的条件
如果无法满足存储桶策略的条件,您仍然可以重新获得对 Amazon S3 存储桶的访问权限。要重新获得对存储桶的访问权限,请完成以下步骤:
- 以根用户账户的身份打开 AWS 管理控制台。
**重要事项:**请勿使用根用户账户执行日常任务。根用户账户凭证仅用于需要以根用户身份登录的任务。根用户账户凭证与具有完全管理员访问权限的 AWS Identity and Access Management(IAM)用户或角色不同。您无法将具有允许或拒绝权限的 IAM 策略附加到根用户账户。为了安全起见,账户管理员最好轮换根用户账户密码。
- 打开 Amazon S3 控制台。
- 导航到配置错误的桶。
- 选择权限选项卡。
- 选择存储桶策略。
- 选择编辑。
- 在存储桶策略中,确定导致存储桶锁定的条件。然后,为防止今后出现锁定的情况,请编辑或删除这些条件。
- 选择保存更改。
- 退出 AWS 管理控制台。
根用户修改存储桶策略以恢复访问权限后,具有存储桶访问权限的 IAM 用户可以应用更正后的存储桶策略。有关更多信息,请参阅 Examples of Amazon S3 bucket policies 和 Adding a bucket policy by using the Amazon S3 console。
可以满足存储桶策略的条件
如果可以满足存储桶策略条件但无法使用根用户账户,请修改该策略。但是,必须满足存储桶策略条件才能进行修改。要重新获得对存储桶的访问权限,请完成以下步骤:
- 查看存储桶策略,确定可以满足的存储桶条件。
- 要满足存储桶策略条件,请完成所有必需的操作,使策略评估为真。请参阅以下可能阻止 S3 存储桶访问的存储桶策略条件示例:
客户端的 IP 地址未列入白名单。
VPC 端点未列入白名单。
该请求是从 VPC 内部发出的,但是 VPC 没有 Amazon S3 端点。
DENY 条件会阻止部分或全部主体,且缺少条件块。
- 重新获得访问权限后,请确定导致存储桶锁定的条件。然后,为防止今后出现锁定的情况,请编辑或删除这些条件。
- 对更改进行测试,验证访问控制级别是否正确。
如果不确定锁定前适用于存储桶的策略,请使用 AWS CloudTrail 查看该事件。要使用 CloudTrail 在账户中搜索最近的 PutBucketPolicy 操作,请完成以下步骤:
- 打开 CloudTrail 控制台。
- 在导航窗格中,选择事件历史记录。
- 在事件历史记录页面上的查找属性下,选择事件名称。
- 在输入事件名称字段中,选择 PutBucketPolicy 并按 Enter。
- 选择最近的事件,查看该事件的详细信息。该事件会显示请求和响应参数。这包括存储桶名称和完整的存储桶策略。