

# Uso de Operaciones por lotes de S3 para desactivar las retenciones legales de Bloqueo de objetos de S3
<a name="batch-ops-legal-hold-off"></a>

El siguiente ejemplo se basa en los ejemplos anteriores de creación de una política de confianza y en establecer permisos de configuración de Operaciones por lotes de S3 y Bloqueo de objetos en S3. Este ejemplo muestra cómo deshabilitar la retención legal de Bloqueo de objetos mediante Operaciones por lotes. 

En el ejemplo se actualiza primero el rol para conceder permisos `s3:PutObjectLegalHold`, se crea un trabajo de Operaciones por lotes que desactiva (quita) la retención legal de los objetos identificados en el manifiesto e informa al respecto.

Para utilizar los siguientes ejemplos, reemplace los {{`user input placeholders`}} con su propia información. 

## Mediante AWS CLI
<a name="batch-ops-cli-object-lock-legalhold-example"></a>

En los siguientes ejemplos de AWS CLI, se muestra cómo utilizar Operaciones por lotes para desactivar las retenciones legales de Bloqueo de objetos de S3 en varios objetos.

**Example — Actualizaciones del rol para conceder permisos `s3:PutObjectLegalHold`**  

```
export AWS_PROFILE='{{aws-user}}'

read -d '' {{legal_hold_permissions}} <<EOF
{
    "Version": "2012-10-17"		 	 	 ,		 	 	 TCX5-2025-waiver;,
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectLegalHold"
            ],
            "Resource": [
                "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}/*"
            ]
        }
    ]

EOF

aws iam put-role-policy --role-name {{batch_operations-objectlock}} --policy-name {{legal-hold-permissions}} --policy-document "${{{legal_hold_permissions}}}"
```

**Example — Desactivación de la retención legal**  
El siguiente ejemplo desactiva la retención legal.  

```
export AWS_PROFILE='{{aws-user}}'
export AWS_DEFAULT_REGION='{{us-west-2}}'
export ACCOUNT_ID={{123456789012}}
export ROLE_ARN='arn:aws:iam::{{123456789012}}:role/{{batch_operations-objectlock}}'

read -d '' {{OPERATION}} <<EOF
{
  "S3PutObjectLegalHold": {
    "LegalHold": {
      "Status":"OFF"
    }
  }
}
EOF

read -d '' {{MANIFEST}} <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::{{{{amzn-s3-demo-manifest-bucket}}/legalhold-object-manifest.csv}}",
    "ETag": "{{Your-manifest-ETag}}"
  }
}
EOF

read -d '' {{REPORT}} <<EOF
{
  "Bucket": "arn:aws:s3:::{{amzn-s3-demo-completion-report-bucket}}",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "{{reports/legalhold-objects-batch_operations}}",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${{{ACCOUNT_ID}}}" \
    --manifest "${{{MANIFEST}}//$'\n'}" \
    --operation "${{{OPERATION}}//$'\n'/}" \
    --report "${{{REPORT}}//$'\n'}" \
    --priority {{10}} \
    --role-arn "${{{ROLE_ARN}}}" \
    --client-request-token "$(uuidgen)" \
    --region "${{{AWS_DEFAULT_REGION}}}" \
    --description "{{Turn off legal hold}}";
```

## Uso de AWS SDK para Java
<a name="batch-ops-examples-java-object-lock-legalhold"></a>

Para ver ejemplos de cómo usar operaciones por lotes de S3 para desactivar la retención legal del bloqueo de objetos de S3 con el AWS SDK para Java, consulte [Use CreateJob with an AWS SDK or CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) en la *Referencia de la API de Amazon S3*.