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 Bloqueo de objetos mediante Bloqueo de objetos.
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.
Temas
- Permisos para ver la información de bloqueo
- Omitir el modo de gobierno
- Uso de Bloqueo de objetos con la replicación de S3
- Uso de Bloqueo de objetos con cifrado
- Uso de Bloqueo de objetos con Inventario de Amazon S3
- Administración de las políticas de S3 Lifecycle con Bloqueo de objetos
- Administración de los marcadores de eliminación con Bloqueo de objetos
- Uso de S3 Storage Lens con bloqueo de objetos
- Descarga de objetos a un bucket habilitado para Bloqueo de objetos
- Configurar eventos y notificaciones
- Establecer límites a los periodos de retención con una política de bucket
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 la replicación en directo.
Para obtener información general acerca de la replicación de S3, consulte Replicación de objetos dentro de regiones y entre regiones.
Para ver ejemplos de cómo configurar la replicación de S3, consulte Ejemplos para configurar la replicación en directo.
Uso de Bloqueo de objetos con cifrado
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.
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
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.
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 de los objetos.
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
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, 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.
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:::/*", "Condition": { "NumericGreaterThan": { "s3:object-lock-remaining-retention-days": "10" } } } ] }
amzn-s3-demo-bucket1
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.
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 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.
-
Ejemplos de políticas de bucket que utilizan claves de condición