Proteja los datos en Amazon S3 contra la eliminación accidental o los errores de la aplicación mediante el control de versiones de S3, el bloqueo de objetos de S3 y la replicación de S3

TUTORIAL

Información general

Amazon S3 es un servicio de almacenamiento de objetos con escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes del sector y una durabilidad de los datos del 99,999999999 % (11 nueves). Sin embargo, ni siquiera el almacenamiento más duradero puede proteger contra errores humanos o de software que podrían provocar que las aplicaciones se dañen o eliminen datos de manera accidental. Con el aumento de los casos de ransomware, clientes de todos los tamaños están evaluando opciones de protección adicionales contra la manipulación malintencionada de sus datos críticos en Amazon S3.

Para cualquier tipo de datos, se recomienda disponer de una copia de seguridad y colocar protecciones para evitar eliminaciones accidentales o malintencionadas. Esta guía de introducción a Amazon S3 le muestra cómo seguir las prácticas recomendadas con el control de versiones de Amazon S3, que le permite conservar, recuperar y restaurar todas las versiones de todos los objetos almacenados en un bucket de Amazon S3. A continuación, puede agregar el bloqueo de objetos de Amazon S3 sobre el control de versiones de S3 para evitar que los datos se eliminen o sobrescriban durante un período de tiempo fijo o indefinidamente. Si desea crear copias adicionales de sus datos en otra región de AWS para proteger varias regiones, Replicación de Amazon S3 funciona tanto con el control de versiones de S3 como con el bloqueo de objetos de S3 para copiar automáticamente los objetos en las regiones de AWS y en cuentas de AWS independientes. Por último, puede reunir la visibilidad de sus niveles actuales de protección de datos y del uso de estas características en un único panel con Lente de almacenamiento de Amazon S3.

Qué logrará

  • Crear un bucket de Amazon S3
  • Habilitar el control de versiones de S3 para evitar que los objetos se sobrescriban
  • Configurar el bloqueo de objetos de S3 para evitar la eliminación accidental de objetos
  • Revisar el estado de protección de datos de los buckets de S3 con Lente de almacenamiento de S3

Requisitos previos

Para realizar este tutorial, necesita una cuenta de AWS. Acceda a esta página de soporte para obtener más información acerca de cómo crear y activar una nueva cuenta de AWS.

Nota: Dado que estamos haciendo una demostración del bloqueo de objetos de S3, los datos de este laboratorio no se pueden eliminar hasta 1 día después de su creación.

 Experiencia en AWS

Principiante

 Tiempo de realización

30 minutos

 Costo de finalización (con métricas gratuitas)

 Requisitos

Cuenta de AWS

 Servicios utilizados

 Última actualización

3 de octubre de 2022

Implementación

Paso 1: Crear un bucket de Amazon S3

1.1: Iniciar sesión en la consola de Amazon S3

  • Si aún no lo ha hecho, cree una cuenta de AWS.
  • Inicie sesión en la Consola de administración de AWS con la información de su cuenta.
  • En la barra de búsqueda de servicios de la consola de AWS, ingrese S3. Debajo de la sección de resultados de la búsqueda de servicios, seleccione S3.

Haga clic en las capturas de pantalla de este tutorial para ampliar la imagen.

1.2: Crear un bucket de S3

  • En el panel de navegación de la izquierda, elija Buckets y luego elija Crear bucket en la sección Buckets.

1.3

  • Ingrese un nombre descriptivo para el bucket. Los nombres de los buckets son únicos a nivel global en todas las cuentas de AWS. Si se produce un error con el nombre que ha seleccionado, pruebe con otra combinación. A continuación, seleccione en qué región de AWS desea crear el bucket.

1.4

  • A continuación, en la sección Propiedad del objeto, deje la configuración predeterminada con ACL desactivadas. Le recomendamos que desactive las ACL (listas de control de acceso), excepto en circunstancias inusuales en las que necesite controlar el acceso de cada objeto de forma individual. Con Propiedad del objeto, puede desactivar las ACL y confiar en las políticas para el control de acceso. Para obtener más información, visite la guía del usuario de S3.

 1.5

  • En la sección Configuración de Bloqueo del acceso público para este bucket, la configuración predeterminada es la adecuada para esta carga de trabajo, así que deje la configuración predeterminada.

