Configurar el Bloqueo de objetos de S3 - Amazon Simple Storage Service

Configurar el Bloqueo de objetos de S3

El bloqueo de objetos de Amazon S3 le permite almacenar objetos en 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 Usar Bloqueo de objetos de S3.

Antes de bloquear cualquier objeto, debe habilitar el control de versiones y el bloqueo de objetos de S3 en un bucket. 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.

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.

Activación de Bloqueo de objetos al crear un nuevo bucket de S3

Puede habilitar el bloqueo de objetos al crear un bucket 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.

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

  3. Elija Crear bucket.

    Se abrirá la página Crear bucket.

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

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

  6. 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:

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

  8. En Versiones del bucket, elija Editar.

    El Bloqueo de objetos solo funciona con buckets versionados.

  9. (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.

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

  11. Elija Crear bucket.

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

aws s3api create-bucket --bucket example-s3-bucket1 --object-lock-enabled-for-bucket

Para obtener más información y ejemplos, consulte create-bucket 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 AWS Management Console. Para obtener más información, consulte ¿Qué es CloudShell? en la Guía del usuario de AWS CloudShell.

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 CreateBucket en la Referencia de la API de Amazon Simple Storage Service.

Para ver ejemplos de cómo habilitar el bloqueo de objetos al crear un nuevo bucket de S3 con los SDK de AWS, consulte Uso de CreateBucket con un AWS SDK o la CLI.

Para ver ejemplos de cómo obtener la configuración actual de bloqueo de objetos con los SDK de AWS, consulte, Uso de GetObjectLockConfiguration con un AWS SDK o la CLI.

Para ver un escenario interactivo que muestre diferentes características de bloqueo de objetos mediante AWS SDK, consulte Trabajo con las características de bloqueo de objetos de Amazon S3 mediante un SDK de AWS.

Para obtener información general sobre el uso de diferentes SDK de AWS, consulte Desarrollo con Amazon S3 mediante los SDK de AWS.

Activación de Bloqueo de objetos en un bucket de S3 existente

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.

nota

El Bloqueo de objetos solo funciona con buckets versionados.

  1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

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

  4. Elija la pestaña Propiedades.

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

  6. En Bloqueo de objetos, seleccione Habilitar.

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

  7. Elija Guardar cambios.

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 example-s3-bucket1:

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

Para obtener más información y ejemplos, consulte put-object-lock-configuration 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 AWS Management Console. Para obtener más información, consulte ¿Qué es CloudShell? en la Guía del usuario de AWS CloudShell.

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 PutObjectLockConfiguration en la Referencia de la API de Amazon Simple Storage Service.

Para ver ejemplos de cómo habilitar el bloqueo de objetos para un bucket de S3 existente con los SDK de AWS, consulte Uso de PutObjectLockConfiguration con un AWS SDK o la CLI.

Para ver ejemplos de cómo obtener la configuración actual de bloqueo de objetos con los SDK de AWS, consulte, Uso de GetObjectLockConfiguration con un AWS SDK o la CLI.

Para ver un escenario interactivo que muestre diferentes características de bloqueo de objetos mediante AWS SDK, consulte Trabajo con las características de bloqueo de objetos de Amazon S3 mediante un SDK de AWS.

Para obtener información general sobre el uso de diferentes SDK de AWS, consulte Desarrollo con Amazon S3 mediante los SDK de AWS.

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.

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

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

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

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

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

  7. Elija Guardar cambios.

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

aws s3api put-object-legal-hold --bucket example-s3-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 example-s3-bucket1:

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

Para obtener más información y ejemplos, consulte put-object-legal-hold 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 AWS Management Console. Para obtener más información, consulte ¿Qué es CloudShell? en la Guía del usuario de AWS CloudShell.

Puede utilizar la API de REST para establecer o modificar una retención legal en un objeto. Para obtener más información, consulte PutObjectLegalHold en la Referencia de la API de Amazon Simple Storage Service.

Para ver ejemplos de cómo configurar una retención legal en un objeto con los SDK de AWS, consulte Uso de PutObjectLegalHold con un AWS SDK o la CLI.

Para ver ejemplos de cómo obtener el estado actual de retención legal con los SDK de AWS, consulte Obtención de la configuración de retención legal de un objeto de Amazon S3 mediante un SDK de AWS.

Para ver un escenario interactivo que muestre diferentes características de bloqueo de objetos mediante AWS SDK, consulte Trabajo con las características de bloqueo de objetos de Amazon S3 mediante un SDK de AWS.

Para obtener información general sobre el uso de diferentes SDK de AWS, consulte Desarrollo con Amazon S3 mediante los SDK de AWS.

Establecer o modificar un período de retención en un objeto de S3

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.

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

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

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

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

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

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

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

  9. Elija Save changes (Guardar cambios).

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 example-s3-bucket1 hasta el 1 de enero de 2025:

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

Para obtener más información y ejemplos, consulte put-object-retention 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 AWS Management Console. Para obtener más información, consulte ¿Qué es CloudShell? en la Guía del usuario de AWS CloudShell.

Puede utilizar la API de REST para establecer un periodo de retención en un objeto. Para obtener más información, consulte PutObjectRetention en la Referencia de la API de Amazon Simple Storage Service.

Para ver ejemplos de cómo configurar un período de retención en un objeto con los SDK de AWS, consulte Uso de PutObjectRetention con un AWS SDK o la CLI.

Para ver ejemplos de cómo obtener el período de retención en un objeto con los SDK de AWS, consulte Uso de GetObjectRetention con un AWS SDK o la CLI.

Para ver un escenario interactivo que muestre diferentes características de bloqueo de objetos mediante AWS SDK, consulte Trabajo con las características de bloqueo de objetos de Amazon S3 mediante un SDK de AWS.

Para obtener información general sobre el uso de diferentes SDK de AWS, consulte Desarrollo con Amazon S3 mediante los SDK de AWS.

Establecer o modificar un período de retención predeterminado en un bucket de S3

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.

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

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

  4. Elija la pestaña Propiedades.

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

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

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

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

  9. Elija Save changes (Guardar cambios).

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 example-s3-bucket1 mediante el modo de cumplimiento:

aws s3api put-object-lock-configuration --bucket example-s3-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 example-s3-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled"}'

Para obtener más información y ejemplos, consulte put-object-lock-configuration 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 AWS Management Console. Para obtener más información, consulte ¿Qué es CloudShell? en la Guía del usuario de AWS CloudShell.

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 PutObjectLockConfiguration en la Referencia de la API de Amazon Simple Storage Service.

Para ver ejemplos de cómo establecer un período de retención predeterminado en un bucket de S3 existente con los SDK de AWS, consulte Uso de PutObjectLockConfiguration con un AWS SDK o la CLI.

Para ver un escenario interactivo que muestre diferentes características de bloqueo de objetos mediante AWS SDK, consulte Trabajo con las características de bloqueo de objetos de Amazon S3 mediante un SDK de AWS.

Para obtener información general sobre el uso de diferentes SDK de AWS, consulte Desarrollo con Amazon S3 mediante los SDK de AWS.