¿Qué es S3 Object Lock?
S3 Object Lock es una función de Amazon S3 y del almacenamiento de objetos compatible con S3 que impide sobrescribir o eliminar una versión de objeto durante un período de tiempo definido —o de forma indefinida—. Es el mecanismo que la mayoría de las organizaciones utiliza hoy para que los datos sean realmente inmutables, y es lo que convierte el almacenamiento de objetos corriente en un archivo WORM (escribir una vez, leer muchas) conforme.
Dos decisiones de diseño explican su solidez. La protección se aplica a una versión de objeto concreta y no a un nombre de archivo, y la impone la plataforma de almacenamiento, no la aplicación que escribió los datos. Como la regla vive por debajo de la capa de aplicación, un servidor de copias de seguridad comprometido, un script malicioso o un administrador con credenciales completas no pueden borrar en silencio los datos protegidos.
Cómo funciona S3 Object Lock
Object Lock depende del versionado. Solo puede usarse en buckets con S3 Versioning activado y protege versiones de objeto concretas. Object Lock puede activarse al crear un bucket o añadirse a un bucket existente una vez habilitado el versionado, pero la decisión es permanente: una vez activado, no se puede desactivar ni se puede suspender el versionado.
Con el bucket configurado, la retención se aplica por objeto en el momento de la escritura o mediante una retención predeterminada del bucket expresada en días o años. A partir de ahí, la plataforma cambia su forma de responder a las solicitudes de escritura y borrado:
- Las sobrescrituras crean versiones nuevas. Escribir en la misma clave no reemplaza los datos protegidos: añade otra versión junto a ellos.
- El borrado de una versión concreta falla. Un DELETE que indica el ID de la versión bloqueada se rechaza con un error de acceso denegado.
- El borrado simple crea un marcador de eliminación. Un DELETE sin ID de versión se acepta y añade un marcador de eliminación, que pasa a ser la versión actual.
Este último comportamiento es el detalle que más se pasa por alto. Los marcadores de eliminación no están protegidos por la retención, así que un objeto puede parecer borrado mientras todas las versiones bloqueadas que hay debajo siguen intactas y son totalmente recuperables: el objeto queda oculto, no destruido.
Modo Compliance frente a modo Governance
Object Lock ofrece dos modos de retención, y elegir entre ellos es el ajuste de mayor calado.
El modo Compliance es absoluto. Nadie puede eliminar ni sobrescribir una versión de objeto bloqueada antes de su fecha de retención: ni un administrador, ni el propietario de la cuenta, ni el usuario root. El período de retención puede ampliarse, pero nunca acortarse ni eliminarse. Es el modo indicado cuando un auditor necesita la garantía de que los registros realmente no se pueden alterar.
El modo Governance aplica la misma protección por defecto, pero deja una salida deliberada: un usuario que tenga el permiso de omisión de la retención Governance y solicite explícitamente omitir el bloqueo puede acortar la retención o eliminar la versión. Encaja con equipos cuya principal preocupación es el borrado accidental o malicioso más que la retención normativa, y que necesitan una vía controlada para corregir errores.
En la práctica, muchas organizaciones usan el modo Governance en desarrollo y pruebas y reservan el modo Compliance para producción y datos regulados, donde la imposibilidad de intervenir es precisamente el objetivo.
Períodos de retención y retención legal
Object Lock ofrece dos controles independientes, y una versión de objeto puede tener uno, los dos o ninguno.
Un período de retención fija una fecha hasta la que se conserva el objeto. Normalmente lo aplica la aplicación que escribe los datos —el software de copia de seguridad, por ejemplo, establece la retención según su propia política— o se hereda de la retención predeterminada del bucket. Cuando el período expira, la protección deja de aplicarse y la versión puede eliminarse según la política de ciclo de vida habitual.
Una retención legal (legal hold) es un simple indicador de activado/desactivado sin fecha de caducidad. Permanece en vigor hasta que alguien con el permiso adecuado la retira explícitamente, lo que la convierte en la herramienta adecuada para litigios, investigaciones y auditorías cuya duración se desconoce de antemano. Como los dos controles son independientes, una retención legal sigue protegiendo una versión de objeto incluso después de que su período de retención haya vencido.
Object Lock, WORM e inmutabilidad
Estos tres términos describen la misma protección en distintos niveles. La inmutabilidad es la propiedad: datos que no se pueden cambiar. WORM (escribir una vez, leer muchas) es el modelo de almacenamiento que la aporta. Object Lock es el mecanismo de API concreto que aplica la retención WORM a cada objeto en almacenamiento compatible con S3. Object Lock es cómo se activa el WORM; WORM es cómo se logra la inmutabilidad.
Conviene distinguir Object Lock de controles que se le parecen pero no son equivalentes. Las políticas de bucket y las reglas de denegación de IAM pueden bloquear el borrado, pero son configuración: un administrador con privilegios suficientes puede cambiarlas. Object Lock en modo Compliance no puede cambiarlo nadie. Las instantáneas, el versionado por sí solo y las copias aisladas son salvaguardas complementarias, no sustitutas: el versionado conserva el historial pero permite eliminar versiones de forma permanente, que es justo la brecha que cierra Object Lock.
S3 Object Lock y ARTESCA
Scality ARTESCA implementa S3 Object Lock en los modos Governance y Compliance, con soporte de períodos de retención y retención legal, de modo que los datos de copia de seguridad y archivo escritos en ARTESCA son inmutables desde el primer instante. La retención se aplica en la capa de almacenamiento y no puede desactivarse desde una cuenta de administrador comprometida.
La seguridad está integrada, no añadida: inmutabilidad arquitectónica, un sistema operativo reforzado y controles de ciberresiliencia de extremo a extremo rodean cada objeto y extienden la protección de Object Lock a todo el recorrido de los datos.
ARTESCA está validado con las principales plataformas de copia de seguridad —incluidas Veeam, Commvault y Rubrik—, que aplican automáticamente la retención de Object Lock al escribir. El resultado es un destino de almacenamiento inmutable, conforme y resiliente frente al ransomware que se instala en servidores estándar.
Preguntas frecuentes sobre S3 Object Lock
¿S3 Object Lock requiere versionado?
Sí. Object Lock solo funciona en buckets con S3 Versioning activado, porque la protección se aplica a versiones de objeto concretas y no a nombres de archivo.
¿Se puede desactivar S3 Object Lock?
No a nivel de bucket. Una vez activado, Object Lock no se puede desactivar ni se puede suspender el versionado. La retención establecida en modo Governance puede omitirla un usuario con el permiso específico; la establecida en modo Compliance no puede omitirla nadie.
¿Se puede borrar un objeto bloqueado?
Una solicitud de borrado que indique el ID de la versión bloqueada se rechaza. Una solicitud sin ID de versión se acepta y añade un marcador de eliminación, por lo que el objeto parece borrado mientras todas las versiones protegidas siguen intactas y recuperables.
¿Cuál es la diferencia entre los modos Compliance y Governance?
El modo Compliance no admite excepciones ni acortar la retención, ni siquiera para el propietario de la cuenta. El modo Governance permite a los usuarios con el permiso de omisión acortar la retención o eliminar una versión bloqueada cuando lo solicitan explícitamente.
¿Es S3 Object Lock lo mismo que WORM?
Object Lock es el mecanismo; WORM es el modelo que implementa. Activar la retención de Object Lock es lo que hace que el almacenamiento compatible con S3 se comporte como un archivo WORM.
