Pausa las eliminaciones permanentes (definitivas) de los objetos borrados de forma no definitiva

Si necesitas más tiempo para restablecer los objetos borrados de forma no definitiva antes de que se borren de forma permanente, puedes pausar las eliminaciones permanentes (también llamadas eliminaciones definitivas) de los objetos borrados de forma no definitiva en un bucket de Cloud Storage.

De forma predeterminada, los objetos y buckets borrados de forma no definitiva se borran de forma permanente cuando alcanzan su duración de retención de eliminación no definitiva. Cuando pausas las eliminaciones definitivas de un bucket, los objetos borrados de forma no definitiva se conservan en un estado borrado de forma no definitiva de forma indefinida, independientemente de sus períodos de retención de eliminación no definitiva. Los objetos borrados de forma no definitiva solo se borran de forma permanente después de que reanudas las eliminaciones definitivas del bucket.

Casos de uso

Pausar las eliminaciones definitivas te brinda tiempo adicional para realizar restablecimientos de objetos muy grandes o complicados que, de lo contrario, podrían tardar más tiempo en resolverse que la duración de la retención de la eliminación no definitiva. Por ejemplo:

  • Recuperar buckets muy grandes que contienen miles de millones de objetos Si un bucket contiene una gran cantidad de objetos, es posible que se tarde más que el período de retención en recuperar todos los objetos del bucket, en especial si detectas la eliminación después de que ya haya transcurrido parte del período de retención. Pausar las eliminaciones definitivas puede ayudarte a recuperarte de un incidente de eliminación masiva inesperado, sin tener que establecer una duración de retención más larga para las operaciones diarias.
  • Alcance poco claro de las eliminaciones. Si no sabes con certeza qué objetos se borraron por error, es posible que tardes un tiempo en investigarlo. Pausar las eliminaciones definitivas puede darte más tiempo para determinar qué se debe restablecer.
  • Recuperaciones complejas En el caso de las restauraciones complejas, puede haber tiempo para detectar y realizar una recuperación masiva dentro del período de retención. Si eso no produce los resultados esperados, pausar las eliminaciones definitivas puede darte más tiempo para validar que estás conforme con el estado de recuperación.

Te recomendamos el siguiente flujo de trabajo para pausar temporalmente las eliminaciones definitivas de un bucket. Cuando detectes un incidente de eliminación masiva que podría tardar más tiempo en resolverse que la duración de la retención de la eliminación no definitiva, sigue estos pasos:

  1. Si es necesario, restablece el bucket.

  2. Pausar las eliminaciones definitivas del bucket

  3. Restablece los objetos del bucket.

  4. Después de completar la recuperación y validar que tus datos se restablecieron correctamente, reanuda las eliminaciones definitivas para el bucket.

Consideraciones

  • Puedes pausar las eliminaciones definitivas de un bucket actualizando un bucket existente que tenga habilitada la eliminación no definitiva. Las eliminaciones definitivas no se pueden pausar durante la creación del bucket ni para los buckets que no tienen habilitada la eliminación no definitiva.
  • Cuando reanudas las eliminaciones definitivas de un bucket, Cloud Storage reanuda las eliminaciones permanentes de todos los objetos borrados de forma no definitiva en el bucket según sus períodos de retención de eliminación no definitiva. Si algún objeto superó su duración de retención, se borrará de forma permanente cuando reanudes las eliminaciones definitivas.
  • La pausa de las eliminaciones definitivas se aplica de inmediato. Es posible que las operaciones de la API almacenadas en caché tarden unos segundos en devolver la información actualizada.
  • Puedes seguir borrando objetos en un bucket cuando las eliminaciones definitivas están en pausa. Los objetos borrados se borran de forma no definitiva.
  • Puedes pausar y reanudar las eliminaciones definitivas en un bucket un máximo de una vez cada 24 horas.
  • Puedes actualizar la duración de la retención de la eliminación no definitiva mientras las eliminaciones definitivas están en pausa. Sin embargo, no puedes inhabilitar la eliminación no definitiva mientras las eliminaciones definitivas están en pausa.
  • No se puede borrar un bucket mientras las eliminaciones definitivas están en pausa.

Roles obligatorios

Para obtener los permisos que necesitas para pausar o reanudar las eliminaciones definitivas, pídele a tu administrador que te otorgue el rol de IAM de Administrador de almacenamiento (roles/storage.admin) en el bucket o el proyecto que contiene el bucket.

Este rol predefinido contiene los permisos necesarios para pausar o reanudar las eliminaciones definitivas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para pausar o reanudar las eliminaciones definitivas:

  • storage.buckets.update
  • Si usas la consola de Google Cloud para realizar las tareas de esta página, haz lo siguiente:
    • storage.buckets.get
    • storage.buckets.list

Para obtener más información sobre cómo otorgar roles, consulta Configura y administra políticas de IAM en buckets o Administra el acceso a los proyectos.

Pausar las eliminaciones definitivas

API de REST

API de JSON

  1. Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado Authorization.

  2. Crea un archivo JSON que contenga la siguiente información:

    {
      "softDeletePolicy": {
        "hardDeletePause": {
          "enabled": true
        }
      }
    }
  3. Para pausar las eliminaciones definitivas de un bucket, usa cURL para llamar a la API de JSON con una solicitud de bucket PATCH:

    curl -X PATCH --data-binary @JSON_FILE_NAME \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage./storage/v1/b/BUCKET_NAME"

    Reemplaza lo siguiente:

    • JSON_FILE_NAME: Es la ruta de acceso al archivo JSON que creaste en el paso anterior.
    • BUCKET_NAME: el nombre del bucket. Por ejemplo, my-bucket.

Reanudar las eliminaciones definitivas

API de REST

API de JSON

  1. Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado Authorization.

  2. Crea un archivo JSON que contenga la siguiente información:

    {
      "softDeletePolicy": {
        "hardDeletePause": {
          "enabled": false
        }
      }
    }
  3. Para reanudar las eliminaciones definitivas de un bucket, usa cURL para llamar a la API de JSON con una solicitud de bucket PATCH:

    curl -X PATCH --data-binary @JSON_FILE_NAME \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage./storage/v1/b/BUCKET_NAME"

    Reemplaza lo siguiente:

    • JSON_FILE_NAME: Es la ruta de acceso al archivo JSON que creaste en el paso anterior.
    • BUCKET_NAME: el nombre del bucket. Por ejemplo, my-bucket.

Verifica si las eliminaciones definitivas están pausadas para un bucket

La política de eliminación no definitiva de un bucket proporciona información sobre si las eliminaciones definitivas están pausadas. Para conocer los pasos para recuperar la política de eliminación no definitiva de un bucket, consulta Verifica si la eliminación no definitiva está habilitada en un bucket.

¿Qué sigue?