Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
È possibile utilizzare Operazioni in batch Amazon S3 con S3 Object Lock per gestire la conservazione o attivare un blocco legale per molti oggetti Amazon S3 contemporaneamente. Si specifica l'elenco degli oggetti di destinazione nel manifesto e lo si invia a Operazioni in batch per il completamento. Per ulteriori informazioni, consulta Conservazione Blocco oggetto S3 e Blocco di carattere legale del blocco oggetti S3.
Gli esempi seguenti mostrano come creare un ruolo AWS Identity and Access Management (IAM) con autorizzazioni S3 Batch Operations e aggiornare le autorizzazioni del ruolo per creare lavori che abilitino Object Lock. È inoltre necessario disporre di un manifesto CSV
che identifichi gli oggetti per il processo Operazioni in batch S3. Per ulteriori informazioni, consulta Specifica di un manifest.
Per utilizzare gli esempi seguenti, sostituisci
con le tue informazioni. user input
placeholders
-
Creare un ruolo IAM e assegnare autorizzazioni delle operazioni in batch S3 per l'esecuzione.
Questa fase è necessaria per tutti i processi di operazioni in batch S3.
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
}" -
Configurare le operazioni in batch S3 con il blocco oggetti S3 per l'esecuzione.
In questa fase è possibile consentire al ruolo di eseguire le operazioni seguenti:
-
Eseguire Object Lock sul bucket S3 che contiene gli oggetti di destinazione su cui eseguire Operazioni in batch.
-
Leggere il bucket S3 in cui si trovano il file manifesto CSV e gli oggetti.
-
Scrivi i risultati del processo di Operazioni in batch S3 nel bucket di reporting.
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
}" -
Gli esempi seguenti mostrano come creare un ruolo IAM con le autorizzazioni per Operazioni in batch S3 e aggiornare le autorizzazioni del ruolo per creare processi che abilitano Object Lock tramite AWS SDK for Java. È inoltre necessario disporre di un manifest CSV
che identifichi gli oggetti per il processo di operazioni in batch S3. Per ulteriori informazioni, consulta Specifica di un manifest.
Esegui queste fasi:
-
Creare un ruolo IAM e assegnare autorizzazioni delle operazioni in batch S3 per l'esecuzione. Questa fase è necessaria per tutti i processi di operazioni in batch S3.
-
Configurare Operazioni in batch S3 con S3 Object Lock per l'esecuzione.
Consenti al ruolo di eseguire le seguenti operazioni:
-
Eseguire il blocco oggetti sul bucket S3 che contiene gli oggetti di destinazione su cui eseguire le operazioni in batch.
-
Leggere il bucket S3 in cui si trovano il file manifesto CSV e gli oggetti.
-
Scrivere i risultati del processo di operazioni in batch S3 nel bucket di reporting.
-
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);
}