1.6: Habilitar el control de versiones

  • A continuación, en la sección Control de versiones del bucket, asegúrese de habilitar el control de versiones del bucket. El control de versiones en Amazon S3 es una forma de mantener varias variantes de un objeto en el mismo bucket. Puede utilizar la característica de control de versiones de S3 para conservar, recuperar y restablecer todas las versiones de todos los objetos almacenados en sus buckets. Con el control de versiones de S3, puede recuperarse con mayor facilidad de acciones involuntarias de los usuarios y de los errores de las aplicaciones. Una vez habilitado el control de versiones para un bucket, si Amazon S3 recibe varias solicitudes de escritura para el mismo objeto simultáneamente, almacenará todos esos objetos.

1.7: Habilitar el cifrado predeterminado

  • Ahora, en la sección Cifrado predeterminado, habilite el cifrado predeterminado para el bucket. Esta configuración se aplicará a cualquier objeto cargado en el bucket en el que no haya definido los detalles de cifrado en reposo durante el proceso de carga. Para esta carga de trabajo, en Cifrado del lado del servidor, seleccione Habilitar. A continuación, en Tipo de clave de cifrado, seleccione Claves administradas por Amazon S3 (SSE-S3). Si SSE-S3 no satisface los requisitos de su carga de trabajo, también puede utilizar AWS Key Management Service (AWS KMS). Para obtener más información acerca de cómo Amazon S3 utiliza AWS KMS, consulte la Guía para desarrolladores de AWS Key Management Service.

1.8

  • A continuación, dentro de la sección Configuración avanzada, en Bloqueo de objetos, seleccione Habilitar.
  • Puede utilizar el bloqueo de objetos de S3 para almacenar objetos mediante el uso de un modelo de escritura única y lectura múltiple (WORM). El bloqueo de objetos de S3 puede ayudar a prevenir la eliminación o la sobrescritura de los objetos durante una cantidad fija de tiempo o de manera indefinida. Puede utilizar el bloqueo de objetos de S3 para cumplir con los requisitos reguladores que necesitan almacenamiento WORM o para agregar una capa de protección adicional contra el cambio o la eliminación de los objetos.
  • Tenga en cuenta que este paso simplemente habilitó el bloqueo de objetos en el bucket. Estableceremos configuraciones específicas, como Modo de retención y Período de retención, más adelante en el tutorial.
  • Para crear el bucket de S3 seleccione Crear bucket.

Paso 2: Configurar el control de versiones de S3

2.1: Cargar un objeto

  • En su estación de trabajo, cree un archivo de texto que contenga las palabras Versión 1 y guárdelo en su estación de trabajo.

2.2

  • En la consola de Amazon S3, busque el bucket que creó en el paso 1 y seleccione el nombre del bucket.
  • A continuación, seleccione la pestaña Objetos. A continuación, desde la sección Objetos, elija Cargar.

2.3

  • Luego, en la sección Cargar, seleccione Agregar archivos. Navegue hasta el sistema de archivos local para localizar el archivo de prueba que creó anteriormente. Seleccione el archivo apropiado y luego elija Abrir. El archivo aparecerá en la sección Archivos y carpetas. Deje el resto de las opciones con la configuración predeterminada y elija el botón Cargar.

2.4

  • Una vez completadas las operaciones de carga del archivo, aparecerá un mensaje de estado que indica si la carga se realizó correctamente o no. En este caso, el archivo se cargó correctamente. A continuación, seleccione Cerrar.
  • Ahora puede ver el objeto en la consola de S3.

2.5

  • En su estación de trabajo, edite el archivo que creó. Cambie el texto a Versión 2 y, a continuación, guárdelo con el mismo nombre de archivo. Repita los pasos 2.2 a 2.4 para cargar el archivo actualizado en Amazon S3.

2.6

  • Para ver una lista de las versiones de los objetos del bucket, elija la selección Mostrar versiones. Para cada versión del objeto, la consola muestra un identificador de versión único, la fecha y la hora en que se creó la versión del objeto y otras propiedades. 

Ahora que ya ha habilitado el control de versiones de objetos de S3, todas las versiones de dicho objeto seguirán conservándose en el bucket de Amazon S3 y podrán recuperarse o restablecerse. Con el control de versiones de objetos de S3 habilitado, el único usuario que puede eliminar una versión de forma permanente de un bucket de Amazon S3 es el propietario. Cuando se realiza una operación DELETE en un objeto, las solicitudes simples (sin control de versiones) posteriores ya no recuperarán el objeto, pero permanecerá en S3 como una versión anterior.

