本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-EmptyS3Bucket
描述
AWSSupport-EmptyS3Bucket自动化运行手册使用生命周期到期配置规则清空现有的亚马逊简单存储服务 (Amazon S3) 存储桶。
重要
-
不支持启用 Multi-factor 身份验证 (MFA) 的 Amazon S3 存储桶。
-
本运行手册修改的生命周期规则将永久删除指定 Amazon S3 存储桶中的所有对象及其版本。您无法恢复永久删除的对象。有关更多信息,请查看过期对象。
如何工作?
该运行手册AWSSupport-EmptyS3Bucket执行以下高级步骤:
-
如果已启用,则暂停存储桶版本控制。
-
更新存储桶政策以拒绝任何
s3:PutObjectAPI 调用(以防止在清空时进行新的上传)。 -
更新生命周期规则,根据输入参数中指定的到期天数删除所有对象。
注意
-
受 Amazon S3 对象锁保护的对象版本不会被生命周期配置删除或覆盖。
-
删除过程是异步的,运行手册执行完成后可能需要一段时间才能完成。
文档类型
自动化
所有者
Amazon
平台
/
所需的 IAM 权限
AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。
该 AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册:
-
短信:DescribeAutomationExecutions
-
短信:GetAutomationExecution
-
s3:GetBucketVersioning
-
s3:PutBucketVersioning
-
s3:GetBucketPolicy
-
s3:GetBucketLifecycleConfiguration
-
s3:GetLifecycleConfiguration
-
s3:PutBucketPolicy
-
s3:PutBucketLifecycleConfiguration
-
s3:PutLifecycleConfiguration
-
s3:DeleteBucketPolicy
-
s3:DeleteBucketLifecycle
说明
按照这些步骤对自动化进行配置:
-
导航到
AWSSupport-EmptyS3Bucket“系统管理器” 下的 “文档”。 -
选择 Execute automation(执行自动化)。
-
对于输入参数,输入以下内容:
-
AutomationAssumeRole (可选):
(IAM) 角色的亚马逊资源名称 AWS AWS Identity and Access Management (ARN),允许系统管理员自动化代表您执行操作。如果未指定任何角色,系统管理员自动化将使用启动本运行手册的用户的权限。
-
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如果您确认这些步骤,请表示同意。
-
-
选择执行。
-
自动化启动。
-
文档将执行以下步骤:
-
checkConcurrency:确保此运行手册仅针对指定的 Amazon S3 存储桶执行一次。如果运行手册发现另一项针对相同存储桶名称的正在执行中,则会返回错误并结束。
-
getBucketVersioningConfiguration:获取指定 Amazon S3 存储桶的版本控制状态。
-
branchOnStoppingIfMFADeleteEnabled(有条件的):如果在指定的 Amazon S3 存储桶上启用了 Multi-factor 身份验证 (MFA),则停止自动化。
-
approvalToMakeChangesToTheProvidedS3Bucket:等待指定负责人批准禁用存储桶版本控制并更新指定 Amazon S3 存储桶的存储桶策略和生命周期规则配置。
-
branchOnBucketVersioningStatus(有条件的):如果在指定的 Amazon S3 存储桶上启用了版本控制,则将其禁用,否则继续更新存储桶策略和生命周期配置。
-
suspendBucketVersioning:暂停指定 Amazon S3 存储桶的版本控制状态。
-
updateBucketPolicyAndLifeCycleConfiguration:添加或更新存储桶策略以拒绝所有
s3:PutObject请求,并根据用户提供的输入参数更新生命周期配置以使对象过期。 -
branchOnFailingIfBucketPropertiesNotUpdated(有条件的):检查该
updateBucketPolicyAndLifeCycleConfiguration步骤的状态,如果通过自动化进行了更改,则尝试恢复原始存储桶版本控制状态。 -
branchOnFailureOriginalVersioningStatus(有条件的):失败时,分支机构以确定原始版本控制状态。如果此自动化已启用和暂停,则尝试再次启用它。
-
onFailureRestoreBucketVersioning恢复指定 Amazon S3 存储桶的启用版本控制状态。
-
-
完成后,查看 “输出” 部分,了解详细的执行结果:
-
成功执行
此工作流程更新存储桶的生命周期规则。将根据
Delete-All-AWSSupport-EmptyS3-Bucket生命周期策略删除对象。
-
失败执行
不会执行部分删除。如果执行失败,生命周期和其他存储桶设置将被回滚。
-
参考
Systems Manager Automation
有关管理 Amazon S3 存储桶和对象的更多信息,请参阅清空存储桶。