创建存储桶策略似乎可以解决问题,但是创建策略时遇到了麻烦。
创建存储桶策略似乎可以解决问题,但是创建策略时遇到了麻烦。
Answers:
在AWS策略生成器是勘探和这些政策的创建一个非常有用的工具,它的使用在相应的说明介绍的博客文章(直接链接到它,它是同时可沿着内大多数政策报名表格AWS管理控制台以及)。
我已经根据您的规范创建了一个示例(当然,请确保为您自己的资源生成一个新的示例):
{
"Id": "ExamplePolicyId12345678",
"Statement": [
{
"Sid": "ExampleStmtSid12345678",
"Action": [
"s3:DeleteBucket"
],
"Effect": "Deny",
"Resource": "arn:aws:s3:::test-example-com",
"Principal": {
"AWS": [
"*"
]
}
}
]
}
请注意,AWS管理控制台当前既不隐藏delete命令,也没有报告其执行对于具有此类策略的存储桶而言不成功,但是,该存储桶仍然存在;)
因此,@ Steffen的答案是正确的,但我想提出另一个重要说明。虽然该策略可以防止实际的存储桶被删除。它无法防止删除存储桶中的项目。这是有道理的,但是您应该知道的是,在AWS控制台中,如果您选择Delete bucket,它将删除存储桶中的所有项目,然后无法删除存储桶。因此,您存储在存储桶中的所有数据都会消失。起初这并不明显,如果某人不知道,可能会给他们带来严重的问题。
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
另一个选项是启用“ 版本控制”和“ MFA删除”。这使得清空和删除存储桶变得更加困难。