Cuando el control de versiones está habilitado, un DELETE simple no puede eliminar permanentemente un objeto. En su lugar, Amazon S3 inserta un marcador de eliminación en el bucket y ese marcador se convierte en la versión actual del objeto con un ID nuevo. 

Mantener versiones no actuales de los objetos puede aumentar los costos de almacenamiento. Puede definir reglas de ciclo de vida a fin de administrar el ciclo de vida y el costo del almacenamiento de varias versiones de los objetos. También es posible configurar reglas de ciclo de vida para eliminar permanentemente estas versiones anteriores o para establecer periodos de protección adicionales con un costo de almacenamiento más bajo. Del mismo modo, también puede configurar una regla de ciclo de vida que archive todas las versiones anteriores en la clase de almacenamiento Amazon S3 Glacier Instant Retrieval o Amazon S3 Glacier Flexible Retrieval de menor costo y luego las elimine transcurridos 100 días, de manera que dispondrá de un periodo de 100 días para revertir cualquier cambio implementado en los datos al mismo tiempo que podrá reducir los costos de almacenamiento.

Seleccione la casilla de verificación situada a la izquierda del objeto de nivel superior y elija Abrir. Este objeto representa la versión más reciente del archivo y debería decir Versión 2. Repita el proceso en la versión anterior del objeto y confirme que dice Versión 1.

2.7: Demostrar la eliminación de objetos

  • Desactive Mostrar versiones para reducir la lista de versiones. 

Ingrese eliminar en el campo de entrada de texto y pulse el botón Eliminar objetos.

  • Seleccione Cerrar.
  • A continuación, en la pestaña Objetos, verá que el objeto parece haber sido eliminado.
  • Active Mostrar versiones. Observe que el objeto de nivel superior ahora aparece como Marcador de eliminación en la columna Tipo, pero ambas versiones del objeto siguen disponibles.

2.8: Demostrar la restauración de un objeto

  • Para restaurar el objeto, seleccione la casilla de verificación del objeto de nivel superior para eliminar el Marcador de eliminación. Luego, seleccione Eliminar.
  • Ingrese eliminar permanentemente en el campo de entrada de texto y seleccione Eliminar objetos.
  • Seleccione Cerrar.
  • Al eliminar el marcador de eliminación, se restauró el objeto.
  • Seleccione la casilla de verificación situada a la izquierda del objeto de nivel superior y elija Abrir. Este objeto debería abrirse como Versión 2.
  • Seleccione la casilla de verificación situada a la izquierda de la versión más antigua del objeto y elija Abrir. Este objeto debería abrirse como Versión 1.

2.9: Eliminar permanentemente una versión específica de un objeto

También podemos eliminar una versión específica de un objeto sin crear un marcador de eliminación. En el siguiente paso, eliminaremos la versión más reciente del objeto.

  • Con la opción Mostrar versiones activada, seleccione la casilla de verificación situada a la izquierda del objeto de nivel superior y seleccione Eliminar.
  • Ingrese eliminar permanentemente en el campo de entrada de texto y seleccione Eliminar objetos.
  • Hemos eliminado la versión más reciente del objeto.
  • Para confirmarlo, seleccione la casilla de verificación situada a la izquierda del objeto restante y seleccione Abrir
  • Al hacer la selección anterior, se abrirá una nueva pestaña en el navegador con el texto Versión 1.

Paso 3: Configurar el bloqueo de objetos de S3

3.1

  • Muestre las características detalladas a nivel del bucket. Desde su bucket, seleccione Propiedades.

3.2

  • Navegue hacia abajo hasta la sección Bloqueo de objetos. Luego, seleccione Editar.

3.3

  • En la sección Retención predeterminada, seleccione Habilitar.
  • Establezca Modo de retención predeterminado en Conformidad.
  • En Período de retención predeterminado, ingrese 1 en el campo de entrada de texto y deja el menú desplegable en Días. Elija Guardar cambios.

Ahora hemos establecido la configuración predeterminada del bloqueo de objetos para cualquier objeto nuevo que se cargue en el bucket. Estos ajustes no afectan a los objetos existentes en el bucket. Para bloquear los objetos existentes, puede utilizar Operaciones por lotes de S3.

