Verwendung von S3 Batch Operations zur Deaktivierung von S3 Object Lock Legal Holds - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung von S3 Batch Operations zur Deaktivierung von S3 Object Lock Legal Holds

Das folgende Beispiel baut auf den vorherigen Beispielen zum Erstellen einer Vertrauensrichtlinie sowie zum Festlegen von S3-Batch-Vorgangs- und S3-Objektsperren-Konfigurations-Berechtigungen auf. Dieses Beispiel zeigt, wie Object Lock Legal Hold für Objekte mithilfe von Batch-Operationen deaktiviert wird.

Im Beispiel wird zuerst die Rolle aktualisiert, um s3:PutObjectLegalHold-Berechtigungen zu erteilen, ein Batch-Vorgangsauftrag erstellt, der die rechtliche Aufbewahrungsfrist von den im Manifest identifizierten Objekten deaktiviert (entfernt) und anschließend Berichte darüber erstellt.

Um die folgenden Beispiele zu verwenden, ersetzen Sie den Platzhalter für Benutzereingaben mit Ihren eigenen Informationen.

Die folgenden AWS CLI Beispiele zeigen, wie Batch-Operationen verwendet werden, um die gesetzlichen Aufbewahrungsfristen von S3 Object Lock für mehrere Objekte zu deaktivieren.

Beispiel — Aktualisiert die Rolle, um s3:PutObjectLegalHold Berechtigungen zu gewähren
export AWS_PROFILE='aws-user' read -d '' legal_hold_permissions <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObjectLegalHold" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] } ] EOF aws iam put-role-policy --role-name batch_operations-objectlock --policy-name legal-hold-permissions --policy-document "${legal_hold_permissions}"
Beispiel — Schaltet die gesetzliche Sperre aus

Im folgenden Beispiel wird die rechtliche Aufbewahrungsfrist deaktiviert.

export AWS_PROFILE='aws-user' export AWS_DEFAULT_REGION='us-west-2' export ACCOUNT_ID=123456789012 export ROLE_ARN='arn:aws:iam::123456789012:role/batch_operations-objectlock' read -d '' OPERATION <<EOF { "S3PutObjectLegalHold": { "LegalHold": { "Status":"OFF" } } } EOF read -d '' MANIFEST <<EOF { "Spec": { "Format": "S3BatchOperations_CSV_20180820", "Fields": [ "Bucket", "Key" ] }, "Location": { "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/legalhold-object-manifest.csv", "ETag": "Your-manifest-ETag" } } EOF read -d '' REPORT <<EOF { "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket", "Format": "Report_CSV_20180820", "Enabled": true, "Prefix": "reports/legalhold-objects-batch_operations", "ReportScope": "AllTasks" } EOF aws \ s3control create-job \ --account-id "${ACCOUNT_ID}" \ --manifest "${MANIFEST//$'\n'}" \ --operation "${OPERATION//$'\n'/}" \ --report "${REPORT//$'\n'}" \ --priority 10 \ --role-arn "${ROLE_ARN}" \ --client-request-token "$(uuidgen)" \ --region "${AWS_DEFAULT_REGION}" \ --description "Turn off legal hold";

Die folgenden AWS SDK for Java Beispiele zeigen, wie Batch-Operationen verwendet werden, um die gesetzlichen Aufbewahrungsfristen von S3 Object Lock für mehrere Objekte zu deaktivieren.

Beispiel — Aktualisiert die Rolle, um s3:PutObjectLegalHold Berechtigungen zu gewähren
public void allowPutObjectLegalHold() { final String roleName = "batch_operations-object-lock"; final String legalHoldPermissions = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [" + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"s3:PutObjectLegalHold\"" + " ]," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-manifest-bucket/*\"" + " ]" + " }" + " ]" + "}"; final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); final PutRolePolicyRequest putRolePolicyRequest = new PutRolePolicyRequest() .withPolicyDocument(legalHoldPermissions) .withPolicyName("legal-hold-permissions") .withRoleName(roleName); final PutRolePolicyResult putRolePolicyResult = iam.putRolePolicy(putRolePolicyRequest); }
Beispiel — Schaltet die gesetzliche Sperre aus

Verwenden Sie das folgende Beispiel, wenn Sie die rechtliche Aufbewahrungsfrist deaktivieren möchten.

public String createLegalHoldOffJob(final AWSS3ControlClient awss3ControlClient) { final String manifestObjectArn = "arn:aws:s3:::amzn-s3-demo-manifest-bucket/legalhold-object-manifest.csv"; final String manifestObjectVersionId = "15ad5ba069e6bbc465c77bf83d541385"; final JobManifestLocation manifestLocation = new JobManifestLocation() .withObjectArn(manifestObjectArn) .withETag(manifestObjectVersionId); final JobManifestSpec manifestSpec = new JobManifestSpec() .withFormat(JobManifestFormat.S3BatchOperations_CSV_20180820) .withFields("Bucket", "Key"); final JobManifest manifestToPublicApi = new JobManifest() .withLocation(manifestLocation) .withSpec(manifestSpec); final String jobReportBucketArn = "arn:aws:s3:::amzn-s3-demo-completion-report-bucket"; final String jobReportPrefix = "reports/legalhold-objects-batch_operations"; final JobReport jobReport = new JobReport() .withEnabled(true) .withReportScope(JobReportScope.AllTasks) .withBucket(jobReportBucketArn) .withPrefix(jobReportPrefix) .withFormat(JobReportFormat.Report_CSV_20180820); final JobOperation jobOperation = new JobOperation() .withS3PutObjectLegalHold(new S3SetObjectLegalHoldOperation() .withLegalHold(new S3ObjectLockLegalHold() .withStatus(S3ObjectLockLegalHoldStatus.OFF))); final String roleArn = "arn:aws:iam::123456789012:role/batch_operations-object-lock"; final Boolean requiresConfirmation = true; final int priority = 10; final CreateJobRequest request = new CreateJobRequest() .withAccountId("123456789012") .withDescription("Turn off legal hold") .withManifest(manifestToPublicApi) .withOperation(jobOperation) .withPriority(priority) .withRoleArn(roleArn) .withReport(jobReport) .withConfirmationRequired(requiresConfirmation); final CreateJobResult result = awss3ControlClient.createJob(request); return result.getJobId(); }