如何防止删除 S3 存储桶?

Jas*_*tts 17 amazon-s3

看起来创建存储桶策略可能会奏效,但我在创建策略时遇到了问题。

Ste*_*pel 26

AWS策略生成器是勘探和这些政策的创建一个非常有用的工具,它的使用在相应的说明介绍的博客文章(直接链接到它,它是同时可沿着内大多数政策报名表格AWS管理控制台以及)。

我已经根据您的规范创建了一个示例(当然,请确保为您自己的资源生成一个新示例):

{
  "Id": "ExamplePolicyId12345678",
  "Statement": [
    {
      "Sid": "ExampleStmtSid12345678",
      "Action": [
        "s3:DeleteBucket"
      ],
      "Effect": "Deny",
      "Resource": "arn:aws:s3:::test-example-com",
      "Principal": {
        "AWS": [
          "*"
        ]
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

请注意,AWS 管理控制台当前既不隐藏删除命令,也不报告其执行对于具有此类策略的存储桶不成功,但是,存储桶保持原位;)


Zip*_*per 10

所以@Steffen 的回答是正确的,但我想再做一个重要的说明。虽然该策略将防止实际存储桶被删除。它不会防止存储桶中的项目被删除。这是有道理的,但您应该注意的是,在 AWS 控制台中,如果您选择删除存储桶,它将删除存储桶中的所有项目,然后无法删除存储桶。因此,您在存储桶中的任何数据都将消失。这起初并不明显,如果他们不知道,可能会给某人带来严重的问题。

TL;DR; Trying to delete the bucket even with delete bucket prohibited will kill all the items in the bucket but keep the bucket around