Bloqueo del bucket

Configuración

En esta página, se analiza la función de bloqueo de buckets, que te permite configurar la política de retención de un bucket de Cloud Storage. Esta política rige durante cuánto tiempo se deben conservar los objetos en el bucket. Esta función también te permite bloquear la política de retención del bucket para evitar de forma permanente que se reduzca o se quite.

Esta función puede proporcionar almacenamiento inmutable en Cloud Storage. En conjunto con el modo de registro de auditoría detallado, que registra los detalles de las solicitudes y respuestas de Cloud Storage, el bloqueo de depósitos puede ayudar a cumplir los requisitos regulatorios y de cumplimiento, como los asociados con la FINRA, la SEC y la CFTC. El bloqueo de buckets también te puede ayudar a abordar ciertas normas de retención de la industria del cuidado de la salud.

Descripción general

  • Puedes agregar una política de retención a un depósito para especificar un período de retención.

    • Cuando se establece una política de retención de bucket , los objetos del bucket solo se pueden borrar o reemplazar una vez que su antigüedad sea mayor que el período de retención.

    • Una política de retención se aplica de forma retroactiva a los objetos existentes en el bucket y también a los objetos nuevos que se agreguen después. Esto difiere de la función Bloqueo de retención de objetos, que te permite definir requisitos de retención de datos por objeto.

  • Puedes bloquear la política de retención de un depósito para establecerla de forma permanente.

    • Una vez que bloquees una política de retención, no puedes quitarla ni reducir su período de retención.

    • No puedes borrar un bucket con una política de retención bloqueada, a menos que cada objeto del bucket cumpla el período de retención.

    • Puedes aumentar el período de retención de una política de retención bloqueada.

Políticas de retención de depósitos

Puedes incluir una política de retención cuando creas un depósito nuevo o puedes agregar una política de retención a un depósito existente. Agregar una política de retención a un bucket garantiza que todos sus objetos actuales y futuros no se puedan borrar ni reemplazar hasta que alcancen la antigüedad definida. Los intentos de borrar o reemplazar los objetos cuya antigüedad sea menor al período de retención fallarán con un error 403 - retentionPolicyNotMet.

Por ejemplo, supongamos que tienes un bucket con dos objetos: el Objeto A, que se agregó hace un mes y el Objeto B, que se agregó hace dos años. Si aplicas una política de retención a tu bucket con un período de retención de 1 año, no puedes borrar o reemplazar el Objeto A durante otros 11 meses: en la actualidad tiene 1 mes, pero debe tener al menos 1 año para borrarlo o reemplazarlo. El Objeto B, por otro lado, se puede borrar o reemplazar de inmediato, ya que su antigüedad es mayor que el período de retención. Si decides reemplazar el Objeto B, esta nueva versión tendrá una antigüedad de 0 años.

Para facilitar el seguimiento de cuándo se pueden borrar los objetos individuales, los objetos de un depósito con una política de retención tienen metadatos de vencimiento de retención. Estos metadatos muestran la fecha y hora en que un objeto cumple el período de retención.

Consideraciones generales

Cuando trabajes con políticas de retención, ten en cuenta lo siguiente:

  • A menos que la política de retención de un bucket esté bloqueada, puedes aumentarla, disminuirla o quitarla.

  • Los metadatos editables de un objeto no están sujetos a la política de retención de un depósito y se pueden modificar incluso cuando el objeto en sí no pueda modificarse.

  • La política de retención de un depósito contiene un tiempo efectivo, luego del cual se garantiza que todos los objetos del depósito cumplen con el período de retención.

  • Para ver la fecha más temprana en la que un objeto determinado puede borrarse en un depósito con una política de retención, consulta la parte correspondiente a la fecha de vencimiento de la retención de los metadatos del objeto.

Consideraciones con otras funciones

Las siguientes son interacciones que tienen las políticas de retención con otras funciones de Cloud Storage:

Períodos de retención

Los períodos de retención se miden en segundos. Sin embargo, algunas herramientas, como la consola de Google Cloud y la CLI de Google Cloud, te permiten configurar y ver los períodos de retención con otras unidades de tiempo para mayor comodidad. En esos casos, se aplican las siguientes conversiones:

  • Un día son 86,400 segundos.
  • Un mes son 31 días o 2,678,400 segundos.
  • Un año son 365.25 días o 31,557,600 segundos.

Puedes establecer un período de retención máximo de 3,155,760,000 segundos (100 años).

En la CLI de gsutil, cuando especificas un período de retención, debes especificar un número entero y una unidad, en los que la unidad puede ser s, d, m o y para indicar los segundos, días, meses o años, respectivamente. Por ejemplo, 1d43200s establece un período de retención de 1 día y 43,200 segundos (uno y medio día).

Bloqueos de políticas de retención

Cuando bloqueas la política de retención de un depósito, evitas que la política se pueda quitar o que el período de retención se reduzca (aunque este período se puede aumentar). Si intentas quitar o reducir la duración de la política de un depósito bloqueado, recibirás un error 400 BadRequestException. Una vez que se bloquea una política de retención, no puedes borrar el bucket hasta que todos sus objetos cumplan con el período de retención.

El bloqueo de la política de retención de un depósito es irreversible y debes estar familiarizado con sus implicaciones antes de usar esta función. Cuando usas una política de retención desbloqueada, tienes la capacidad de quitarla, lo que te permite borrar los objetos cuando lo desees. Cuando bloqueas una política de retención, debes borrar todo el bucket para “quitar” la política. Sin embargo, no puedes borrar el bucket si contiene objetos que no cumplieron su período de retención. Por lo tanto, para “quitar” una política de retención bloqueada, debes esperar hasta que todos los objetos del bucket cumplan su período de retención, tras lo cual podrás borrar el bucket.

Además, cuando bloqueas una política de retención, Cloud Storage aplica de forma automática una lien al permiso projects.delete del proyecto que contiene el depósito. Mientras esté en vigor, esta retención impide que el proyecto se borre. Para borrar el proyecto, primero debes quitar estas retenciones. Ten en cuenta que para quitar una retención, necesitas el permiso resourcemanager.projects.updateLiens, que forma parte de las funciones roles/owner y roles/resourcemanager.lienModifier.

Para obtener información sobre cómo el bloqueo de una política de retención puede ayudar a que tus datos cumplan con las normas de retención de registros, consulta la página de cumplimiento.

¿Qué sigue?