amazon-web-services - 我不小心拒绝了除私有 vpc cidr 之外的所有人访问我的 Amazon S3 存储桶。如何重新获得访问权限?
问题描述
我使用 s3 存储桶策略如下:
{
"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”存储桶,但我可以访问其他存储桶。我不知道为什么。
谁能帮帮我,非常感谢!
一种方法是使用root用户删除bucket权限,但是我很难获得root用户的访问权限。
更新:
我可以访问其他s3的原因是因为我添加了s3 VPC Endpoint。当我删除端点时,我无法访问任何存储桶。
解决方案
尝试使用 S3 的 VPC 端点。基本上,它将允许来自私有子网的 EC2 实例以更安全的方式连接 S3。
推荐阅读
- excel - Visual Basic - for..next 和公式
- javascript - HtmlAgilityPack - 如何从标签中获取值进入 aspx.cs
- optaplanner - Optaplanner 解决垃圾收集问题
- android - 如何在 android 中为 ViewPager 的 TextView.setText 使用 ArrayString?
- android - 凌空中的 JsonArrayRequest 不发送参数,尽管相同的代码在我的其他应用程序中运行
- go - golang中的“未解决参考错误”
- swift - 为什么我在 viewDidLoad 中同步崩溃,有人知道发生这种情况的原因吗?
- string - 从字符串中获取整数月份值
- python - 如何解决python中的ValueError?
- raspberry-pi - 通过 wvdial 发送短信失败(无运营商!重试)