【问题标题】:I accidentally denied everyone access to my Amazon S3 bucket except the private vpc cidr. How do I regain access?我不小心拒绝了除私有 vpc cidr 之外的所有人访问我的 Amazon S3 存储桶。如何重新获得访问权限?
【发布时间】:2020-11-27 21:29:53
【问题描述】:

我使用 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”存储桶,但我可以访问其他存储桶。我不知道为什么。

谁能帮帮我,非常感谢!

一种方法是use root user to delete the bucket permission,但我很难获得root用户的访问权限。

更新:

我可以访问其他s3的原因是我添加了s3 VPC Endpoint。当我删除端点时,我无法访问任何存储桶。

【问题讨论】:

  • 你应该做一个"aws:sourceVpc": "..."比较而不是IP比较。
  • 是的,但为时已晚,我无法再访问此存储桶了...
  • 那你倒霉了,太可惜了。
  • 基于私有IP限制访问根本没有任何意义,如果我创建一个VPC并分配相同的CIDR范围,那么我可以访问你的存储桶!?无论如何都不理想。
  • 现在,我知道这根本没有意义。我从这个错误中学到了很多。

标签: amazon-web-services amazon-s3 amazon-vpc


【解决方案1】:

尝试使用 S3 的 VPC 端点。基本上,它将允许私有子网中的 EC2 实例以更安全的方式连接 S3。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-18
    • 2017-02-12
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 2020-02-18
    • 2014-12-03
    相关资源
    最近更新 更多