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.
Aktivieren der S3-Objektsperre mit S3-BatchVorgänge
Sie können Amazon S3 Batch Operations mit S3 Object Lock verwenden, um die Aufbewahrung zu verwalten oder eine gesetzliche Aufbewahrungsfrist für viele Amazon S3 S3-Objekte gleichzeitig zu aktivieren. Sie geben die Liste der Zielobjekte in Ihrem Manifest an und senden sie zur Fertigstellung an BatchVorgänge. Weitere Informationen erhalten Sie unter Aufrechterhaltung der S3-Objektsperre und S3-Objektsperre aufgrund gesetzlicher Aufbewahrungsfristen.
Die folgenden Beispiele zeigen, wie Sie eine Rolle AWS Identity and Access Management (IAM) mit S3 Batch Operations-Berechtigungen erstellen und die Rollenberechtigungen aktualisieren, um Jobs zu erstellen, die Object Lock aktivieren. Sie benötigen außerdem ein CSV
Manifest, das die Objekte für Ihren S3 Batch Operations-Job identifiziert. Weitere Informationen finden Sie unter Angeben eines Manifests.
Um die folgenden Beispiele zu verwenden, ersetzen Sie das
mit Ihren eigenen Informationen. Platzhalter für Benutzereingaben
-
Erstellen Sie eine IAM Rolle und weisen Sie S3 Batch Operationsberechtigungen zur Ausführung zu.
Dieser Schritt ist für alle S3-BatchVorgängeaufträge erforderlich.
export AWS_PROFILE='
aws-user
' read -d ''batch_operations_trust_policy
<<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "batchoperations.s3.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } EOF aws iam create-role --role-namebatch_operations-objectlock
\ --assume-role-policy-document "${batch_operations_trust_policy
}" -
Richten Sie S3-Batch-Vorgänge zur Ausführung mit S3-Objektsperre ein.
In diesem Schritt lassen Sie der Rolle Folgendes zu:
-
Führen Sie die Objektsperre in dem S3-Bucket aus, der die Zielobjekte enthält, für die Batch-Vorgänge ausgeführt werden soll.
-
Lesen Sie den S3-Bucket, in dem sich die CSV Manifestdatei und die Objekte befinden.
-
Schreiben Sie die Ergebnisse des S3-Batch-Vorgangsauftrags in den Berichts-Bucket.
read -d ''
batch_operations_permissions
<<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket
}}" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket
}}/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::{{amzn-s3-demo-completion-report-bucket
}}/*" ] } ] } EOF aws iam put-role-policy --role-namebatch_operations-objectlock
\ --policy-nameobject-lock-permissions
\ --policy-document "${batch_operations_permissions
}" -
Die folgenden Beispiele zeigen, wie Sie eine IAM Rolle mit S3 Batch Operations-Berechtigungen erstellen und die Rollenberechtigungen aktualisieren, um Jobs zu erstellen, die Object Lock aktivieren, mithilfe von AWS SDK for Java. Sie müssen auch über ein CSV
-Manifest verfügen, das die Objekte für Ihren S3-Batch-Vorgangsauftrag identifiziert. Weitere Informationen finden Sie unter Angeben eines Manifests.
Führen Sie die folgenden Schritte aus:
-
Erstellen Sie eine IAM Rolle und weisen Sie S3 Batch Operationsberechtigungen zur Ausführung zu. Dieser Schritt ist für alle S3-BatchVorgängeaufträge erforderlich.
-
Richten Sie S3-Batch-Vorgänge zur Ausführung mit S3-Objektsperre ein.
Sie lassen der Rolle Folgendes zu:
-
Führen Sie die Objektsperre in dem S3-Bucket aus, der die Zielobjekte enthält, für die Batch-Vorgänge ausgeführt werden soll.
-
Lesen Sie den S3-Bucket, in dem sich die CSV Manifestdatei und die Objekte befinden.
-
Schreiben Sie die Ergebnisse des S3-Batch-Vorgangsauftrags in den Berichts-Bucket.
-
public void createObjectLockRole() { final String roleName = "
batch_operations-object-lock
"; final String trustPolicy = "{" + " \"Version\": \"2012-10-17\", " + " \"Statement\": [ " + " { " + " \"Effect\": \"Allow\", " + " \"Principal\": { " + " \"Service\": [" + " \"batchoperations.s3.amazonaws.com\"" + " ]" + " }, " + " \"Action\": \"sts:AssumeRole\" " + " } " + " ]" + "}"; final String bopsPermissions = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [" + " {" + " \"Effect\": \"Allow\"," + " \"Action\": \"s3:GetBucketObjectLockConfiguration\"," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-manifest-bucket
\"" + " ]" + " }," + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"s3:GetObject\"," + " \"s3:GetObjectVersion\"," + " \"s3:GetBucketLocation\"" + " ]," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-manifest-bucket
/*\"" + " ]" + " }," + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"s3:PutObject\"," + " \"s3:GetBucketLocation\"" + " ]," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-completion-report-bucket
/*\"" + " ]" + " }" + " ]" + "}"; final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); final CreateRoleRequest createRoleRequest = new CreateRoleRequest() .withAssumeRolePolicyDocument(bopsPermissions) .withRoleName(roleName); final CreateRoleResult createRoleResult = iam.createRole(createRoleRequest); final PutRolePolicyRequest putRolePolicyRequest = new PutRolePolicyRequest() .withPolicyDocument(bopsPermissions) .withPolicyName("batch_operations-permissions
") .withRoleName(roleName); final PutRolePolicyResult putRolePolicyResult = iam.putRolePolicy(putRolePolicyRequest); }