我不小心拒绝了所有人访问我的AmazonS3存储桶,除了私人vpc-cidr.如何重新获得访问权限



我使用s3 bucket策略如下:

{
"Version": "2012-10-17",
"Id": "OnlyAllowMyVPC",
"Statement": [
{
"Sid": "denyOthers",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws-cn:s3:::devbucket",
"arn:aws-cn:s3::: devbucket/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "10.192.0.0/19"
}
}
}
]
}

10.192.0.0/19是我所在VPC的CIDR,我所在的VPC没有互联网接入。

然后,即使从这个VPC中的ec2,我仍然无法访问"devbucket";bucket,但我可以访问其他bucket。我不知道为什么。

有人能帮我吗,非常感谢!

一种方法是使用root用户删除bucket权限,但我很难获得root用户的访问权限。

更新:

我之所以可以访问其他s3,是因为我添加了s3 VPC Endpoint。当我删除Endpoint时,我将无法访问任何bucket。

尝试使用VPC Endpoint进行S3。基本上,它将允许来自私有子网的EC2实例以更安全的方式连接S3。

最新更新