En esta página, se describe la función de borrar de forma no definitiva, que conserva los objetos y buckets que se borran o reemplazan durante un período específico. La eliminación no definitiva ayuda a proteger tus datos contra la eliminación accidental o maliciosa, ya que retiene los objetos o buckets borrados en un estado de eliminación no definitiva, durante el cual el objeto o bucket no se pueden borrar de forma permanente. La eliminación no definitiva está habilitada de forma predeterminada en todos los buckets y tiene una duración de retención de siete días, a menos que tú o tu organización hayan elegido una política diferente.
Descripción general
Cuando habilitas la eliminación no definitiva en un bucket, si borras el bucket o los objetos que contiene, el recurso entra en un estado de eliminación no definitiva en lugar de borrarse de forma permanente. Los objetos y buckets borrados de forma no definitiva se comportan de las siguientes maneras:
Los objetos borrados de forma no definitiva no se pueden leer ni modificar.
No se pueden modificar los buckets borrados de forma temporal.
De forma predeterminada, las operaciones de lista excluyen los objetos borrados de forma no definitiva.
Las únicas operaciones admitidas en los objetos y buckets borrados de forma no definitiva son enumerarlos o restablecerlos.
Las funciones como Clase automática, Administración del ciclo de vida de los objetos, Bloqueo del bucket y Bloqueo de retención de objetos son compatibles con el borrado no definitivo, pero no afectan a los objetos borrados de forma no definitiva.
Para habilitar la eliminación no definitiva en un bucket, debes crear una política de eliminación no definitiva que especifique una duración de retención que controle cuánto tiempo se retienen el bucket y los objetos que contiene antes de que se borren de forma permanente.
Para obtener información sobre cómo establecer y administrar una política de eliminación no definitiva para habilitar o inhabilitar la eliminación no definitiva en un bucket, consulta Usa la eliminación no definitiva.
Políticas de eliminación no definitiva
De forma predeterminada, la eliminación no definitiva está habilitada en todos los buckets recién creados. Puedes editar una política de eliminación no definitiva para habilitar o inhabilitar la eliminación no definitiva de un bucket. Se puede establecer, borrar o editar una política de eliminación no definitiva durante una solicitud de creación o actualización de un bucket.
Las políticas de eliminación no definitiva se comportan de las siguientes maneras:
La actualización de la política de eliminación no definitiva de un bucket solo se aplica a los objetos que borras después de que la política de eliminación no definitiva entra en vigor. Los objetos que borraste antes de la actualización se conservan durante el tiempo que estaba vigente cuando se borraron.
Por ejemplo, supongamos que habilitas una política de eliminación no definitiva en tu bucket con el período de retención predeterminado de siete días y, luego, borras el objeto
cat.png
. En este caso,cat.png
se retiene como un objeto borrado de forma no definitiva durante los próximos siete días y, luego, se borra definitivamente. Esto ocurre incluso si, más adelante, cambias o quitas la política de eliminación no definitiva de tu bucket.Si agregas un nuevo período de retención de borrar de forma no definitiva a un bucket existente, no se aplicará a ninguno de los objetos o buckets que se borraron antes de que la política de eliminación no definitiva entre en vigor.
Si borras tu proyecto, no puedes usar la eliminación no definitiva para restablecer los buckets u objetos que contiene, incluso si tenían habilitada la eliminación no definitiva. Para asegurarte de no perder tus datos en caso de eliminación accidental o maliciosa, te recomendamos que limites el acceso a la eliminación a nivel del proyecto colocando una retención en tus proyectos o creando una copia de seguridad de los datos fundamentales de la empresa en buckets en un proyecto diferente.
Si se borra un bucket, los objetos que contiene no se borran de forma permanente, pero no se pueden enumerar ni restablecer, a menos que primero se restablezca el bucket borrado de forma no definitiva. Cuando restableces un bucket borrado de forma no definitiva, el bucket se restablece sin objetos activos. Deberás realizar una operación de restablecimiento de objetos o agregar objetos nuevos. Para obtener más información sobre cómo usar buckets borrados de forma no definitiva, consulta Cómo restablecer un bucket borrado de forma no definitiva.
Borra de forma no definitiva la duración de la retención
Dentro del período de retención de una política de borrar de forma no definitiva, puedes restablecer los objetos o buckets borrados, pero después de que finaliza el período, Cloud Storage borra de forma permanente el recurso borrado de forma no definitiva.
Cuando creas un bucket, se le agrega una política de eliminación no definitiva con un período de retención predeterminado de siete días. Puedes editar la duración de retención de una política o establecer una nueva duración de retención predeterminada. La duración máxima de retención que puedes establecer es de 90 días, y la mínima, de 7 días. También puedes establecer la duración de retención en 0
para inhabilitar el borrado no definitivo en el bucket.
Restablecimiento de objetos borrados de forma no definitiva
Cuando restableces un objeto borrado de forma no definitiva, Cloud Storage crea una copia del objeto borrado de forma no definitiva en el mismo bucket.
El comportamiento de restablecimiento de los objetos borrados de forma no definitiva se puede describir de la siguiente manera:
Cuando restableces un objeto borrado de forma no definitiva, Cloud Storage crea una nueva versión publicada del objeto en el mismo bucket. La versión borrada de forma no definitiva del objeto permanece en el bucket hasta que vence su período de retención.
En algunos casos, si ya existe un objeto publicado con el mismo nombre que el objeto borrado de forma no definitiva en el momento del restablecimiento, el objeto restablecido reemplaza al objeto publicado, y este último se borra de forma no definitiva. En este caso, tu bucket contiene los siguientes objetos:
Es el objeto activo reemplazado que está archivado o en estado borrado de forma no definitiva.
Dos copias del objeto que se borró de forma no definitiva: una copia publicada y otra copia aún no borrada de forma no definitiva
Los objetos borrados de forma no definitiva se pueden restablecer con varios métodos. Puedes restablecer los objetos borrados de forma no definitiva de manera síncrona o crear una operación de larga duración para restablecer de forma masiva los objetos que cumplen con ciertos criterios.
Restauración de objetos borrados de forma no definitiva en buckets con el espacio de nombres jerárquico habilitado
Aunque es poco frecuente, pueden aparecer objetos borrados de forma no definitiva duplicados con nombres y valores de generación idénticos en los buckets con el espacio de nombres jerárquico habilitado. Considera la siguiente situación:
- El objeto
folderA/my-object.txt
se borra de forma no definitiva. - Luego, se borra su carpeta principal,
folderA
. - Se mueve otro objeto,
folderB/my-object.txt
, a la ruta de acceso original cambiando el nombre defolderB
afolderA
. Este objeto ahora se convierte enfolderA/my-object.txt
. - Este nuevo objeto
folderA/my-object.txt
también se borra de forma no definitiva.
Si bien cada versión de un objeto en Cloud Storage tiene un valor de generación único, los objetos creados de forma independiente, como el folderA/my-object.txt
y el folderB/my-object.txt
originales, pueden compartir el mismo valor de generación por casualidad. En combinación con la situación, esto puede generar dos objetos borrados de forma no definitiva con los mismos nombres (folderA/my-object.txt
) y valores de generación.
Para asegurarte de restaurar, enumerar o obtener el objeto correcto, incluye el parámetro restoreToken
en tu solicitud.
Cuando uses la función borrar de forma no definitiva en buckets con el espacio de nombres jerárquico habilitado, ten en cuenta la siguiente información:
Si intentas restablecer, enumerar u obtener objetos duplicados sin usar el parámetro
restoreToken
, recibirás un error que te pedirá que uses el parámetrorestoreToken
en tu solicitud de restablecimiento o lista de objetos.Si usas los valores incorrectos para los parámetros
restoreToken
,name
ogeneration
como parte de tu solicitud de restauración, lista o recuperación de objetos, recibirás un error que indica que el objeto especificado no existe.
Restablecimiento de buckets
Cuando restableces un bucket borrado de forma no definitiva, este vuelve a un estado activo y los objetos que estaban en el bucket en el momento de la eliminación también se pueden recuperar dentro del período de retención de la eliminación no definitiva.
Al igual que con los objetos borrados de forma no definitiva, Cloud Storage borra de forma permanente un bucket borrado de forma no definitiva al final del período de retención de la función borrar de forma no definitiva si el bucket borrado de forma no definitiva no se restablece durante el período de retención.
Precios
Los objetos borrados de forma no definitiva generan cargos de almacenamiento hasta que se borran de forma permanente después de que finaliza el período de retención. Para obtener más información sobre los costos asociados con los objetos borrados de forma no definitiva, consulta Precios de Cloud Storage.
Optimización de costos de la eliminación no definitiva
Para ayudar a reducir los costos de almacenamiento en objetos temporales de corta duración y, al mismo tiempo, mantener la protección de datos, te recomendamos lo siguiente:
Cambiar el nombre de los objetos: Usa la API de Objects: move para cambiar el nombre de un objeto temporal de corta duración en lugar de copiar el objeto y borrar el original.
Datos temporales separados: Cuando sea posible, separa los datos temporales en un bucket independiente con la eliminación no definitiva inhabilitada.
Interacciones con otros productos y funciones
Cuando la eliminación no definitiva está habilitada, se comporta con otros productos y funciones de las siguientes maneras:
Administración del ciclo de vida de los objetos:
Las reglas de Administración del ciclo de vida de los objetos no afectan a los objetos borrados de forma no definitiva. No es posible usar la Administración del ciclo de vida de los objetos para cambiar la clase de almacenamiento de los objetos borrados de forma no definitiva ni para borrarlos de forma permanente.
Los objetos borrados por la Administración del ciclo de vida de los objetos se borran de forma no definitiva. Si también tienes habilitado el Control de versiones de objetos en tu bucket, los objetos activos borrados se convierten en no actuales y los objetos no actuales borrados se borran de forma no definitiva.
Control de versiones de objetos: Cuando borras un objeto no actual, se borra de forma no definitiva.
Cargas multiparte de la API de XML: Las partes de las cargas multiparte de la API de XML no están protegidas por el borrado temporal.
-
Las tarifas de administración de Autoclass no se evalúan para los objetos borrados de forma no definitiva.
Autoclass no cambia la clase de almacenamiento de los objetos borrados de forma no definitiva.
Cuando restableces un objeto borrado de forma no definitiva, el objeto resultante se establece en la clase Standard Storage.
Funciones de bloqueo del bucket y bloqueo de retención de objetos: Estas funciones te impedirán borrar objetos hasta que cumplan con sus políticas de retención. Luego, la función borrar de forma no definitiva proporciona una capa adicional de protección, ya que retiene los objetos borrados durante un período de retención de borrar de forma no definitiva independiente.
Notificaciones de Pub/Sub: Restablecer una versión de un objeto borrada de forma no definitiva activa un evento OBJECT_FINALIZE.
Carpetas administradas: La eliminación no definitiva no puede restablecer las políticas de IAM en las carpetas administradas. Si borras de forma no definitiva un objeto y borras una carpeta administrada que otorga políticas de IAM para el objeto, es posible que debas volver a crear esas políticas de IAM antes de tener los permisos necesarios para restablecer el objeto borrado de forma no definitiva.
Etiquetas: Si creas un bucket sin incluir una configuración de eliminación no definitiva, la configuración predeterminada de Cloud Storage es crear el bucket con un período de retención de eliminación no definitiva de siete días. Puedes cambiar este valor predeterminado con una etiqueta. La etiqueta puede cambiar la duración de retención predeterminada de los buckets nuevos para que sea cualquier valor entre 7 y 90 días, o puede cambiar el valor predeterminado para inhabilitar la función borrar de forma no definitiva en buckets nuevos. También puedes usar etiquetas para inhabilitar la función borrar de forma no definitiva de forma predeterminada.
Recomendador: Puedes habilitar la API del Recomendador para recibir sugerencias y estadísticas sobre cómo habilitar o inhabilitar el borrado temporal en función de los costos y el uso de Facturación de Cloud. Para obtener más información, consulta el recomendador de eliminación no definitiva.
¿Qué sigue?
- Aprende a usar borrar de forma no definitiva.
- Obtén más información sobre cómo usar objetos borrados de forma no definitiva.
- Obtén más información sobre la restricción de política de
storage.softDeletePolicySeconds
.