

# 从启用了 MFA 删除的存储桶中删除对象
<a name="UsingMFADelete"></a>

在配置 MFA 删除时，只有根用户才能永久删除对象版本或更改 S3 存储桶上的版本控制配置。您必须使用 MFA 设备对根用户进行身份验证，才能执行删除操作。

如果存储桶的版本控制配置已启用 MFA 删除，则存储桶拥有者必须在请求中包含 `x-amz-mfa` 请求标头，才能永久删除对象版本或更改该存储存储桶的版本控制状态。包含 `x-amz-mfa` 的请求必须使用 HTTPS。

标头的值由身份验证设备的序列号、空格，以及在该设备上显示的身份验证代码组成。如果您没有包含此请求标头，则请求失败。

使用 AWS CLI 时，请包含与 `mfa` 参数的值相同的信息。

有关身份验证设备的更多信息，请参阅[多重身份验证](https://aws.amazon.com/iam/details/mfa/)。

有关启用 MFA 删除的更多信息，请参阅 [配置 MFA 删除](MultiFactorAuthenticationDelete.md)。

**注意**  
在启用了 MFA 删除且启用版本控制的存储桶中删除对象无法通过 AWS 管理控制台来实现。

## 使用 AWS CLI
<a name="MFADeleteCLI"></a>

要在启用了 MFA 删除且启用版本控制的存储桶中删除对象，请使用以下命令。当您使用以下示例命令时，请将 `user input placeholders` 替换为您自己的信息。

```
 aws s3api delete-object --bucket amzn-s3-demo-bucket --key OBJECT-KEY --version-id "VERSION ID" --mfa "MFA_DEVICE_SERIAL_NUMBER MFA_DEVICE_CODE"						
```

## 使用 REST API
<a name="MFADeleteAPI"></a>

以下示例删除了在存储桶中配置为启用 MFA 删除的 `my-image.jpg`（具有指定版本）。

有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html)。

```
1. DELETE /my-image.jpg?versionId=3HL4kqCxf3vjVBH40Nrjfkd HTTPS/1.1
2. Host: bucketName.s3.amazonaws.com
3. x-amz-mfa: 20899872 301749
4. Date: Wed, 28 Oct 2009 22:32:00 GMT
5. Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=
```