Definir a retenção do Bloqueio de Objetos usando o Operações em Lote
É possível usar o Operações em Lote do Amazon S3 com o Bloqueio de Objetos do S3 para gerenciar a retenção de vários objetos do Amazon S3 de uma só vez. Especifique a lista de objetos de destino no manifesto e envie-a para as operações em lote para conclusão. Para ter mais informações, consulte Retenção do Bloqueio de objetos do S3 e Retenção legal do Bloqueio de objetos do S3.
Os exemplos a seguir mostram como criar um perfil do AWS Identity and Access Management (IAM) com permissões do Operações em Lote do S3 e atualizar as permissões do perfil para incluir as permissões s3:PutObjectRetention
de modo que possa executar a retenção do Bloqueio de Objetos do S3 nos objetos do bucket do manifesto. Você também deve ter um manifesto CSV
que identifica os objetos para o trabalho do Operações em Lote do S3. Para ter mais informações, consulte Especificar um manifesto.
Para usar os exemplos a seguir, substitua
por suas próprias informações. user input
placeholders
O exemplo AWS CLI a seguir mostra como usar o Operações em Lote para aplicar a retenção do Bloqueio de Objetos do S3 a vários objetos.
export AWS_PROFILE='
aws-user
' read -d ''retention_permissions
<<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObjectRetention" ], "Resource": [ "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket
}}/*" ] } ] } EOF aws iam put-role-policy --role-namebatch_operations-objectlock
--policy-nameretention-permissions
--policy-document "${retention_permissions
}"
O exemplo AWS SDK for Java a seguir mostra como usar o Operações em Lote para aplicar a retenção do Bloqueio de Objetos do S3 a vários objetos.
public void allowPutObjectRetention() { final String roleName = "
batch_operations-object-lock
"; final String retentionPermissions = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [" + " {" + " \"Effect\": \"Allow\"," + " \"Action\": [" + " \"s3:PutObjectRetention\"" + " ]," + " \"Resource\": [" + " \"arn:aws:s3:::amzn-s3-demo-manifest-bucket
*\"" + " ]" + " }" + " ]" + "}"; final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient(); final PutRolePolicyRequest putRolePolicyRequest = new PutRolePolicyRequest() .withPolicyDocument(retentionPermissions) .withPolicyName("retention-permissions
") .withRoleName(roleName); final PutRolePolicyResult putRolePolicyResult = iam.putRolePolicy(putRolePolicyRequest); }