Fazer a exclusão reversível

Configuração Uso

Esta página descreve o recurso de exclusão reversível, que preserva objetos excluídos ou substituídos por um período especificado. O recurso de exclusão reversível ajuda a proteger seus dados contra exclusão acidental ou maliciosa.

Visão geral

A exclusão reversível mantém objetos excluídos, seja por um comando de exclusão ou devido a uma substituição, garantindo que os dados do bucket sejam capturados e preservados. A exclusão reversível é ativada durante o processo de criação do bucket.

Quando você exclui um objeto do bucket com a exclusão reversível ativada, o seguinte ocorre:

  • O objeto excluído entra em um estado de exclusão reversível. Nesse estado, não é possível modificar o objeto de nenhuma forma, e recursos do Cloud Storage, como Classe automática e Gerenciamento do ciclo de vida de objetos, não se aplicam a objetos excluídos temporariamente.

  • O objeto excluído de forma reversível fica invisível para o bucket, exceto quando você lista ou restaura objetos excluídos de forma reversível e os dados do objeto contidos no objeto excluído de forma reversível não podem ser lidos.

  • O bucket retém o objeto excluído de maneira reversível e os metadados dele durante a exclusão reversível por um período de retenção especificado de até 90 dias. Por padrão, esse período é de sete dias.

  • O Cloud Storage exclui o objeto permanentemente após o término do período de retenção da exclusão reversível. Se você não quiser mais manter os dados após a exclusão, desative a política de exclusão reversível. Para mais informações, consulte Gerenciar a política de exclusão reversível.

Considerações antes de adicionar uma política de exclusão reversível

A exclusão reversível é ativada em buckets novos por padrão com uma duração de retenção de sete dias. Também é possível especificar um período de retenção de até 90 dias durante ou após a criação do bucket. Se um bucket não tiver a exclusão reversível ativada, será possível adicionar uma política de exclusão reversível a ele. Antes de adicionar ou mudar uma política de exclusão reversível em um bucket, considere o seguinte:

  • A atualização da política de exclusão reversível de um bucket só se aplica a objetos que você exclui depois que a política de exclusão reversível entra em vigor. Os objetos que você excluiu antes da atualização são mantidos pelo tempo que estava em vigor quando foram excluídos.

    Por exemplo, imagine que você ativou uma política de exclusão reversível no bucket com a duração de retenção padrão de sete dias e excluiu o objeto cat.png. Nesse cenário, cat.png é retido como um objeto excluído de maneira reversível pelos próximos sete dias e depois é excluído permanentemente. Isso ocorre mesmo quando você muda ou remove a política de exclusão reversível do bucket.

    • É possível desativar uma política de exclusão reversível, se necessário. Para mais informações, consulte Gerenciar a política de exclusão reversível.

    • Se você desativar uma política de exclusão reversível de um bucket que tenha objetos excluídos de maneira reversível durante o período de desativação, o Cloud Storage vai manter os objetos excluídos de maneira reversível pela duração de retenção especificada antes da exclusão permanente.

    • Depois de desativar uma política de exclusão reversível no bucket, o Cloud Storage não retém os dados excluídos quando uma operação de exclusão é realizada.

    • Não é possível forçar a exclusão de um objeto excluído de maneira reversível. Isso evita exclusões maliciosas ou acidentais. Para evitar que o bucket continue a retenção de dados excluídos temporariamente, recomendamos desativar a política de exclusão reversível do bucket.

Duração da retenção da exclusão reversível

Quando você cria um bucket do Cloud Storage, o recurso de exclusão reversível é ativado por padrão com uma duração de retenção de sete dias. Durante a duração da retenção, é possível restaurar objetos excluídos, mas após o término, o Cloud Storage excluirá os objetos permanentemente. Ao atualizar a configuração do bucket, é possível aumentar a duração da retenção para 90 dias ou desativá-la definindo a duração da retenção como 0. O mínimo com a exclusão reversível ativada é de sete dias.

A duração da retenção da exclusão reversível é medida em segundos. No entanto, algumas ferramentas, como o Console do Google Cloud e a CLI do Google Cloud, permitem definir e visualizar a duração da retenção com outras unidades de tempo.

As conversões a seguir se aplicam nestes casos:

  • Um dia é considerado como sendo 86.400 segundos.
  • Um mês é considerado como sendo 31 dias, o que é 2.678.400 segundos.

Para a CLI gcloud, ao especificar um período de armazenamento, use um número inteiro e uma unidade, em que a unidade pode ser s, d, m ou , que representam segundos, dias, meses ou anos, respectivamente. Por exemplo, 7d43200s define um período de armazenamento de 7 dias e 43.200 segundos (sete dias e meio).

É possível definir uma duração máxima de retenção de 7.776.000 segundos (90 dias) ou uma duração mínima de retenção de 604.800 segundos (7 dias). Ao usar APIs REST, também é possível definir a duração da retenção como um valor de 0, o que desativa a política de exclusão reversível.

Restaurar o comportamento

