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.
Sie können Amazon S3 Batch Operations mit der S3-Objektsperre verwenden, um für viele Amazon-S3-Objekte gleichzeitig die Aufbewahrung zu verwalten oder eine rechtliche Aufbewahrungsfrist zu wählen. 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 AWS Identity and Access Management (IAM-) Rolle mit S3 Batch Operations-Berechtigungen erstellen und die Rollenberechtigungen aktualisieren, um Jobs zu erstellen, die Object Lock aktivieren. 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.
Um die folgenden Beispiele zu verwenden, ersetzen Sie die
durch Ihre eigenen Informationen. user input
placeholders
-
Erstellen Sie eine IAM-Rolle und weisen Sie zur Ausführung Berechtigungen für S3-Batch-Vorgänge 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 des S3-Buckets, in dem sich die Manifest-CSV-Datei 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
}" -
In den folgenden Beispielen wird gezeigt, wie Sie eine IAM-Rolle mit Berechtigungen für S3 Batch Operations erstellen und die Rollenberechtigungen aktualisieren, um Aufträge zu erstellen, die die Objektsperre mithilfe von AWS SDK for Java aktivieren. 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 zur Ausführung Berechtigungen für S3-Batch-Vorgänge 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 des S3-Buckets, in dem sich die Manifest-CSV-Datei 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);
}