En el modo de gobierno, no puede sobrescribir ni eliminar la versión de un objeto ni modificar su configuración de bloqueo a menos que tenga el permiso s3:BypassGovernanceRetention. La consola de S3 incluye de forma predeterminada el encabezado x-amz-bypass-governance-retention:true. Si intenta eliminar objetos protegidos por el modo de gobernanza y tiene permisos s3:BypassGovernanceRetention, la operación se realizará correctamente. Por esta razón, estamos utilizando el modo de conformidad en este tutorial.

Cuando se bloquea un objeto mediante el modo Conformidad, ningún usuario, incluido el usuario raíz, puede eliminar la versión del objeto hasta que caduque el período de retención. Además, su modo de retención no se puede cambiar y su período de retención no se puede acortar.  

Este tutorial demostrará cómo incluso un usuario con derechos administrativos no puede eliminar objetos protegidos con el modo de conformidad. Tenga en cuenta que los objetos que están bloqueados y no se pueden eliminar seguirán facturándose. Para minimizar los costos de este tutorial, asegúrese de haber establecido la retención predeterminada en solo 1 día y de cargar solo archivos pequeños.

3.4: Cargar un objeto nuevo

  • En la pestaña Objetos, seleccione Cargar

3.5

  • A continuación, en la sección Cargar, en Archivos y carpetas, seleccione Agregar archivos. Navegue hasta su sistema de archivos local y seleccione cualquier archivo pequeño que desee utilizar en las pruebas y, a continuación, seleccione Abrir. El archivo aparecerá en la sección Archivos y carpetas. Deje el resto de las opciones con la configuración predeterminada y elija Cargar.

3.6

  • Una vez completadas las operaciones de carga del archivo, aparecerá un mensaje de estado que indica si la carga se realizó correctamente o no. En este caso, el archivo se cargó correctamente. A continuación, seleccione Cerrar.

3.7

  • En la pestaña Objetos, elija el nuevo objeto de prueba que has subido.

En la pestaña Propiedades del objeto, consulte la sección Descripción general de la gestión de objetos. Tenga en cuenta que los valores predeterminados del bloqueo de objetos que configuramos se han aplicado al objeto. También puede anular estos valores predeterminados al cargar un objeto nuevo y ampliar (pero no reducir) la fecha de retención aplicada a un objeto bloqueado.

3.8: Intentar borrar el objeto

En esta sección, exploraremos otro método para eliminar permanentemente una versión específica de un objeto, sin crear un marcador de eliminación. 

  • Seleccione la pestaña Versiones.  
  • Seleccione la casilla de verificación situada a la izquierda del objeto y, a continuación, seleccione Eliminar.

Ingrese eliminar permanentemente en el campo de entrada de texto y seleccione Eliminar objetos.

  • Debería recibir un mensaje de error que indica que el objeto no se puede eliminar. Este es el comportamiento esperado cuando se usa el bloqueo de objetos en el modo de conformidad. Tendrá que esperar a que caduque el período de retención (que hemos establecido en 1 día) para poder eliminar este objeto.
  • A continuación, seleccione Cerrar para salir de esta ventana.

Paso 4: Explorar las características adicionales de protección de datos de S3

Aunque están fuera del alcance de este tutorial, hay otros dos temas sobre la protección de datos de S3 que debe conocer:

Con la replicación de S3 es posible copiar objetos entre buckets de Amazon S3 de forma automática y asincrónica. Los buckets que estén configurados para la replicación de objetos pueden pertenecer a la misma cuenta de AWS o a cuentas diferentes. Puede replicar objetos en un único bucket de destino o en varios buckets de destino. Los buckets de destino pueden estar en diferentes regiones de AWS o en la mismo región que el bucket de origen.

La replicación de S3 requiere que el control de versiones de S3 esté habilitado en los buckets de origen y de destino.  

Si el bucket de origen tiene activado el bloqueo de objetos de S3, los buckets de destino también deben tener activado el bloqueo de objetos de S3. Para habilitar la replicación en un bucket que tiene activado el bloqueo de objetos, primero debe ponerse en contacto con AWS Support. Cuando Amazon S3 replica objetos a los que se les ha aplicado información de retención, aplica esos mismos controles de retención a las réplicas y anula el período de retención predeterminado configurado en los buckets de destino. Si no tiene controles de retención aplicados a los objetos de su bucket de origen y replica en buckets de destino que tienen establecido un período de retención predeterminado, el período de retención predeterminado del bucket de destino se aplica a las réplicas de sus objetos. 

