误锁US-EAST-1区域S3 Bucket,无Root权限如何解除限制?
无Root权限下解除S3 Bucket策略锁定的方法
你误设置的S3桶策略仅允许指定EU-WEST-1 VPC访问,导致非该VPC环境无法操作桶,以下是无需Root权限的解决办法:
方法1:通过指定VPC内的资源操作
策略仅限制非指定VPC的访问,你可以借助该EU-WEST-1区域的指定VPC来修改策略或删除桶:
- 在EU-WEST-1区域的指定VPC中创建一台EC2实例,给实例绑定的IAM角色添加以下权限:
s3:PutBucketPolicy(用于修改桶策略)s3:DeleteBucket、s3:DeleteObject(用于删除桶及内容)
- 登录该EC2实例,使用AWS CLI执行操作:
- 清空现有桶策略(直接覆盖为空):
aws s3api put-bucket-policy --bucket mybucket --policy '{}' --region us-east-1 - 若要删除桶,需先清空桶内所有对象,再删除桶:
aws s3 rm s3://mybucket --recursive --region us-east-1 aws s3 rb s3://mybucket --region us-east-1
- 清空现有桶策略(直接覆盖为空):
方法2:联系AWS技术支持
如果无法访问指定VPC,可提交AWS支持工单:
- 说明误设置策略导致桶被锁定的情况,提供桶名称、完整的错误策略内容
- 证明你是该资源的合法使用者(比如提供资源创建记录、关联IAM账户信息)
- AWS支持团队有权限在无需Root账户的前提下,协助你移除错误策略或删除桶
原错误策略内容
{ "Sid": "Access-to-specific-VPC-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": "mybucket", "Condition": { "StringNotEquals": { "aws:SourceVpc": "eu-west-1 vpc id" } } }
内容的提问来源于stack exchange,提问作者Dalal Alghomlas
相关产品推荐
相关产品推荐

