使用分批操作设置对象锁定保留 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用分批操作设置对象锁定保留

可以将 Amazon S3 批量操作与 S3 对象锁定结合使用,以便同时管理许多 Amazon S3 对象的保留。您可以在清单中指定目标对象的列表并将该列表提交到分批操作以完成操作。有关更多信息,请参阅S3 对象锁定保留S3 对象锁定依法保留

以下示例说明如何创建具有 S3 批量操作权限的 Amazon Identity and Access Management(IAM)角色,并更新角色权限来包含 s3:PutObjectRetention 权限,以便您可以对清单存储桶中的对象运行 S3 对象锁定保留。还必须有一个 CSV 清单来标识 S3 批量操作任务的对象。有关更多信息,请参阅 指定清单

要使用以下示例,请将 user input placeholders 替换为您自己的信息。

以下 Amazon CLI 示例说明如何使用批量操作跨多个对象应用 S3 对象锁定保留。

export AWS_PROFILE='aws-user' read -d '' retention_permissions <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObjectRetention" ], "Resource": [ "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}/*" ] } ] } EOF aws iam put-role-policy --role-name batch_operations-objectlock --policy-name retention-permissions --policy-document "${retention_permissions}"

以下Amazon SDK for Java 示例说明如何使用批量操作跨多个对象应用 S3 对象锁定保留。

public void allowPutObjectRetention() { final String roleName = "batch_operations-object-lock"; final String retentionPermissions = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [" + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"s3:PutObjectRetention\"" + " ]," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-manifest-bucket*\"" + " ]" + " }" + " ]" + "}"; final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); final PutRolePolicyRequest putRolePolicyRequest = new PutRolePolicyRequest() .withPolicyDocument(retentionPermissions) .withPolicyName("retention-permissions") .withRoleName(roleName); final PutRolePolicyResult putRolePolicyResult = iam.putRolePolicy(putRolePolicyRequest); }