Opciones de registro

Amazon S3 está integrado con AWS CloudTrail, un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un servicio de AWS en Amazon S3. CloudTrail captura un subconjunto de llamadas a la API de Amazon S3 como eventos, incluidas las llamadas desde la consola de Amazon S3 y las llamadas de código a las API de Amazon S3.

El registro de acceso al servidor proporciona registros detallados de las solicitudes que se realizan a un bucket. Los registros de acceso al servidor son útiles para muchas aplicaciones. Por ejemplo, la información del registro de acceso puede ser útil en las auditorías de seguridad y acceso. También puede ayudarlo a conocer su base de clientes y entender su factura de Amazon S3.

AWS Backup permite centralizar y automatizar la protección de datos en distintos servicios de AWS y cargas de trabajo híbridas. AWS Backup ofrece un servicio rentable, completamente administrado y basado en políticas que simplifica aún más la protección de datos a escala. AWS Backup también contribuye a lograr el cumplimiento normativo y de las políticas empresariales en materia de protección de datos.  

Amazon S3 es uno de los muchos recursos de AWS Backup compatibles. AWS Backup también aprovecha el control de versiones de S3.

Paso 5: Ver las métricas de protección de datos de S3 con Lente de almacenamiento de Amazon S3

Lente de almacenamiento de Amazon S3 ofrece visibilidad en toda la organización del estado de protección de los datos almacenados en Amazon S3. Lente de almacenamiento de S3 puede mostrarle fácilmente los porcentajes de sus datos que están cifrados, versionados, replicados y bloqueados por objetos. Esta visibilidad de la protección de datos en Lente de almacenamiento de S3 puede consultarse para sus datos en varios buckets de Amazon S3, cuentas de AWS y AWS Organizations sin cargo adicional, con 14 días de niveles de protección de datos históricos para comenzar de inmediato.

Puede usar Lente de almacenamiento de S3 para ver un resumen de las métricas de protección de datos, expresado como un porcentaje de la cantidad total de datos. Estos datos incluyen: los bytes de la versión actual, los bytes de la versión no actual, los bytes cifrados, los bytes replicados y los bytes de bloqueo de objetos.

5.1

  • En la consola de S3, busque Lente de almacenamiento en el panel de navegación.
  • Seleccione Paneles y, a continuación, default-account-dashboard.

5.2

  • Seleccione la pestaña Protección de datos para ver las estadísticas relacionadas con el control de versiones, el cifrado, la replicación y el bloqueo de objetos.

Paso 6: Eliminar los recursos

En los siguientes pasos, eliminará los recursos que creó en este tutorial. Es una práctica recomendada eliminar los recursos que ya no usa para no incurrir en cargos no deseados.

Tenga en cuenta que tendrá que esperar 1 día a que caduque el bloqueo de objetos de S3 antes de seguir estos pasos.

6.1: Eliminar los objetos de prueba  

  • Si ha cerrado sesión en la consola de administración de AWS, vuelva a iniciarla. Navegue hasta la consola de S3 y seleccione Buckets en el panel de navegación. Primero deberá eliminar los objetos de prueba de su bucket de prueba. Seleccione el botón de opción a la izquierda del bucket que creó para este tutorial y luego elija Vaciar.
  • En la página Vaciar bucket, ingrese eliminar de forma permanente en el cuadro de confirmación Eliminar todos los objetos de forma permanente. Luego, elija Vaciar para continuar.
  • A continuación, verá un anuncio que le indicará si la eliminación se ha realizado correctamente. Seleccione Salir.

6.2: Eliminar el bucket de prueba

  • Finalmente, debe eliminar el bucket de prueba que creó. Regrese a la lista de buckets de su cuenta. Seleccione el botón de opción a la izquierda del bucket que creó para este tutorial y luego elija Eliminar.
  • Revise el mensaje de advertencia. Si desea continuar con la eliminación de este bucket, ingrese el nombre de este en la casilla de confirmación del campo de entrada de texto y elija la opción Eliminar bucket.

Conclusión

¡Felicitaciones! Ha aprendido a proteger los datos en Amazon S3 mediante el control de versiones de S3 y el bloqueo de objetos de S3, y ha revisado estos ajustes con Lente de almacenamiento de S3.

¿Le resultó útil esta página?

Siguientes pasos

Si desea obtener más información sobre Amazon S3, consulte los siguientes recursos.