Pausar exclusões permanentes (irreversíveis) de objetos excluídos de forma reversível

Se você precisar de mais tempo para restaurar objetos excluídos de forma reversível antes que eles sejam excluídos permanentemente, pause as exclusões permanentes (também chamadas de exclusões irreversíveis) de objetos excluídos de forma reversível em um bucket do Cloud Storage.

Por padrão, os objetos e buckets excluídos de maneira reversível são excluídos permanentemente quando atingem a duração da retenção da exclusão reversível. Quando você pausa as exclusões irreversíveis de um bucket, os objetos excluídos de forma reversível são retidos indefinidamente, independentemente da duração da retenção da exclusão reversível. Os objetos excluídos de forma reversível só são excluídos permanentemente depois que você retoma as exclusões irreversíveis do bucket.

Casos de uso

Pausar as exclusões permanentes dá mais tempo para realizar restaurações de objetos muito grandes ou complicadas, que, de outra forma, poderiam levar mais tempo para serem resolvidas do que o período de retenção da exclusão reversível. Exemplo:

  • Recuperar buckets muito grandes que contêm bilhões de objetos. Se um bucket tiver um número muito grande de objetos, poderá levar mais tempo do que a duração da retenção para recuperar todos os objetos no bucket, especialmente se você detectar a exclusão depois que parte do período de armazenamento já tiver passado. Pausar exclusões permanentes pode ajudar você a se recuperar de um incidente inesperado de exclusão em massa, sem precisar definir uma duração de retenção mais longa para as operações diárias.
  • Escopo de exclusões pouco claro. Se você não tiver certeza de quais objetos foram excluídos incorretamente, pode levar algum tempo para investigar. Pausar as exclusões permanentes pode dar mais tempo para você descobrir o que precisa ser restaurado.
  • Recuperações complexas. Para restaurações complexas, pode haver tempo para detectar e realizar uma recuperação em massa dentro do período de retenção. Se isso não gerar os resultados esperados, pausar as exclusões permanentes pode dar mais tempo para você validar se está satisfeito com o estado de recuperação.

Recomendamos o fluxo de trabalho a seguir para pausar temporariamente as exclusões permanentes de um bucket. Ao detectar um incidente de exclusão em massa que pode levar mais tempo para ser resolvido do que a duração da retenção da exclusão reversível, siga estas etapas:

  1. Se necessário, restaure o bucket.

  2. Pausar exclusões irreversíveis do bucket.

  3. Restaure os objetos no bucket.

  4. Depois de concluir a recuperação e validar que os dados foram restaurados, retome as exclusões permanentes do bucket.

Considerações

  • É possível pausar as exclusões irreversíveis de um bucket atualizando um bucket que tenha a exclusão reversível ativada. As exclusões irreversíveis não podem ser pausadas durante a criação do bucket ou para buckets que não têm a exclusão reversível ativada.
  • Quando você retoma as exclusões irreversíveis de um bucket, o Cloud Storage retoma as exclusões permanentes de todos os objetos excluídos de forma reversível no bucket com base nas durações de retenção da exclusão reversível. Se algum objeto tiver ultrapassado o período de retenção, ele será excluído permanentemente quando você retomar as exclusões permanentes.
  • A pausa nas exclusões irreversíveis entra em vigor imediatamente. Pode levar alguns segundos para que as operações de API em cache retornem informações atualizadas.
  • É possível continuar excluindo objetos em um bucket quando as exclusões irreversíveis estão pausadas. Os objetos excluídos são excluídos de maneira reversível.
  • É possível pausar e retomar as exclusões permanentes em um bucket no máximo uma vez a cada 24 horas.
  • É possível atualizar a duração da retenção da exclusão reversível enquanto as exclusões irreversíveis estão pausadas. No entanto, não é possível desativar a exclusão reversível enquanto as exclusões irreversíveis estão pausadas.
  • Não é possível excluir um bucket enquanto as exclusões irreversíveis estão pausadas.

Funções exigidas

Para receber as permissões necessárias para pausar ou retomar exclusões permanentes, peça ao administrador para conceder a você o papel do IAM de Administrador do Storage (roles/storage.admin) no bucket ou no projeto que o contém.

Esse papel predefinido contém as permissões necessárias para pausar ou retomar exclusões permanentes. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para pausar ou retomar exclusões permanentes:

  • storage.buckets.update
  • Se você usa o console do Google Cloud para realizar as tarefas nesta página:
    • storage.buckets.get
    • storage.buckets.list

Para informações sobre como conceder papéis, consulte Definir e gerenciar políticas do IAM em buckets ou Gerenciar o acesso a projetos.

Pausar exclusões irreversíveis

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho Authorization.

  2. Crie um arquivo JSON com as informações a seguir:

    {
      "softDeletePolicy": {
        "hardDeletePause": {
          "enabled": true
        }
      }
    }
  3. Para pausar as exclusões permanentes de um bucket, use cURL para chamar a API JSON com uma solicitação PATCH Bucket:

    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"

    Substitua:

    • JSON_FILE_NAME: o caminho para o arquivo JSON que você criou na etapa anterior.
    • BUCKET_NAME: o nome do bucket Por exemplo, my-bucket.

Retomar exclusões irreversíveis

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho Authorization.

  2. Crie um arquivo JSON com as informações a seguir:

    {
      "softDeletePolicy": {
        "hardDeletePause": {
          "enabled": false
        }
      }
    }
  3. Para retomar as exclusões permanentes de um bucket, use cURL para chamar a API JSON com uma solicitação PATCH Bucket:

    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"

    Substitua:

    • JSON_FILE_NAME: o caminho para o arquivo JSON que você criou na etapa anterior.
    • BUCKET_NAME: o nome do bucket Por exemplo, my-bucket.

Verificar se as exclusões irreversíveis estão pausadas em um bucket

A política de exclusão reversível de um bucket informa se as exclusões permanentes estão pausadas. Para saber como recuperar a política de exclusão reversível de um bucket, consulte Verificar se a exclusão reversível está ativada em um bucket.

A seguir