Esta página descreve o recurso de exclusão reversível e seus usos. A exclusão reversível fornece proteção padrão no nível do bucket para os dados contra exclusão acidental ou maliciosa, preservando todos os objetos excluídos recentemente por um período especificado.
Visão geral
O recurso de exclusão reversível permite preservar todos os objetos excluídos ou substituídos no bucket por um período especificado.
Os objetos armazenados nos buckets do Cloud Storage são imutáveis. Se você substituir ou alterar os dados de um objeto, o Cloud Storage excluirá a versão anterior e a substituirá por uma nova. A exclusão reversível mantém todos esses objetos excluídos, seja por um comando de exclusão ou devido a uma substituição, capturando essencialmente todas as alterações feitas nos dados do bucket para a duração de retenção configurada.
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 política de exclusão reversível do bucket, é possível aumentar a duração da retenção até um máximo de 90 dias, diminuí-la para um mínimo de 7 dias ou desativá-la completamente.
Quando você exclui um objeto do bucket com a exclusão reversível ativada, o Cloud Storage executa as seguintes ações:
- Move o objeto excluído para um estado de exclusão reversível. Nesse estado, o objeto fica invisível para o bucket, exceto quando você lista ou restaura explicitamente objetos excluídos de maneira reversível.
- Mantém o objeto excluído de maneira reversível pela duração da retenção configurada. Durante esse período, não é possível modificar esse objeto de nenhuma forma, inclusive por recursos como regras de ciclo de vida de objetos ou a classe automática.
- Protege os metadados da versão mais recente (número de geração) do objeto. Esses metadados podem ser os metadados da versão mais recentemente excluída de um objeto ou o objeto ativo, se houver.
- Exclui o objeto permanentemente do bucket após o término da duração de retenção da exclusão reversível.
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 no momento da exclusão. 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.
Quando a exclusão reversível está ativada no bucket, não é possível excluir permanentemente um objeto ativo ou que foi excluído de maneira reversível. Quando você exclui um objeto ativo, ele é excluído de maneira reversível. O objeto excluído de maneira reversível é excluído permanentemente após o término da retenção da exclusão reversível.
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.
Política de exclusão reversível
É possível adicionar uma política de exclusão reversível a um bucket novo ou existente.
- Depois de adicionar uma política de exclusão reversível a um bucket, o Cloud Storage mantém todos os objetos excluídos do bucket pela duração especificada para essa exclusão.
É possível atualizar a política de exclusão reversível de um bucket alterando a duração de retenção.
- A nova duração de retenção da exclusão reversível só se aplica a objetos que são excluídos após a mudança entrar em vigor.
A duração da retenção atualizada não se aplica aos objetos já excluídos de maneira reversível. Os objetos excluídos de maneira reversível são mantidos pelo tempo que estava em vigor quando foram excluídos.
Por exemplo, você tem dois objetos no bucket: Objeto A e Objeto B. Você ativa uma política de exclusão reversível no bucket com uma duração de retenção padrão de sete dias. Você exclui o Objeto A. Depois de alguns dias, você altera a duração da retenção da exclusão reversível para dez dias e exclui o Objeto B. O Cloud Storage continua retendo o Objeto A até que esteja protegido por sete dias, enquanto o Objeto B é mantido por dez dias.
É possível remover a política de exclusão reversível do bucket.
- O Cloud Storage retém todos os objetos excluídos de maneira reversível no bucket durante o período especificado na política de exclusão reversível antes da remoção.
- O Cloud Storage remove permanentemente todos os objetos excluídos após a política de exclusão reversível ser desativada.
Duração da retenção da exclusão reversível
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 Google Cloud CLI, 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 objetos e buckets
É 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.
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.
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
A exclusão reversível é compatível com todos os recursos do Cloud Storage. Quando ativado, ele tem as seguintes interações com outros recursos do Cloud Storage:
- As regras de Gerenciamento do ciclo de vida de objetos (OLM, na sigla em inglês) atuam apenas em objetos ativos e não atuais e não podem afetar os objetos depois que eles são excluídos de forma reversível. Todos os objetos excluídos pelo OLM são excluídos de maneira reversível, em vez de permanentemente.
- O controle de versões de objetos fornece todos os recursos atuais, exceto a exclusão de um objeto não atual (especificando o número de geração) para que ele seja excluído de maneira reversível em vez de permanentemente. Nesse cenário, a exclusão reversível se torna uma segunda camada de proteção sobre o controle de versões de objetos.
- Os uploads de várias partes são protegidos pela exclusão reversível quando os objetos são finalizados. A exclusão reversível não protege fragmentos de upload de várias partes que são excluídos antes da finalização dos objetos.
- O recurso Classe automática gerencia as classes de armazenamento de todos os objetos ativos, incluindo objetos não atuais protegidos pelo controle de versões de objetos. Ele não tem acesso a objetos excluídos de maneira reversível. Portanto, as taxas de gerenciamento do Autoclass não são cobradas para objetos excluídos de maneira reversível. Depois que um objeto é excluído de maneira reversível em um bucket ativado para a classe automática, a classe de armazenamento desse objeto é congelada até a duração da retenção da exclusão reversível expirar. A restauração de um objeto excluído de maneira reversível o restaura de volta para a classe de armazenamento padrão da mesma forma que a leitura de um objeto frio em um bucket da classe automática também redefine a classe de armazenamento de volta para o armazenamento padrão.
Os recursos de bloqueio de bucket e bloqueio de retenção de objetos impedem a exclusão de objetos do bucket ativo durante as durações de retenção definidas para esses recursos. Já a exclusão reversível permite excluir objetos ativos e restaurá-los, se necessário.
Quando a exclusão reversível estiver ativada ao usar um ou ambos os recursos, não será possível excluir objetos ativos pela duração especificada na política de retenção de bloqueio de buckets e de objetos. Depois que qualquer um desses bloqueios expirar nos objetos ativos, você poderá excluí-lo. Em seguida, o objeto passa para o estado de exclusão reversível e é mantido durante o período de retenção dessa exclusão.
É possível definir restrições de política na exclusão reversível nas políticas da organização.
Isso exige que você defina uma duração específica de retenção para a exclusão reversível ao criar novos buckets ou atualizar buckets atuais.
Quando você restaura uma versão excluída de forma reversível de um objeto, o Pub/Sub aciona um evento OBJECT_FINALIZE em cada restauração de objeto bem-sucedida.
Uma exclusão reversível não pode restaurar as políticas do IAM em pastas gerenciadas. Se você fizer a exclusão reversível de um objeto e excluir uma pasta gerenciada que concede políticas de IAM para o objeto, talvez seja necessário recriar essas políticas do IAM antes de ter as permissões necessárias para restaurar o objeto excluído de maneira reversível.
A seguir
- Saiba como usar a exclusão reversível.
- Saiba como usar objetos excluídos de maneira reversível.