

# Bloqueo de objetos mediante Bloqueo de objetos
<a name="object-lock"></a>

Bloqueo de objetos de S3 puede ayudar a evitar que se eliminen o se sobreescriban objetos de Amazon S3 durante un periodo de tiempo determinado o de manera indefinida. Bloqueo de objetos utiliza un modelo de *escritura única y lectura múltiple* (WORM) para almacenar objetos. Bloqueo de objetos se puede utilizar para cumplir con los requisitos normativos que requieren almacenamiento WORM o simplemente para agregar otra capa de protección para evitar cambios o eliminaciones de objetos.

**nota**  
Cohasset Associates ha evaluado el uso de Bloqueo de objetos de S3 en entornos sujetos a las normativas SEC 17a-4, CFTC y FINRA. Para obtener más información acerca de cómo Bloqueo de objetos está relacionado con estas regulaciones, consulte la [Evaluación de cumplimiento de Cohasset Associates](https://d1.awsstatic.com/r2018/b/S3-Object-Lock/Amazon-S3-Compliance-Assessment.pdf).

Bloqueo de objetos de S3 ofrece dos maneras de administrar la retención de objetos: *periodos de retención* y *retenciones legales*. Una versión de un objeto puede tener un periodo de retención, una retención legal, o ambos.
+ **Periodo de retención**: un periodo de retención especifica un periodo de tiempo fijo durante el cual una versión de objeto permanece bloqueada. También puede establecer un periodo de retención único para los objetos individuales. Además, puede establecer un periodo de retención predeterminado en un bucket de S3. También puede restringir los períodos de retención mínimos y máximos permitidos con la clave de condición `s3:object-lock-remaining-retention-days` de la política de bucket. Esta clave de condición le ayuda a establecer el periodo de retención permitido. Para obtener más información, consulte [Establecimiento de límites en los periodos de retención con una política de bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-retention-limits).
+ **Retención legal**: una retención legal proporciona la misma protección que un periodo de retención, pero no tiene fecha de vencimiento. En cambio, la retención legal sigue vigente hasta que la elimine explícitamente. Las retenciones legales son independientes de los periodos de retención y se aplican a versiones de objetos individuales.

El bloqueo de objetos solo funciona en buckets que tienen activado el control de versiones de S3. Cuando bloquea una versión de un objeto, Amazon S3 almacena la información de bloqueo en los metadatos de esa versión del objeto. Al colocar un periodo de retención o retención legal en un objeto se protege solo la versión que se especifica en la solicitud. Los periodos de retención y las retenciones legales no impiden la creación de nuevas versiones del objeto ni la adición de marcadores de borrado encima del objeto. Para obtener más información sobre el control de versiones de S3, consulte [Retención de varias versiones de objetos con Control de versiones de S3](Versioning.md).

Si pone un objeto en un bucket que ya contiene un objeto que ya existe y está protegido con el mismo nombre de clave del objeto, Amazon S3 crea una nueva versión de ese objeto. La versión existente y protegida del objeto permanece bloqueada en función de su configuración de retención.

## Cómo funciona Bloqueo de objetos de S3
<a name="object-lock-overview"></a>

**Topics**
+ [

### Periodos de retención
](#object-lock-retention-periods)
+ [

### Modos de retención
](#object-lock-retention-modes)
+ [

### Retenciones legales
](#object-lock-legal-holds)
+ [

### Cómo funcionan las eliminaciones con el bloqueo de objetos de S3
](#object-lock-how-deletes-work)
+ [

### Prácticas recomendadas para el uso de Bloqueo de objetos de S3
](#object-lock-best-practices)
+ [

### Permisos necesarios
](#object-lock-permissions)

### Periodos de retención
<a name="object-lock-retention-periods"></a>

Un *periodo de retención* protege una versión de un objeto por un periodo de tiempo determinado. Cuando coloca un periodo de retención en una versión del objeto, Amazon S3 almacena una marca temporal en los metadatos de la versión del objeto para indicar el vencimiento del periodo de retención. Cuando vence el periodo de retención, es posible sobrescribir o eliminar la versión del objeto.

Puede colocar un periodo de retención de forma explícita en la versión de un objeto individual o en las propiedades de un bucket para que se aplique automáticamente a todos los objetos del bucket. Cuando se aplica un periodo de retención a una versión de objeto explícitamente, se especifica una *Fecha de finalización de la retención* de la versión de objeto. Amazon S3 almacena esta fecha en los metadatos de la versión del objeto.

También puede establecer un periodo de retención en las propiedades de un bucket. Al establecer un periodo de retención en un bucket, especifica una duración, en días o años, para proteger cada versión del objeto colocada en el bucket. Cuando coloca un objeto en un bucket, Amazon S3 calcula una *fecha de finalización de la retención* de la versión del objeto agregando la duración especificada a la marca temporal de creación de la versión del objeto. La versión del objeto queda protegida exactamente como si hubiese colocado en esta un bloqueo individual con ese periodo de retención.

**nota**  
Cuando se aplica `PUT` a la versión de un objeto que tiene un modo y un periodo de retención individual explícitos en un bucket, la configuración de bloqueo de objetos individual de la versión del objeto anula cualquier configuración de retención para las propiedades del bucket.

Como todos los demás ajustes de Bloqueo de objetos, los periodos de retención solo se aplican a versiones del objeto individuales. Diferentes versiones del mismo objeto pueden tener distintos modos y periodos de retención.

Por ejemplo, supongamos que tiene un objeto para el que han transcurrido 15 días de un periodo de retención de 30 días y aplica `PUT` a un objeto en Amazon S3 con el mismo nombre y un periodo de retención de 60 días. En este caso, su solicitud `PUT` se considerará correcta y Amazon S3 creará una nueva versión del objeto con un periodo de retención de 60 días. La versión antigua mantiene su periodo de retención original y podrá borrarse en 15 días.

Una vez que ha aplicado una configuración de retención a una versión de un objeto, puede ampliar el periodo de retención. Para ello, envíe una nueva solicitud de bloqueo de objetos para la versión del objeto con una *Fecha de finalización de la retención* que es posterior a la configurada actualmente para esa versión del objeto. Amazon S3 reemplaza el periodo de retención actual con el periodo nuevo, más largo. Cualquier usuario con permisos para colocar un periodo de retención en un objeto puede ampliar un periodo de retención para una versión del objeto. Para establecer un periodo de retención, debe tener el permiso `s3:PutObjectRetention`.

Al establecer un periodo de retención en un objeto o en un bucket de S3, debe seleccionar uno de los dos modos de retención: *cumplimiento* o *gobierno*.

### Modos de retención
<a name="object-lock-retention-modes"></a>

Bloqueo de objetos de S3 brinda dos modos de retención que aplican diferentes niveles de protección a los objetos:
+ Modo Cumplimiento
+ Modo Gobierno

En el modo *Conformidad*, ningún usuario puede sobrescribir ni eliminar una versión de objeto protegida, incluido el usuario raíz de la Cuenta de AWS. Una vez que se ha bloqueado un objeto en el modo Cumplimiento, no es posible cambiar su modo de retención ni acortar su periodo de retención. El modo de conformidad evita que se pueda sobrescribir o eliminar una versión del objeto durante toda la duración del periodo de retención.

**nota**  
La única forma de eliminar un objeto en el modo de cumplimiento antes de que venza su fecha de retención es eliminar la Cuenta de AWS asociada.

En el modo *Gobierno*, los usuarios no pueden sobrescribir ni eliminar una versión del objeto ni alterar su configuración de bloqueo a menos que tengan permisos especiales. Con el modo Gobierno, evita que la mayoría de los usuarios eliminen un objeto, pero puede seguir otorgando permiso a algunos usuarios para alterar la configuración de retención o eliminar los objetos si es necesario. También puede usar el modo Gobierno para probar la configuración del periodo de retención antes de crear un periodo de retención en el modo Cumplimiento. 

Para anular o eliminar la configuración de retención del modo Gobierno, debe tener el permiso `s3:BypassGovernanceRetention` que debe incluir explícitamente `x-amz-bypass-governance-retention:true` como encabezado de la solicitud con cualquier solicitud que requiera la anulación del modo Gobierno. 

**nota**  
De forma predeterminada, la consola de Amazon S3 incluye el encabezado `x-amz-bypass-governance-retention:true`. Si intenta eliminar objetos protegidos por el modo *Gobierno* y cuenta con los permisos `s3:BypassGovernanceRetention`, la operación se realizará correctamente. 

### Retenciones legales
<a name="object-lock-legal-holds"></a>

Con Bloqueo de objetos de S3 también puede colocar una *retención legal* en una versión de objeto. Al igual que un periodo de retención, la retención legal impide que se sobrescriba o elimine una versión de un objeto. Sin embargo, una retención legal no tiene una cantidad de tiempo asociada y sigue vigente hasta que se elimine. Los usuarios con el permiso `s3:PutObjectLegalHold` pueden colocar y eliminar libremente retenciones legales. 

Las retenciones legales son independientes de los periodos de retención. La colocación de una retención legal en una versión de un objeto no afecta al modo ni al periodo de retención de dicha versión del objeto. 

Por ejemplo, supongamos que coloca una retención legal en una versión de un objeto y que esta también recibe protección de un periodo de retención. Si vence el periodo de retención, el objeto no perderá su protección WORM. En cambio, la retención legal continúa protegiendo el objeto hasta que un usuario autorizado la elimine explícitamente. De igual modo, si elimina una retención legal en una versión del objeto que tiene un periodo de retención vigente, la versión del objeto seguirá protegida hasta que venza el periodo de retención.

### Cómo funcionan las eliminaciones con el bloqueo de objetos de S3
<a name="object-lock-how-deletes-work"></a>

Si el bucket tiene el bloqueo de objetos de S3 habilitado y el objeto está protegido por un periodo de retención o una retención legal e intenta eliminar un objeto, Amazon S3 devuelve una de las siguientes respuestas, en función de cómo intentó eliminar el objeto:
+ **Solicitud `DELETE` permanente**: si ha emitido una solicitud `DELETE` permanente (una solicitud que especifica un ID de versión), Amazon S3 devuelve un error de acceso denegado (`403 Forbidden`) cuando intenta eliminar el objeto. Para obtener más información sobre la solución de errores de acceso denegado con bloqueo de objetos, consulte [Configuración de bloqueo de objetos de S3](troubleshoot-403-errors.md#troubleshoot-403-object-lock).
+ **Solicitud `DELETE` sencilla**: si ha emitido una solicitud `DELETE` sencilla (una solicitud que no especifica un ID de versión), Amazon S3 devuelve una respuesta `200 OK` e inserta un [marcador de eliminación](DeleteMarker.md) en el bucket y ese marcador se convierte en la versión actual del objeto con un nuevo ID. Para obtener más información acerca de la administración de los marcadores de eliminación con el bloqueo de objetos, consulte [Administración de los marcadores de eliminación con Bloqueo de objetos](object-lock-managing.md#object-lock-managing-delete-markers).

### Prácticas recomendadas para el uso de Bloqueo de objetos de S3
<a name="object-lock-best-practices"></a>

Considere la posibilidad de utilizar el *Modo Cumplimiento* si desea evitar que la mayoría de los usuarios eliminen los objetos durante un período de retención predefinido, pero al mismo tiempo quiere que algunos usuarios con permisos especiales tengan la flexibilidad de modificar la configuración de retención o eliminar los objetos. 

Considere la posibilidad de utilizar el *Modo Cumplimiento* si no quiere que ningún usuario, ni siquiera el usuario raíz de su Cuenta de AWS, pueda eliminar los objetos durante un período de retención predefinido. Puede utilizar este modo en caso de que necesite almacenar datos conformes. 

Puede utilizar *Retención legal* si no sabe exactamente cuánto tiempo desea que sus objetos permanezcan inmutables. Esto puede deberse a que se va a realizar una auditoría externa de los datos próximamente y desea mantener los objetos inmutables hasta que finalice la auditoría. O podría tener un proyecto en curso que utiliza un conjunto de datos que desea mantener inmutables hasta que se complete el proyecto. 

### Permisos necesarios
<a name="object-lock-permissions"></a>

Las operaciones de Bloqueo de objetos necesitan permisos específicos. En función de la operación exacta que esté intentando, es posible que necesite alguno de los siguientes permisos:
+ `s3:BypassGovernanceRetention`
+ `s3:GetBucketObjectLockConfiguration`
+ `s3:GetObjectLegalHold`
+ `s3:GetObjectRetention`
+ `s3:PutBucketObjectLockConfiguration`
+ `s3:PutObjectLegalHold`
+ `s3:PutObjectRetention`

Para obtener una lista completa de los permisos de S3 con descripciones, consulte [Actions, resources, and condition keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) en la *Referencia de autorizaciones de servicio*.

Para obtener más información sobre los permisos para las operaciones de la API de S3 por tipos de recursos de S3, consulte [Permisos necesarios para las operaciones de la API de Amazon S3](using-with-s3-policy-actions.md).

Para obtener información sobre el uso de condiciones con permisos, consulte [Ejemplos de políticas de bucket que utilizan claves de condición](amazon-s3-policy-keys.md).

# Consideraciones sobre el bloqueo de objetos
<a name="object-lock-managing"></a>

Bloqueo de objetos de S3 puede ayudar a evitar que se eliminen o se sobrescriban objetos durante un periodo de tiempo determinado o de manera indefinida.

Puede utilizar la consola de Amazon S3, AWS Command Line Interface (AWS CLI), los SDK de AWS o la API de REST de Amazon S3 para ver o configurar la información de Bloqueo de objetos. Para obtener información general acerca de las capacidades de Bloqueo de objetos de S3, consulte [Bloqueo de objetos mediante Bloqueo de objetos](object-lock.md).

**importante**  
Una vez que active el bloqueo de objetos en un bucket, no puede desactivarlo ni suspender el control de versiones en ese bucket. 
Los buckets de S3 con bloqueo de objetos no se pueden utilizar como buckets de destino para los registros de acceso al servidor. Para obtener más información, consulte [Registro de solicitudes con registro de acceso al servidor](ServerLogs.md).

**Topics**
+ [

## Permisos para ver la información de bloqueo
](#object-lock-managing-view)
+ [

## Omitir el modo de gobierno
](#object-lock-managing-bypass)
+ [

## Uso de Bloqueo de objetos con la replicación de S3
](#object-lock-managing-replication)
+ [

## Uso de Bloqueo de objetos con cifrado
](#object-lock-managing-encryption)
+ [

## Uso de Bloqueo de objetos con Inventario de Amazon S3
](#object-lock-inv-report)
+ [

## Administración de las políticas de S3 Lifecycle con Bloqueo de objetos
](#object-lock-managing-lifecycle)
+ [

## Administración de los marcadores de eliminación con Bloqueo de objetos
](#object-lock-managing-delete-markers)
+ [

## Uso de S3 Storage Lens con bloqueo de objetos
](#object-lock-storage-lens)
+ [

## Descarga de objetos a un bucket habilitado para Bloqueo de objetos
](#object-lock-put-object)
+ [

## Configurar eventos y notificaciones
](#object-lock-managing-events)
+ [

## Establecer límites a los periodos de retención con una política de bucket
](#object-lock-managing-retention-limits)

## Permisos para ver la información de bloqueo
<a name="object-lock-managing-view"></a>

Puede ver mediante programación el estado de bloqueo de objetos de una versión del objeto de Amazon S3 mediante las operaciones [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) o [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html). Ambas operaciones devuelven el modo de retención, la fecha límite de retención y el estado de la retención legal de la versión del objeto especificada. Además, puede ver el estado de Bloqueo de objetos de varios objetos de su bucket de S3 mediante Inventario de S3. 

A fin de ver el periodo de retención y el modo de retención de la versión del objeto, debe tener el permiso `s3:GetObjectRetention`. A fin de ver el estado de la retención legal de la versión del objeto, debe tener el permiso `s3:GetObjectLegalHold`. Para ver la configuración de retención predeterminada del bucket, debe tener el permiso `s3:GetBucketObjectLockConfiguration`. Si realiza una solicitud para ver la configuración de bloqueo de objetos en un bucket que no tiene activado Bloqueo de objetos de S3, Amazon S3 devuelve un error. 

## Omitir el modo de gobierno
<a name="object-lock-managing-bypass"></a>

Si tiene el permiso `s3:BypassGovernanceRetention`, puede realizar operaciones en versiones de objetos bloqueados en modo Gobierno como si no estuvieran protegidos. Estas operaciones incluyen eliminar una versión del objeto, acortar el periodo de retención o eliminar el periodo de retención de Bloqueo de objetos colocando una nueva solicitud `PutObjectRetention` con parámetros vacíos. 

Para omitir el modo Gobierno, debe indicar explícitamente en la solicitud que desea omitir este modo. Para ello, incluya el encabezado `x-amz-bypass-governance-retention:true` en la solicitud de operación de la API `PutObjectRetention` o utilice el parámetro equivalente en las solicitudes realizadas por medio de la AWS CLI o los SDK de AWS. La consola de S3 aplica automáticamente este encabezado a las solicitudes realizadas a través de la consola de S3 si tiene el permiso `s3:BypassGovernanceRetention`.

**nota**  
Omitir el modo Gobierno no afecta al estado de retención legal de la versión del objeto. Si una versión de un objeto tiene habilitada una retención legal, esta se mantiene e impide solicitudes de sobrescribir o eliminar la versión del objeto.

## Uso de Bloqueo de objetos con la replicación de S3
<a name="object-lock-managing-replication"></a>

Puede utilizar el bloqueo de objetos con la replicación de S3 para permitir copias asíncronas y automáticas de objetos bloqueados y sus metadatos de retención en los buckets de S3. Esto significa que, en el caso de los objetos replicados, Amazon S3 adopta la configuración de bloqueo de objetos del bucket de origen. Dicho de otro modo, si el bucket de origen tiene habilitado el bloqueo de objetos, los buckets de destino deben tenerlo también habilitado. Si un objeto se carga directamente en el bucket de destino (fuera de la replicación de S3), utiliza el bloqueo de objetos establecido en el bucket de destino. Cuando utiliza la replicación, los objetos de un *bucket de origen* se replican en uno o varios *buckets de destino*. 

Para configurar la replicación en un bucket con el Bloqueo de objetos habilitado, puede utilizar la consola de S3, AWS CLI, la API de REST de Amazon S3 o los SDK de AWS.

**nota**  
Para utilizar Bloqueo de objetos con replicación, debe conceder dos nuevos permisos en el bucket de S3 de origen del rol de AWS Identity and Access Management (IAM) que utiliza para configurar la replicación. Los dos nuevos permisos adicionales son `s3:GetObjectRetention` y `s3:GetObjectLegalHold`. Si el rol tiene una instrucción de permisos `s3:Get*`, esa instrucción cumple el requisito. Para obtener más información, consulte [Configuración de permisos para la replicación en directo](setting-repl-config-perm-overview.md).  
Para obtener información general acerca de la replicación de S3, consulte [Replicación de objetos dentro de regiones y entre regiones](replication.md).  
Para ver ejemplos de cómo configurar la replicación de S3, consulte [Ejemplos para configurar la replicación en directo](replication-example-walkthroughs.md).

## Uso de Bloqueo de objetos con cifrado
<a name="object-lock-managing-encryption"></a>

Amazon S3 cifra todos los objetos nuevos de forma predeterminada. Puede usar Bloqueo de objetos con sus objetos cifrados. Para obtener más información, consulte [Protección de los datos mediante el cifrado](UsingEncryption.md).

Si bien Bloqueo de objetos puede ayudar a evitar que se eliminen o se sobrescriban objetos de Amazon S3, no lo protege de la pérdida de acceso a las claves de cifrado o de su eliminación. Por ejemplo, si cifra sus objetos con un cifrado de servidor de AWS KMS y se elimina la clave de AWS KMS, es posible que los objetos se vuelvan ilegibles.

## Uso de Bloqueo de objetos con Inventario de Amazon S3
<a name="object-lock-inv-report"></a>

Es posible configurar el Inventario de Amazon S3 para crear listas de objetos en un bucket de S3 en un periodo definido. Puede configurar el Inventario de Amazon S3 para que incluya los siguientes metadatos de Bloqueo de objetos para sus objetos:
+ La fecha límite de retención
+ El modo de retención
+ El estado de retención legal

Para obtener más información, consulte [Catálogo y análisis de sus datos con Inventario de S3](storage-inventory.md).

## Administración de las políticas de S3 Lifecycle con Bloqueo de objetos
<a name="object-lock-managing-lifecycle"></a>

Las configuraciones de administración del ciclo de vida del objeto continúan funcionando normalmente en objetos protegidos, incluida la colocación de marcadores de eliminación. Sin embargo, una política de caducidad de S3 Lifecycle no puede eliminar una versión bloqueada de un objeto. El bloqueo de objetos se mantiene independientemente de la clase de almacenamiento en la que resida el objeto y durante las transiciones de S3 Lifecycle entre clases de almacenamiento.

Para obtener más información acerca de la administración de ciclos de vida de los objetos, consulte [Administración del ciclo de vida de los objetos](object-lifecycle-mgmt.md).

## Administración de los marcadores de eliminación con Bloqueo de objetos
<a name="object-lock-managing-delete-markers"></a>

Aunque no puede eliminar una versión de objeto protegida, puede crear un marcador de eliminación para ese objeto. Cuando se coloca un marcador de eliminación en un objeto, el objeto no se elimina ni tampoco ninguna versión de este. Sin embargo, hace que Amazon S3 se comporte de muchas de las maneras que lo haría si el objeto se hubiese eliminado. Para obtener más información, consulte [Trabajar con marcadores de eliminación](DeleteMarker.md).

**nota**  
Los marcadores de eliminación no tienen protección WORM, independientemente del periodo de retención o retención legal que se haya aplicado al objeto subyacente.

## Uso de S3 Storage Lens con bloqueo de objetos
<a name="object-lock-storage-lens"></a>

Para ver las métricas de los bytes de almacenamiento habilitados para Object Lock y el recuento de objetos, puede utilizar la Lente de almacenamiento de Amazon S3. Lente de almacenamiento de S3 es una función de análisis de almacenamiento en la nube que puede utilizar para obtener visibilidad en toda la organización sobre el uso y la actividad del almacenamiento de objetos.

Para obtener más información, consulte [Uso de S3 Storage Lens para proteger sus datos](storage-lens-data-protection.md).

Para obtener una lista completa de métricas, consulte [Glosario de métricas de Amazon S3 Storage Lens](storage_lens_metrics_glossary.md).

## Descarga de objetos a un bucket habilitado para Bloqueo de objetos
<a name="object-lock-put-object"></a>

El encabezado `Content-MD5` o `x-amz-sdk-checksum-algorithm` es obligatorio para cualquier solicitud de carga de un objeto con un periodo de retención configurado mediante Bloqueo de objetos. Estos encabezados son una forma de verificar la integridad del objeto durante la carga.

Al cargar un objeto con la consola de Amazon S3, S3 agrega automáticamente el encabezado `Content-MD5`. Si lo desea, puede especificar una función de suma de comprobación y un valor de suma de comprobación adicionales a través de la consola como encabezado `x-amz-sdk-checksum-algorithm`. Si usa la API [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), debe especificar el encabezado `Content-MD5`, el encabezado `x-amz-sdk-checksum-algorithm` o ambos para configurar el periodo de retención de Bloqueo de objetos.

Para obtener más información, consulte [Comprobación de la integridad de objetos en Amazon S3](checking-object-integrity.md).

## Configurar eventos y notificaciones
<a name="object-lock-managing-events"></a>

Puede utilizar las notificaciones de eventos de Amazon S3 para realizar un seguimiento del acceso a los datos y las configuraciones del bloqueo de objetos y los cambios que sufren mediante AWS CloudTrail. Para obtener información acerca de CloudTrail, consulte [¿Qué es AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) en la *Guía del usuario de AWS CloudTrail*.

También puede utilizar Amazon CloudWatch para generar alertas según estos datos. Para obtener información acerca de CloudWatch, consulte [¿Qué es Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) en la *Guía del usuario de Amazon CloudWatch*.

## Establecer límites a los periodos de retención con una política de bucket
<a name="object-lock-managing-retention-limits"></a>

Puede establecer los periodos de retención mínimos y máximos permitidos para un bucket con una política de bucket. El periodo máximo de retención es de 100 años.

En el siguiente ejemplo se muestra una política de bucket que utiliza la clave de condición `s3:object-lock-remaining-retention-days` para establecer un periodo de retención máximo de 10 días.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "SetRetentionLimits",
    "Statement": [
        {
            "Sid": "SetRetentionPeriod",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:PutObjectRetention"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
            "Condition": {
                "NumericGreaterThan": {
                    "s3:object-lock-remaining-retention-days": "10"
                }
            }
        }
    ]
}
```

------

**nota**  
Si el bucket es el bucket de destino para una configuración de replicación, puede configurar períodos de retención mínimos y máximos admisibles para réplicas de objeto que se crean utilizando la replicación. Para ello, debe permitir la acción `s3:ReplicateObject` en su política de bucket. Para obtener más información sobre los permisos de replicación, consulte [Configuración de permisos para la replicación en directo](setting-repl-config-perm-overview.md). 

Para obtener más información acerca de las políticas de buckets, consulte los siguientes temas:
+ [ Actions, resources, and condition keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) en la *Referencia de autorizaciones de servicio*

  Para obtener más información sobre los permisos para las operaciones de la API de S3 por tipos de recursos de S3, consulte [Permisos necesarios para las operaciones de la API de Amazon S3](using-with-s3-policy-actions.md).
+ [Operaciones con objetos](security_iam_service-with-iam.md#using-with-s3-actions-related-to-objects)
+ [Ejemplos de políticas de bucket que utilizan claves de condición](amazon-s3-policy-keys.md)

# Configurar el Bloqueo de objetos de S3
<a name="object-lock-configure"></a>

Bloqueo de objetos de Amazon S3 le permite almacenar objetos en los buckets de uso general de Amazon S3 con un modelo de *escritura única y lectura múltiple* (WORM). Puede usar el bloqueo de objetos de S3 para evitar que se elimine o se sobrescriba un objeto durante un periodo de tiempo determinado o de manera indefinida. Para obtener información general acerca de las capacidades de Bloqueo de objetos, consulte [Bloqueo de objetos mediante Bloqueo de objetos](object-lock.md).

Antes de bloquear cualquier objeto, debe habilitar el control de versiones y el bloqueo de objetos de S3 en un bucket de uso general. Posteriormente, puede establecer un periodo de retención, una retención legal o ambas opciones. 

Para trabajar con Bloqueo de objetos, debe contar con determinados permisos. Para obtener una lista de los permisos relacionados con diversas operaciones de bloqueo de objetos, consulte [Permisos necesarios](object-lock.md#object-lock-permissions).

**importante**  
Una vez que active el bloqueo de objetos en un bucket, no puede desactivarlo ni suspender el control de versiones en ese bucket. 
Los buckets de S3 con bloqueo de objetos no se pueden utilizar como buckets de destino para los registros de acceso al servidor. Para obtener más información, consulte [Registro de solicitudes con registro de acceso al servidor](ServerLogs.md).

**Topics**
+ [

## Activación de Bloqueo de objetos al crear un nuevo bucket de uso general de S3
](#object-lock-configure-new-bucket)
+ [

## Activación de Bloqueo de objetos en un bucket de S3 existente
](#object-lock-configure-existing-bucket)
+ [

## Establecer o modificar una retención legal en un objeto de S3
](#object-lock-configure-set-legal-hold)
+ [

## Establecer o modificar un período de retención en un objeto de S3
](#object-lock-configure-set-retention-period-object)
+ [

## Establecer o modificar un período de retención predeterminado en un bucket de S3
](#object-lock-configure-set-retention-period-bucket)

## Activación de Bloqueo de objetos al crear un nuevo bucket de uso general de S3
<a name="object-lock-configure-new-bucket"></a>

Puede habilitar Bloqueo de objetos al crear un bucket de uso general de S3 nuevo a través de la consola de Amazon S3, AWS Command Line Interface (AWS CLI), los SDK de AWS o la API de REST de Amazon S3.

### Uso de la consola de S3
<a name="object-lock-new-bucket-console"></a>

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets de uso general**.

1. Elija **Crear bucket**.

   Se abrirá la página **Crear bucket**.

1. En **Nombre del bucket**, escriba un nombre para el bucket.
**nota**  
Una vez que haya creado un bucket, no podrá modificar su nombre. Para obtener más información sobre la nomenclatura de los buckets, consulte [Reglas de nomenclatura de buckets de uso general](bucketnamingrules.md).

1. En **Región**, elija la Región de AWS en la que desea que se encuentre el bucket. 

1. En **Propiedad de objetos**, elija esta opción para desactivar o habilitar las listas de control de acceso (ACL) y controlar la propiedad de los objetos cargados en el bucket:

1. En **Configuración de bloqueo de acceso público para este bucket**, elija la configuración Bloquear acceso público que desee aplicar al bucket. 

1. En **Versiones del bucket**, elija **Editar**.

   El Bloqueo de objetos solo funciona con buckets versionados.

1. (Opcional) En **Tags** (Etiquetas), puede elegir añadir etiquetas a su bucket. Las etiquetas son pares clave-valor que se utilizan para categorizar el almacenamiento y asignar los costes.

1. En **Configuración avanzada**, busque **Bloqueo de objetos** y elija **Habilitar**.

   Debe reconocer que si habilita el bloqueo de objetos, se bloquearán permanentemente los objetos de este bucket.

1. Elija **Crear bucket**.

### Uso de AWS CLI
<a name="object-lock-new-bucket-cli"></a>

En el siguiente ejemplo `create-bucket` se crea un nuevo bucket de S3 denominado `amzn-s3-demo-bucket1` con Bloqueo de objetos activado:

```
aws s3api create-bucket --bucket amzn-s3-demo-bucket1 --object-lock-enabled-for-bucket
```

Para obtener más información y ejemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html) en la *referencia de comandos de AWS CLI*.

**nota**  
Puede ejecutar comandos de AWS CLI desde la consola mediante AWS CloudShell. AWS CloudShell es un intérprete de comandos previamente autenticado y basado en el navegador que se puede lanzar directamente desde la página web de la Consola de administración de AWS. Para obtener más información, consulte [¿Qué es CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) en la *Guía del usuario de AWS CloudShell*.

### Uso de la API de REST
<a name="object-lock-new-bucket-rest"></a>

Puede utilizar la API de REST para crear un bucket de S3 nuevo con Bloqueo de objetos activado. Para obtener más información, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) en la *Referencia de la API de Amazon Simple Storage Service*.

### Uso de los AWS SDK
<a name="object-lock-new-bucket-sdk"></a>

Para ver ejemplos de cómo habilitar Bloqueo de objetos al crear un nuevo bucket de S3 con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_LCreateBucket_section.html) en la *Amazon S3 API Reference*.

Para ver ejemplos de cómo obtener la configuración actual de Bloqueo de objetos con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLockConfiguration_section.html) en la *Amazon S3 API Reference*.

Para ver un escenario interactivo que muestre diferentes características de Bloqueo de objetos con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ObjectLock_section.html) en la *Amazon S3 API Reference*.

Para obtener información general sobre el uso de diferentes AWS SDK, consulte [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) en la *Amazon S3 API Reference*.

## Activación de Bloqueo de objetos en un bucket de S3 existente
<a name="object-lock-configure-existing-bucket"></a>

Puede habilitar el bloqueo de objetos para un bucket de S3 existente a través de la consola de Amazon S3, la AWS CLI, los SDK de AWS o la API de REST de Amazon S3.

### Uso de la consola de S3
<a name="object-lock-existing-bucket-console"></a>

**nota**  
El Bloqueo de objetos solo funciona con buckets versionados.

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets**.

1. En la lista **Buckets**, elija el nombre del bucket para el que desea activar el Bloqueo de objetos de S3.

1. Elija la pestaña **Propiedades**.

1. En **Propiedades**, desplácese hacia abajo hasta la sección **Bloqueo de objetos** y seleccione **Editar**.

1. En **Bloqueo de objetos**, seleccione **Habilitar**.

   Debe reconocer que si habilita el bloqueo de objetos, se bloquearán permanentemente los objetos de este bucket.

1. Elija **Save changes (Guardar cambios)**.



### Mediante AWS CLI
<a name="object-lock-existing-bucket-cli"></a>

El siguiente comando de ejemplo `put-object-lock-configuration` establece un período de retención de 50 días para el Bloqueo de objetos en un bucket denominado `amzn-s3-demo-bucket1`:

```
aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'
```

Para obtener más información y ejemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html) en la *referencia de comandos de AWS CLI*.

**nota**  
Puede ejecutar comandos de AWS CLI desde la consola mediante AWS CloudShell. AWS CloudShell es un intérprete de comandos previamente autenticado y basado en el navegador que se puede lanzar directamente desde la página web de la Consola de administración de AWS. Para obtener más información, consulte [¿Qué es CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) en la *Guía del usuario de AWS CloudShell*.

### Uso de la API de REST
<a name="object-lock-existing-bucket-rest"></a>

Puede utilizar la API de REST de Amazon S3 para habilitar el bloqueo de objetos en un bucket de S3 existente. Para obtener más información, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html) en la *Referencia de la API de Amazon Simple Storage Service*.

### Uso de los AWS SDK
<a name="object-lock-existing-bucket-sdk"></a>

Para ver ejemplos de cómo habilitar Bloqueo de objetos para un bucket de S3 existente con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObjectLockConfiguration_section.html) en la *Amazon S3 API Reference*.

Para ver ejemplos de cómo obtener la configuración actual de Bloqueo de objetos con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLockConfiguration_section.html) en la *Amazon S3 API Reference*.

Para ver un escenario interactivo que muestre diferentes características de Bloqueo de objetos con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ObjectLock_section.html) en la *Amazon S3 API Reference*.

Para obtener información general sobre el uso de diferentes AWS SDK, consulte [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) en la *Amazon S3 API Reference*.

## Establecer o modificar una retención legal en un objeto de S3
<a name="object-lock-configure-set-legal-hold"></a>

Puede establecer o eliminar una retención legal en un objeto de S3 mediante la consola de Amazon S3, AWS CLI, los SDK de AWS o la API de REST de Amazon S3.

**importante**  
Si desea establecer una retención legal en un objeto, el bucket del objeto debe tener ya activado el bloqueo de objetos.
Cuando se aplica `PUT` a la versión de un objeto que tiene un modo y un periodo de retención individual explícitos en un bucket, la configuración de bloqueo de objetos individual de la versión del objeto anula cualquier configuración de retención para las propiedades del bucket.

Para obtener más información, consulte [Retenciones legales](object-lock.md#object-lock-legal-holds).

### Uso de la consola de S3
<a name="object-lock-set-legal-hold-console"></a>

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets**.

1. En la lista **Buckets**, seleccione el nombre del bucket que contiene el objeto sobre el que desee establecer o modificar una retención legal.

1. En la lista **Objetos**, seleccione el objeto sobre el que desee establecer o modificar una retención legal.

1. En la página **Propiedades del objeto**, busque la sección **Retención legal de bloqueo de objetos** y seleccione **Editar**.

1. Seleccione **Habilitar** para establecer una retención legal o **Deshabilitar** para eliminar una retención legal.

1. Elija **Guardar cambios**.

### Mediante AWS CLI
<a name="object-lock-set-legal-hold-cli"></a>

En el siguiente ejemplo `put-object-legal-hold` se establece una retención legal sobre el objeto *`my-image.fs`* en el bucket denominado `amzn-s3-demo-bucket1`:

```
aws s3api put-object-legal-hold --bucket amzn-s3-demo-bucket1 --key my-image.fs --legal-hold="Status=ON"
```

En el siguiente ejemplo `put-object-legal-hold` se elimina una retención legal sobre el objeto *`my-image.fs`* en el bucket denominado `amzn-s3-demo-bucket1`:

```
aws s3api put-object-legal-hold --bucket amzn-s3-demo-bucket1 --key my-image.fs --legal-hold="Status=OFF"
```

Para obtener más información y ejemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-legal-hold.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-legal-hold.html) en la *referencia de comandos de AWS CLI*.

**nota**  
Puede ejecutar comandos de AWS CLI desde la consola mediante AWS CloudShell. AWS CloudShell es un intérprete de comandos previamente autenticado y basado en el navegador que se puede lanzar directamente desde la página web de la Consola de administración de AWS. Para obtener más información, consulte [¿Qué es CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) en la *Guía del usuario de AWS CloudShell*.

### Uso de la API de REST
<a name="object-lock-set-legal-hold-rest"></a>

Puede utilizar la API de REST para establecer o modificar una retención legal en un objeto. Para obtener más información, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html) en la *Referencia de la API de Amazon Simple Storage Service*.

### Uso de los AWS SDK
<a name="object-lock-set-legal-hold-sdk"></a>

Para ver ejemplos de cómo establecer una retención legal sobre un objeto con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObjectLegalHold_section.html) en la *Amazon S3 API Reference*.

Para ver ejemplos de cómo obtener el estado de la retención legal actual con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLegalHoldConfiguration_section.html) en la *Amazon S3 API Reference*.

Para ver un escenario interactivo que muestre diferentes características de Bloqueo de objetos con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ObjectLock_section.html) en la *Amazon S3 API Reference*.

Para obtener información general sobre el uso de diferentes AWS SDK, consulte [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) en la *Amazon S3 API Reference*.

## Establecer o modificar un período de retención en un objeto de S3
<a name="object-lock-configure-set-retention-period-object"></a>

Puede establecer o modificar un período de retención en un objeto de S3 mediante la consola de Amazon S3, AWS CLI, los SDK de AWS o la API de REST de Amazon S3.

**importante**  
Si desea establecer un período de retención en un objeto, el bucket del objeto debe tener ya activado el bloqueo de objetos.
Cuando se aplica `PUT` a la versión de un objeto que tiene un modo y un periodo de retención individual explícitos en un bucket, la configuración de bloqueo de objetos individual de la versión del objeto anula cualquier configuración de retención para las propiedades del bucket.
La única forma de eliminar un objeto en el modo de cumplimiento antes de que venza su fecha de retención es eliminar la Cuenta de AWS asociada.

Para obtener más información, consulte [Periodos de retención](object-lock.md#object-lock-retention-periods).

### Uso de la consola de S3
<a name="object-lock-set-retention-period-console"></a>

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets**.

1. En la lista **Buckets**, seleccione el nombre del bucket que contiene el objeto sobre el que desee establecer o modificar un período de retención.

1. En la lista **Objetos**, seleccione el objeto sobre el que desee establecer o modificar un período de retención.

1. En la página **Propiedades del objeto**, busque la sección **Retención de bloqueo de objetos** y seleccione **Editar**.

1. En **Retención**, seleccione **Habilitar** para establecer un período de retención o **Deshabilitar** para eliminar un período de retención.

1. Si se ha seleccionado **Habilitar**, en **Modo de retención**, elija el **modo Gobierno** o el **modo Cumplimiento**. Para obtener más información, consulte [Modos de retención](object-lock.md#object-lock-retention-modes).

1. En **Fecha límite de retención**, elija la fecha en la que desea que finalice el período de retención. Durante este periodo, el objeto tiene protección WORM y no es posible sobrescribirlo ni eliminarlo. Para obtener más información, consulte [Periodos de retención](object-lock.md#object-lock-retention-periods).

1. Elija **Save changes (Guardar cambios)**.

### Mediante AWS CLI
<a name="object-lock-set-retention-period-cli"></a>

En el siguiente ejemplo `put-object-retention` se establece un período de retención sobre el objeto *`my-image.fs`* en el bucket denominado `amzn-s3-demo-bucket1` hasta el 1 de enero de 2025:

```
aws s3api put-object-retention --bucket amzn-s3-demo-bucket1 --key my-image.fs --retention='{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'
```

Para obtener más información y ejemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-retention.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-retention.html) en la *referencia de comandos de AWS CLI*.

**nota**  
Puede ejecutar comandos de AWS CLI desde la consola mediante AWS CloudShell. AWS CloudShell es un intérprete de comandos previamente autenticado y basado en el navegador que se puede lanzar directamente desde la página web de la Consola de administración de AWS. Para obtener más información, consulte [¿Qué es CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) en la *Guía del usuario de AWS CloudShell*.

### Uso de la API de REST
<a name="object-lock-set-retention-period-rest"></a>

Puede utilizar la API de REST para establecer un periodo de retención en un objeto. Para obtener más información, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html) en la *Referencia de la API de Amazon Simple Storage Service*.

### Uso de los AWS SDK
<a name="object-lock-set-retention-period-sdk"></a>

Para ver ejemplos de cómo configurar un periodo de retención en un objeto con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObjectRetention_section.html) en la *Amazon S3 API Reference*.

Para ver ejemplos de cómo obtener el periodo de retención en un objeto con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLockConfiguration_section.html) en la *Amazon S3 API Reference*.

Para ver un escenario interactivo que muestre diferentes características de Bloqueo de objetos con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_GetObjectLockConfiguration_section.html) en la *Amazon S3 API Reference*.

Para obtener información general sobre el uso de diferentes AWS SDK, consulte [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) en la *Amazon S3 API Reference*.

## Establecer o modificar un período de retención predeterminado en un bucket de S3
<a name="object-lock-configure-set-retention-period-bucket"></a>

Puede establecer o modificar un período de retención predeterminado en un bucket de S3 mediante la consola de Amazon S3, AWS CLI, los SDK de AWS o la API de REST de Amazon S3. Se especifica una duración, en días o años, para proteger cada versión del objeto colocada en el bucket.

**importante**  
Si desea establecer un periodo de retención predeterminado en un bucket, el bucket debe contar ya con Bloqueo de objetos activado.
Cuando se aplica `PUT` a la versión de un objeto que tiene un modo y un periodo de retención individual explícitos en un bucket, la configuración de bloqueo de objetos individual de la versión del objeto anula cualquier configuración de retención para las propiedades del bucket.
La única forma de eliminar un objeto en el modo de cumplimiento antes de que venza su fecha de retención es eliminar la Cuenta de AWS asociada.

Para obtener más información, consulte [Periodos de retención](object-lock.md#object-lock-retention-periods).

### Uso de la consola de S3
<a name="object-lock-set-retention-period-bucket-console"></a>

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets**.

1. En la lista **Buckets**, seleccione el nombre del bucket sobre el que desea establecer o modificar un período de retención predeterminado.

1. Elija la pestaña **Propiedades**.

1. En **Propiedades**, desplácese hacia abajo hasta la sección **Bloqueo de objetos** y seleccione **Editar**.

1. En **Retención predeterminada**, seleccione **Habilitar** para establecer un período de retención o **Deshabilitar** para eliminar un período de retención.

1. Si se ha seleccionado **Habilitar**, en **Modo de retención**, elija el **modo Gobierno** o el **modo Cumplimiento**. Para obtener más información, consulte [Modos de retención](object-lock.md#object-lock-retention-modes).

1. En **Período de retención predeterminado**, seleccione el número de días o años que desea que dure el período de retención. Los objetos que se coloquen en este bucket se bloquearán durante ese número de días o años. Para obtener más información, consulte [Periodos de retención](object-lock.md#object-lock-retention-periods).

1. Elija **Save changes (Guardar cambios)**.

### Mediante AWS CLI
<a name="object-lock-configure-set-retention-period-bucket-cli"></a>

El siguiente comando de ejemplo `put-object-lock-configuration` establece un período de retención de Bloqueo de objetos de 50 días en un bucket denominado `amzn-s3-demo-bucket1` mediante el modo de cumplimiento:

```
aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'
```

En el siguiente ejemplo `put-object-lock-configuration` se elimina la configuración de retención predeterminada de un bucket:

```
aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled"}'
```

Para obtener más información y ejemplos, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html) en la *referencia de comandos de AWS CLI*.

**nota**  
Puede ejecutar comandos de AWS CLI desde la consola mediante AWS CloudShell. AWS CloudShell es un intérprete de comandos previamente autenticado y basado en el navegador que se puede lanzar directamente desde la página web de la Consola de administración de AWS. Para obtener más información, consulte [¿Qué es CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) en la *Guía del usuario de AWS CloudShell*.

### Uso de la API de REST
<a name="object-lock-configure-set-retention-period-bucket-rest"></a>

Puede utilizar la API de REST para establecer un periodo de retención predeterminado en un bucket de S3 existente. Para obtener más información, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html) en la *Referencia de la API de Amazon Simple Storage Service*.

### Uso de los AWS SDK
<a name="object-lock-configure-set-retention-period-bucket-sdk"></a>

Para ver ejemplos de cómo establecer un periodo de retención predeterminado en un bucket de S3 existente con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObjectLockConfiguration_section.html) en la *Amazon S3 API Reference*.

Para ver un escenario interactivo que muestre diferentes características de Bloqueo de objetos con los AWS SDK, consulte [Code examples](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_ObjectLock_section.html) en la *Amazon S3 API Reference*.

Para obtener información general sobre el uso de diferentes AWS SDK, consulte [Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html) en la *Amazon S3 API Reference*.