【问题标题】:How to fix 'Access Denied' while deleting empty S3 Elastic Beanstalk?如何在删除空的 S3 Elastic Beanstalk 时修复“拒绝访问”?
【发布时间】:2015-12-31 18:51:56
【问题描述】:

我注意到一些 Elastic Beanstalk 每月从我的 AWS 账户中提取大约 20 到 30 美元,结果发现它是一个空的 S3 存储桶。

我尝试删除它,但它返回“拒绝访问”错误。

我也尝试使用生命周期来删除它,但它也没有奏效。以下是我设置生命周期的方式:

我将其设置为在创建后 1 天删除

【问题讨论】:

  • 您需要在别处寻找 20-30 美元...它不是来自空桶。您有一个实际运行的 Elastic Beanstalk 环境,存储桶只是它的配置。
  • @Michael-sqlbot 我从未设置过 EB。
  • 尝试从控制台删除弹性beantalk应用
  • @tal 它将返回“拒绝访问”消息。
  • 吃了你和创建它的用户一样的用户?如果你这样做,那么你的女士机会就是 aws 支持

标签: amazon-web-services amazon-s3 amazon-elastic-beanstalk


【解决方案1】:

检查 S3 存储桶上的存储桶策略。存储桶名称似乎是 beanstalk 创建的用于存储您的应用程序版本、日志等的标准存储桶。为防止意外删除存储桶,存储桶策略拒绝删除权限。您可以更新 S3 存储桶策略的权限以允许从您的根账户中删除。很可能您的存储桶策略当前不允许删除存储桶。然后您就可以删除存储桶了。

在此处阅读有关 S3 存储桶权限的更多信息: http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingBucketPermissions.html

【讨论】:

  • 我不是在谈论您的 IAM 用户或根账户拥有的权限。检查您的 S3 存储桶策略。在 S3 控制台中右键单击存储桶,选择属性,然后在属性窗格的权限部分中,选择“编辑存储桶策略”。我想你会在那里发现 DeleteBucket 被拒绝。
  • “很可能您的存储桶策略当前不允许删除存储桶” - 恰到好处。拯救了我的一天!
  • 我实际上不得不从 JSON 中删除拒绝 root 删除权限的部分。
  • 也拯救了我的一天!我很惊讶为什么他们不能只提供 GUI 而不是 JSON 版本?存储桶策略文件。难怪他们提供 1 年的免费试用期,只是为了在试用后默默收取费用。
  • 此外,如果有人无法编辑和保存策略 JSON 文档,请继续删除 s3 存储桶的该策略文档。然后你就可以删除了。
【解决方案2】:

Elastic beanstalk 在创建存储桶时自动添加了此限制。要删除它,您首先必须清空桶。

完成后,选择 bucket --> Properties --> Permissions --> Edit bucket 政策

您现在将看到 Elastic Beanstalk 自动添加到该存储桶的权限。滚动到找到 "Action": "s3:DeleteBucket" 的位置,在其上方将 "Effect": "Deny" 更改为 "Effect": "Allow" p>

完成后,保存更改并删除存储桶。

【讨论】:

  • 这很棒而且很有效。虽然上面的线程给出了原因和解决方案。我支持这个,因为它又短又甜。
【解决方案3】:

这是弹性豆茎切除术,以保存您的意外删除。您可以通过以下 2 个步骤解决此问题。

  1. 获得上传和删除权限
  2. 通过bucket => Properties => Permissions => Edit bucket policy 编辑存储桶策略并从"Effect": "Deny" 设置允许"Effect": "Allow"

查看下面的屏幕截图以获得更多帮助。

权限截图:

存储桶政策

【讨论】:

    【解决方案4】:

    默认情况下,Elastic Beanstalk 会在您的存储桶上设置一些策略,防止对存储桶进行删除操作,以防止意外删除存储桶。

    我在下图中以红色突出显示了该操作。

    删除存储桶的步骤

    • 点击存储桶名称
    • 点击属性和管理标签之间的权限标签
    • 点击存储桶政策标签
    • 进入存储桶策略选项卡后,单击 政策

    完成后,您将返回存储桶列表并立即尝试删除该存储桶。

    完成

    快乐编码

    【讨论】:

      【解决方案5】:

      非常简短的方法是(如果您确定不再需要存储桶)是删除存储桶策略,然后尝试删除存储桶。适用于所有情况。由于存储桶是由 Elastic Beanstalk 创建的,并且配置的策略不允许其他用户进行任何更改/删除。删除策略将允许您执行操作。

      【讨论】:

      • 如果场景允许,这是一个聪明的解决方案。
      【解决方案6】:

      我在删除由 EBS“访问被拒绝”创建的存储桶时也遇到了同样的错误,因为默认情况下,EBS 拒绝对它创建的 s3 存储桶执行 DELETE 操作,因为 EBS 使用它来存储应用程序的日志任何其他信息. 要删除它,您必须更改存储桶的策略 步骤:- Bucket => Properties => Permissions => Bucket Policy 编辑存储桶策略,其中 "Action": "s3:DeleteBucket" 将 "Effect": "Deny" 更改为 "Effect" ": "允许"

      【讨论】:

        【解决方案7】:

        bucket只能通过以下3个步骤删除:

        1. 选择要删除的存储桶,然后单击打开的抽屉窗口中的权限部分

        2. 单击存储桶策略按钮

        3. 在具有"Action": "s3:Deletebucket" 行的对象中将Deny 单词替换为Allow,然后点击保存按钮

        之后您可以删除存储桶。

        第 1 步的图:

        第 2 步的图:

        第 3 步的图:

        【讨论】:

          猜你喜欢
          • 2013-04-26
          • 1970-01-01
          • 2017-07-28
          • 2019-07-16
          • 2017-05-07
          • 2015-02-04
          • 1970-01-01
          • 2015-09-18
          • 1970-01-01
          相关资源
          最近更新 更多