Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 为什么在S3上启用MFA删除需要版本控制?_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services 为什么在S3上启用MFA删除需要版本控制?

Amazon web services 为什么在S3上启用MFA删除需要版本控制?,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我的意思是,您可以拥有MFA删除功能,而无需版本控制。那么为什么会有这种限制呢?这可能会给你一个答案- 您可以使用版本控制将一个对象的多个版本保存在一个bucket中 基本上,使用受MFA保护的S3存储桶将启用额外的保护层,以确保有权访问存储桶的AWS用户不会意外或故意删除S3对象。MFA Delete主要用于防止由于删除或覆盖而导致的意外数据丢失 MFA Delete需要一个版本化的bucket,因为如果bucket没有版本化,只需覆盖对象,就可以永久“删除”任何对象(也就是说,可以删除其内容

我的意思是,您可以拥有MFA删除功能,而无需版本控制。那么为什么会有这种限制呢?

这可能会给你一个答案-

您可以使用版本控制将一个对象的多个版本保存在一个bucket中


基本上,使用受MFA保护的S3存储桶将启用额外的保护层,以确保有权访问存储桶的AWS用户不会意外或故意删除S3对象。

MFA Delete主要用于防止由于删除或覆盖而导致的意外数据丢失

MFA Delete需要一个版本化的bucket,因为如果bucket没有版本化,只需覆盖对象,就可以永久“删除”任何对象(也就是说,可以删除其内容),这是通过使用相同的键创建一个新对象来完成的——因此,在这种情况下,要求MFA进行删除不会实现任何真正的目的,因为不管是意外地还是有意地重写或处理都是微不足道的

在MFA Delete处于活动状态(并且根据需要启用版本控制)的情况下,您仍然可以通过使用相同的键创建新对象来“覆盖”对象,但这实际上不是覆盖。不会丢失任何数据,因为对象的先前当前版本只是成为对象的先前版本。其内容保留在bucket中,“覆盖”更改可以通过删除新创建的版本(当然是使用MFA)来恢复,这会自动将对象的最新以前版本升级回对象的当前版本

但是版本控制可以挂起到bucket上,这会让我们回到同样的问题,这就是为什么如果您尝试挂起bucket上的版本控制,MFA Delete也需要使用MFA的原因

根据您试图完成的任务,在所有API调用上要求MFA可能比MFA Delete更合适:

注意

MFA Delete和MFA protected API访问是旨在为不同场景提供保护的功能。您可以在bucket上配置MFA Delete,以确保bucket中的数据不会被意外删除。MFA受保护的API访问用于在访问敏感的Amazon S3资源时强制执行另一个身份验证因素(MFA代码)。您可以要求使用使用MFA创建的临时凭证对这些AmazonS3资源执行任何操作


我明白了。但是您可以在不进行版本控制的情况下进行MFA删除。那么为什么它是必要的呢?为了防止意外删除