Habilitar o Bloqueio de objetos do S3 usando o Operações em lote do S3 - Amazon Simple Storage Service

Habilitar o Bloqueio de objetos do S3 usando o Operações em lote do S3

É possível usar o Operações em Lote do Amazon S3 com o Bloqueio de Objetos do S3 para gerenciar a retenção ou habilitar uma retenção legal para 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 obter 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 criar trabalhos que habilitem o Bloqueio de Objetos. 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 user input placeholders por suas próprias informações.

  1. Crie uma função do IAM e atribua permissões de operações em lote do S3 para executar.

    Esta etapa é necessária para todos os trabalhos de operações em lote do 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. Configure operações em lote do S3 com bloqueio de objeto do S3 para executar.

    Nesta etapa, permita que a função faça o seguinte:

    1. Execute o bloqueio de objeto no bucket do S3 que contém os objetos de destino nos quais você deseja que as operações em lote sejam executadas.

    2. Leia o bucket do S3 no qual estão localizados o arquivo CSV de manifesto e os objetos.

    3. Grave os resultados do trabalho de operações em lote do S3 no bucket de relatórios.

    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}"

Você pode criar um perfil do IAM com permissões do recurso Operações em Lote do S3 e usar o AWS SDK para Java para atualizar as permissões de perfil para criar trabalhos que habilitem o Bloqueio de Objetos. Você também deve ter um manifesto CSV identificando os objetos para o trabalho de operações em lote do S3. Para ter mais informações, consulte Especificar um manifesto.

Siga estas etapas:

  1. Crie uma função do IAM e atribua permissões de operações em lote do S3 para executar. Esta etapa é necessária para todos os trabalhos de operações em lote do S3.

  2. Configure operações em lote do S3 com bloqueio de objeto do S3 para executar.

    Permita que a função faça o seguinte:

    1. Execute o bloqueio de objeto no bucket do S3 que contém os objetos de destino nos quais você deseja que as operações em lote sejam executadas.

    2. Leia o bucket do S3 no qual estão localizados o arquivo CSV de manifesto e os objetos.

    3. Grave os resultados do trabalho de operações em lote do S3 no bucket de relatórios.

Para ver um exemplo de código que demonstra como criar um perfil do IAM para habilitar o Bloqueio de Objetos do S3 usando o recurso Operações em Lote do S3 com o AWS SDK para Java, consulte CreateObjectLockRole.java nos exemplos de código do AWS SDK para Java 2.x.