Consideraciones sobre el bloqueo de objetos - Amazon Simple Storage Service

Consideraciones sobre el bloqueo de objetos

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 Usar Bloqueo de objetos de S3.

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.

Permisos para ver la información de bloqueo

Puede ver mediante programación el estado de bloqueo de objetos de una versión del objeto de Amazon S3 mediante las operaciones HeadObject o GetObject. 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

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

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 obtener información general acerca de la replicación de S3, consulte Replicación de objetos.

Para ver ejemplos de cómo configurar la replicación de S3, consulte Tutoriales: ejemplos para configurar la replicación.

Uso de Bloqueo de objetos con Inventario de Amazon S3

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 Inventario de Amazon S3.

Administración de las políticas de S3 Lifecycle con Bloqueo de objetos

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

Administración de los marcadores de eliminación con Bloqueo de objetos

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.

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

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.

Para obtener una lista completa de métricas, consulte Glosario de métricas de Amazon S3 Storage Lens.

Descarga de objetos a un bucket habilitado para Bloqueo de objetos

El encabezado Content-MD5 es obligatorio para cualquier solicitud de carga de un objeto con un período de retención configurado mediante Bloqueo de objetos. Una forma de verificar la integridad del objeto después de cargarlo en el bucket es proporcionar un resumen MD5. Tras cargar el objeto, Amazon S3 calcula el resumen MD5 del objeto y lo compara con el valor que proporcionó. La solicitud se realiza correctamente solo si los dos resúmenes coinciden. La consola S3 añade automáticamente este encabezado, pero debe especificarlo cuando utilice la API PutObject.

Para obtener más información, consulte Uso de Content-MD5 al cargar objetos.

Configurar eventos y notificaciones

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? 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? en la Guía del usuario de Amazon CloudWatch.

Establecer límites a los periodos de retención con una política de bucket

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.

{ "Version": "2012-10-17", "Id": "SetRetentionLimits", "Statement": [ { "Sid": "SetRetentionPeriod", "Effect": "Deny", "Principal": "*", "Action": [ "s3:PutObjectRetention" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-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 obtener más información acerca de las políticas de buckets, consulte los siguientes temas: