Abilitazione del blocco oggetti S3 utilizzando S3 Batch Operations - Amazon Simple Storage Service

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à.

Abilitazione del blocco oggetti S3 utilizzando S3 Batch Operations

Puoi utilizzare Amazon S3 Batch Operations con S3 Object Lock per gestire la conservazione o abilitare la conservazione legale per molti oggetti Amazon S3 contemporaneamente. Specifica l'elenco degli oggetti di destinazione nel manifest e inviarlo alle 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 CSV manifesto che identifichi gli oggetti per il job S3 Batch Operations. Per ulteriori informazioni, consulta Specifica di un manifest.

Per utilizzare i seguenti esempi, sostituisci il segnaposti di input dall'utente con le tue informazioni.

  1. Crea un IAM ruolo e assegna le autorizzazioni di esecuzione di S3 Batch Operations.

    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-name batch_operations-objectlock \ --assume-role-policy-document "${batch_operations_trust_policy}"
  2. 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:

    1. Eseguire il blocco oggetti sul bucket S3 che contiene gli oggetti di destinazione su cui eseguire le operazioni in batch.

    2. Leggi il bucket S3 in cui si trovano il CSV file manifest e gli oggetti.

    3. Scrivere 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-name batch_operations-objectlock \ --policy-name object-lock-permissions \ --policy-document "${batch_operations_permissions}"

Gli esempi seguenti mostrano come creare un IAM ruolo con autorizzazioni S3 Batch Operations e aggiornare le autorizzazioni del ruolo per creare lavori che abilitino Object Lock utilizzando il. 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:

  1. Crea un IAM ruolo e assegna le autorizzazioni di esecuzione di S3 Batch Operations. Questa fase è necessaria per tutti i processi di operazioni in batch S3.

  2. Configurare le operazioni in batch S3 con il blocco oggetti S3 per l'esecuzione.

    Consenti al ruolo di eseguire le seguenti operazioni:

    1. Eseguire il blocco oggetti sul bucket S3 che contiene gli oggetti di destinazione su cui eseguire le operazioni in batch.

    2. Leggi il bucket S3 in cui si trovano il CSV file manifest e gli oggetti.

    3. 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); }