

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# `AWSSupport-EmptyS3Bucket`
<a name="automation-aws-empty-s3-bucket"></a>

 **描述** 

 `AWSSupport-EmptyS3Bucket`自动化运行手册使用生命周期过期配置规则清空现有的亚马逊简单存储服务 (Amazon S3) 存储桶。

**重要**  
不支持启用了多重身份验证 (MFA) 的 Amazon S3 存储桶。
 本运行手册修改的生命周期规则将永久删除指定 Amazon S3 存储桶中的所有对象及其版本。您无法恢复永久删除的对象。有关更多信息，请查看[过期对象](https://docs.aws.amazon.com//AmazonS3/latest/userguide/lifecycle-expire-general-considerations.html)。

 **如何工作？** 

 运行手册`AWSSupport-EmptyS3Bucket`执行以下高级步骤：
+ 如果启用，则暂停存储桶版本控制。
+ 更新存储桶策略以拒绝任何 `s3:PutObject` API 调用（以防止在清空时上传新的内容）。
+ 更新生命周期规则以根据输入参数中指定的过期天数删除所有对象。

**注意**  
使用 Amazon S3 对象锁定保护的对象版本不会被生命周期配置删除或覆盖。
删除过程是异步的，运行手册执行完成后可能需要一段时间才能完成。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-EmptyS3Bucket) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

/

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。

 该 AutomationAssumeRole 参数需要以下操作才能成功使用运行手册：
+ ssm：DescribeAutomationExecutions
+ ssm：GetAutomationExecution
+ s3：GetBucketVersioning
+ s3：PutBucketVersioning
+ s3：GetBucketPolicy
+ s3：GetBucketLifecycleConfiguration
+ s3：GetLifecycleConfiguration
+ s3：PutBucketPolicy
+ s3：PutBucketLifecycleConfiguration
+ s3：PutLifecycleConfiguration
+ s3：DeleteBucketPolicy
+ s3：DeleteBucketLifecycle

 **说明** 

按照这些步骤对自动化进行配置：

1. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-EmptyS3Bucket/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-EmptyS3Bucket/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 Execute automation（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **AutomationAssumeRole （可选）：**

     允许 Systems Manager Automation 代表您执行操作的 AWS AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 (ARN)。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
   + **S3BucketName：**

     您要清空的 Amazon S3 存储桶的名称。
   + **SNSTopicArn：**

     提供亚马逊 SNS 主题的 ARN 以获得批准通知。此 Amazon SNS 主题用于在自动化执行期间按要求发送批准通知。
   + **ApproverIAM：**

     提供能够批准或拒绝操作的 AWS 经过身份验证的委托人列表。批准者的最大数量为。`10`您可以使用以下任何一种格式来指定委托人： AWS Identity and Access Management (IAM) 用户名、IAM 用户 ARN、IAM 角色 ARN 或 IAM 代入角色用户 ARN。
   + **MinimumRequiredApprovals（可选）：**

     恢复自动化所需的最小批准数。如果未指定值，则系统默认为`1`。此参数的值必须为正数。此参数的值不能超过 approverIAM 参数定义的批准者数量。
   + **NoncurrentVersionExpirationDays（可选）：**

     指定非当前对象版本过期的天数。到期后，Amazon S3 将永久删除非当前对象版本。
     + 默认值：`1`
     + 最大值：`365`
   + **ExpirationDays （可选）：**

     以天数形式指定对象生命周期的到期时间。
     + 默认值：`1`
     + 最大值：`365`
   + **AbortIncompleteMultipartUpload（可选）：**

     指定 Amazon S3 在未完成的分段上传开始后等待的天数，然后才会永久删除上传的所有部分。
     + 默认值：`1`
     + 最大值：`365`
   + **致谢：**

     请阅读本自动化操作手册所执行操作的完整详细信息，`Yes, I understand and acknowledge`如果您确认这些步骤，请表示同意。  
![\[包含 AWSSupport-EmptyS 3Bucket 文档的示例输入参数的图片。\]](http://docs.aws.amazon.com/zh_cn/systems-manager-automation-runbooks/latest/userguide/images/awssupport-empty-s3-bucket_input_parameters.png)

1. 选择执行。

1. 自动化启动。

1. 文档将执行以下步骤：
   + **`checkConcurrency`**:

     确保只有一次针对指定的 Amazon S3 存储桶执行此运行手册。如果 runbook 发现另一个针对相同存储桶名称的正在执行的执行，则会返回错误并结束。
   + **`getBucketVersioningConfiguration`**:

     获取指定 Amazon S3 存储桶的版本控制状态。
   + **`branchOnStoppingIfMFADeleteEnabled`**（有条件的）：

     如果在指定的 Amazon S3 存储桶上启用了多重身份验证 (MFA)，则停止自动化。
   + **`approvalToMakeChangesToTheProvidedS3Bucket`**:

     等待指定委托人批准后才能禁用存储桶版本控制并更新指定 Amazon S3 存储桶的存储桶策略和生命周期规则配置。
   + **`branchOnBucketVersioningStatus`**（有条件的）：

     如果在指定的 Amazon S3 存储桶上启用了版本控制，请将其禁用，否则请继续更新存储桶策略和生命周期配置。
   + **`suspendBucketVersioning`**:

     暂停指定 Amazon S3 存储桶的版本控制状态。
   + **`updateBucketPolicyAndLifeCycleConfiguration`**:

     添加或更新存储桶策略以拒绝所有`s3:PutObject`请求，并根据用户提供的输入参数更新生命周期配置以使对象过期。
   + **`branchOnFailingIfBucketPropertiesNotUpdated`**（有条件的）：

     检查`updateBucketPolicyAndLifeCycleConfiguration`步骤的状态，如果自动更改了原始存储桶版本控制状态，则尝试恢复原始存储桶版本控制状态。
   + **`branchOnFailureOriginalVersioningStatus`**（有条件的）：

     失败时，分支以确定原始版本控制状态。如果此自动化已启用并暂停，请尝试再次启用。
   + **`onFailureRestoreBucketVersioning`**

     恢复指定 Amazon S3 存储桶的启用版本控制状态。

1. 完成后，请查看 “输出” 部分，了解执行的详细结果：  
![\[该图像包含 AWSSupport-EmptyS 3Bucket 文档执行的输出，显示成功执行和配置的生命周期策略。\]](http://docs.aws.amazon.com/zh_cn/systems-manager-automation-runbooks/latest/userguide/images/awssupport-empty-s3-bucket_outputs.png)
   + **成功执行**

     此工作流程更新了存储桶的生命周期规则。将根据`Delete-All-AWSSupport-EmptyS3-Bucket`生命周期策略删除对象。  
![\[包含已配置的 Delete-All-AWSSupport-EmptyS 3 桶生命周期策略的图片。\]](http://docs.aws.amazon.com/zh_cn/systems-manager-automation-runbooks/latest/userguide/images/awssupport-empty-s3-bucket_outputs_lifecycle_policy.png)
   + **失败执行**

     将不执行部分删除。如果执行失败，则会回滚生命周期和其他存储桶设置。

**参考**

Systems Manager Automation
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-EmptyS3Bucket/description)
+ [运行自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [设置自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support 自动化工作流程](https://aws.amazon.com/premiumsupport/technology/saw/)

有关管理 Amazon S3 存储桶和对象的更多信息，请参阅[清空存储桶。](https://docs.aws.amazon.com//AmazonS3/latest/userguide/empty-bucket.html)