Quando você restaura um objeto de exclusão reversível, o Cloud Storage cria uma cópia do objeto excluído de maneira reversível no mesmo bucket do qual foi excluído. Os metadados do objeto restaurado são iguais aos metadados do objeto excluído. Ao final do período de retenção da exclusão reversível, o Cloud Storage exclui permanentemente o objeto excluído de maneira reversível.

É possível restaurar os objetos excluídos de forma reversível antes que a duração da retenção da exclusão reversível termine.

  • Para que a restauração seja bem-sucedida, você precisa iniciá-la com antecedência suficiente para concluí-la dentro da duração da retenção da exclusão reversível, já que os objetos são excluídos permanentemente após o término desse período.
  • É possível restaurar os objetos excluídos de maneira reversível de maneira síncrona especificando uma lista de objetos ou criar uma operação de longa duração para restaurar em massa objetos excluídos entre dois carimbos de data/hora.
  • O Cloud Storage sempre restaura os objetos no mesmo bucket em que eles foram excluídos originalmente.

Se você excluir o projeto, o Cloud Storage excluirá permanentemente todos os buckets e objetos desse projeto. Nesse caso, não é possível restaurar objetos e buckets usando o recurso de exclusão reversível. Portanto, é importante tomar medidas para limitar o acesso a exclusões para envolvidos no projeto, como colocar uma garantia em projetos ou fazer backup de dados críticos para os negócios em buckets do em um projeto diferente.

Quando você restaura uma versão de objeto excluída de maneira reversível, o Cloud Storage restaura a cópia dele para uma versão ativa. Se já houver uma versão ativa, a cópia da versão excluída de forma reversível substituirá a versão ativa, e a versão ativa preexistente será excluída de forma reversível. Nesse cenário, seu bucket contém os seguintes objetos:

  • O objeto ativo substituído que está no estado de exclusão reversível
  • Duas cópias do objeto excluído de maneira reversível: uma cópia ativa e uma ainda excluída de forma reversível

Todas essas cópias de objetos geram cobranças de armazenamento até que os objetos excluídos de maneira reversível sejam excluídos permanentemente após o término da duração da retenção. Para mais informações sobre os custos associados a objetos excluídos temporariamente, consulte Preços do Cloud Storage.

O Cloud Storage também copia os metadados dos objetos restaurados de maneira reversível ao substituir o objeto ativo. Isso significa que os metadados de segurança no nível do objeto e as configurações, como a classe de armazenamento, são definidos para o último estado dessa versão específica do objeto durante a restauração.

Os objetos excluídos de forma reversível não são permanentemente excluídos após a exclusão do bucket. No entanto, a versão correta do bucket precisa ser restaurada antes que seja possível restaurar os objetos excluídos de maneira reversível dentro dela. Para restaurar um bucket excluído de maneira reversível, entre em contato com o suporte do Google Cloud.

Considerações com outros recursos

Quando a exclusão reversível está ativada, ela tem as seguintes interações com outros recursos do Cloud Storage:

  • Gerenciamento do ciclo de vida de objetos

    • As regras do gerenciamento do ciclo de vida de objetos não afetam os objetos excluídos de maneira reversível.

    • Os objetos excluídos pelo gerenciamento do ciclo de vida de objetos são excluídos de maneira reversível.

  • Controle de versões dos objetos

    Quando você exclui um objeto desatualizado, ele é excluído de maneira reversível.

  • Uploads de várias partes da API XML

    As partes de uploads de várias partes da API XML não são protegidas pela exclusão reversível.

  • Classe automática

    • As taxas de gerenciamento da classe automática não são cobradas para objetos excluídos de maneira reversível.

    • A classe automática não muda a classe de armazenamento de objetos excluídos de maneira reversível.

    • Quando você restaura um objeto excluído de maneira reversível, o objeto resultante é definido com a classe de armazenamento Standard.

  • Recursos de bloqueio de bucket e bloqueio de retenção de objetos

    Não é possível excluir objetos até que eles cumpram as políticas de retenção, mesmo quando a exclusão reversível retém o objeto por um período suficiente.

  • Notificações do Pub/Sub

    A restauração de uma versão excluída de maneira reversível de um objeto aciona um evento OBJECT_FINALIZE.

  • Pastas gerenciadas

    • A exclusão reversível não se aplica a pastas gerenciadas.

    • Se você excluir um objeto e uma pasta gerenciada que concede políticas do IAM para ele, poderá não ter permissão para restaurar o objeto excluído de maneira reversível até recriar as políticas do IAM associadas à pasta gerenciada.

  • Tags

    Se você criar um bucket sem incluir uma configuração de exclusão reversível, o padrão do Cloud Storage será criar o bucket com uma duração de retenção de exclusão reversível de sete dias. Para mudar esse padrão, use uma tag. A tag pode mudar a duração de retenção padrão para novos buckets para qualquer valor entre 7 e 90 dias ou pode mudar o padrão para desativar a exclusão reversível em novos buckets. Também é possível usar tags para desativar a exclusão reversível por padrão.

A seguir