Esta página descreve o recurso de exclusão reversível, que preserva objetos e buckets excluídos ou substituídos por um período especificado. A exclusão reversível ajuda a proteger seus dados contra exclusão acidental ou maliciosa, mantendo objetos ou buckets excluídos em um estado de exclusão reversível, durante o qual o objeto ou bucket não pode ser excluído permanentemente. A exclusão reversível é ativada por padrão em todos os buckets e tem uma duração de retenção de sete dias, a menos que você ou sua organização tenham escolhido uma política diferente.
Visão geral
Quando você ativa a exclusão reversível em um bucket, a exclusão dele ou dos objetos dentro dele faz com que o recurso entre em um estado de exclusão reversível em vez de ser excluído permanentemente. Os objetos e buckets excluídos de forma temporária se comportam das seguintes maneiras:
Não é possível ler nem modificar objetos excluídos de forma reversível.
Não é possível modificar buckets excluídos de forma temporária.
As operações de lista excluem objetos excluídos de maneira reversível por padrão.
As únicas operações compatíveis com objetos e buckets excluídos de forma reversível são listar ou restaurar.
Recursos como Classe automática, Gerenciamento do ciclo de vida de objetos, Bloqueio de bucket e Bloqueio de retenção de objetos são compatíveis com a exclusão reversível, mas não afetam os objetos excluídos dessa forma.
Para ativar a exclusão reversível em um bucket, crie uma política de exclusão reversível que especifique uma duração de retenção. Isso controla por quanto tempo o bucket e os objetos nele são mantidos antes de serem excluídos permanentemente.
Para saber como definir e gerenciar uma política de exclusão reversível para ativar ou desativar a exclusão reversível em um bucket, consulte Usar a exclusão reversível.
Políticas de exclusão reversível
Por padrão, a exclusão reversível é ativada em todos os buckets recém-criados. É possível editar uma política de exclusão reversível para ativar ou desativar a exclusão reversível de um bucket. Uma política de exclusão reversível pode ser definida, excluída ou editada durante uma solicitação de criação ou atualização de bucket.
As políticas de exclusão reversível funcionam das seguintes maneiras:
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.Se você adicionar uma nova duração de retenção de exclusão reversível a um bucket existente, ela não será aplicada a nenhum dos objetos ou buckets excluídos antes da entrada em vigor da política de exclusão reversível.
Se você excluir o projeto, não será possível usar a exclusão reversível para restaurar os buckets ou objetos nele, mesmo que a exclusão reversível estivesse ativada. Para não perder seus dados em caso de exclusão maliciosa ou acidental, recomendamos limitar o acesso à exclusão no nível do projeto colocando uma garantia nos seus projetos ou fazendo backup de dados críticos para os negócios em buckets de um projeto diferente.
Se um bucket for excluído, os objetos dentro dele não serão excluídos permanentemente, mas não poderão ser listados ou restaurados, a menos que o bucket excluído de forma reversível seja restaurado primeiro. Quando você restaura um bucket excluído de maneira reversível, ele é restaurado sem objetos ativos. Você precisa realizar uma operação de restauração de objeto ou adicionar novos objetos a ele. Para saber mais sobre como usar buckets excluídos de forma reversível, consulte Restaurar um bucket excluído de forma reversível.
Duração da retenção da exclusão reversível
Durante o período de retenção de uma política de exclusão reversível, é possível restaurar objetos ou buckets excluídos, mas após o término desse período, o Cloud Storage exclui permanentemente o recurso excluído de maneira reversível.
Quando você cria um bucket, uma política de exclusão reversível é adicionada a ele com uma duração de retenção padrão de sete dias. É possível editar a duração da retenção de uma política ou definir uma nova duração de retenção padrão. A duração máxima de retenção que você pode definir é de 90 dias, e a mínima é de 7 dias. Você
também pode definir a duração da retenção como 0
para desativar a exclusão reversível no
bucket.
Restauração de objetos excluídos de forma reversível
Quando você restaura um objeto excluído de maneira reversível, o Cloud Storage cria uma cópia dele no mesmo bucket.
O comportamento de restauração de objetos excluídos de maneira reversível pode ser descrito da seguinte forma:
Quando você restaura um objeto excluído de maneira reversível, o Cloud Storage cria uma nova versão ativa dele no mesmo bucket. A versão excluída de maneira reversível do objeto permanece no bucket até que a duração da retenção expire.
Em alguns casos, se um objeto ativo já existir com o mesmo nome do objeto excluído de forma reversível no momento da restauração, o objeto restaurado vai substituir o objeto ativo, que será excluído de forma reversível. Nesse cenário, seu bucket contém os seguintes objetos:
O objeto ativo substituído que está arquivado ou 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.
Os objetos excluídos de forma reversível podem ser restaurados usando vários métodos. É possível restaurar os objetos excluídos de maneira reversível de forma síncrona ou criar uma operação de longa duração para restaurar em massa objetos que atendam a um determinado critério.
Restauração de objetos excluídos de maneira reversível em buckets com namespace hierárquico ativado
Embora seja raro, podem ocorrer objetos excluídos de forma reversível duplicados com nomes e valores de geração idênticos em buckets com namespace hierárquico ativado. Imagine esta situação:
- O objeto
folderA/my-object.txt
foi excluído de forma reversível. - A pasta mãe,
folderA
, é excluída. - Um objeto diferente,
folderB/my-object.txt
, é movido para o caminho original ao renomearfolderB
parafolderA
. Esse objeto agora se tornafolderA/my-object.txt
. - Esse novo objeto
folderA/my-object.txt
também é excluído de maneira reversível.
Embora cada versão de objeto no Cloud Storage tenha um valor de geração exclusivo, objetos criados de forma independente, como os folderA/my-object.txt
e folderB/my-object.txt
originais, podem compartilhar o mesmo valor de geração por coincidência. Combinado com o cenário, isso pode resultar em dois objetos excluídos de forma reversível
com os mesmos nomes (folderA/my-object.txt
) e valores de geração.
Para garantir que você restaure, liste ou receba o objeto certo, inclua o parâmetro restoreToken
na sua solicitação.
Ao usar a exclusão reversível em buckets com namespace hierárquico ativado, considere as seguintes informações:
Se você tentar restaurar, listar ou receber objetos duplicados sem usar o parâmetro
restoreToken
, vai receber um erro pedindo para usar o parâmetrorestoreToken
na solicitação de restauração ou listagem de objetos.Se você usar os valores errados para os parâmetros
restoreToken
,name
ougeneration
como parte da solicitação de restauração, listagem ou recebimento de objetos, vai receber um erro indicando que o objeto especificado não existe.
Restauração de buckets
Quando você restaura um bucket excluído de maneira reversível, ele volta a um estado ativo, e os objetos que estavam no bucket no momento da exclusão também podem ser recuperados durante o período de retenção da exclusão reversível.
Assim como os objetos excluídos de maneira reversível, o Cloud Storage exclui permanentemente um bucket excluído de maneira reversível ao final do período de retenção da exclusão reversível se ele não for restaurado durante esse período.
Preços
Os objetos excluídos de maneira reversível geram cobranças de armazenamento até que 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.
otimização de custos da exclusão reversível
Para ajudar a reduzir os custos de armazenamento em objetos temporários e de curta duração, mantendo a proteção de dados, recomendamos o seguinte:
Renomear objetos: use a API Objects: move para renomear um objeto temporário de curta duração em vez de copiar e excluir o original.
Separe os dados temporários: quando possível, separe os dados temporários em um bucket separado com a exclusão reversível desativada.
Interações com outros produtos e recursos
Quando a exclusão reversível está ativada, ela se comporta com outros produtos e recursos das seguintes maneiras:
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. Não é possível usar o gerenciamento do ciclo de vida de objetos para mudar a classe de armazenamento de objetos excluídos de maneira reversível ou para excluí-los permanentemente.
Os objetos excluídos pelo gerenciamento do ciclo de vida de objetos são excluídos de maneira reversível. Se você também tiver o controle de versões de objetos ativado no bucket, os objetos ativos excluídos se tornarão não atuais, e os objetos não atuais excluídos serão excluídos de forma reversível.
Controle de versões de objeto: quando você exclui um objeto não atual, 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.
-
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: esses recursos impedem a exclusão de objetos até que eles cumpram as políticas de retenção. A exclusão reversível oferece uma camada extra de proteção, mantendo os objetos excluídos por um período de retenção separado.
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 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 do 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.
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.
Recomendador: é possível ativar a API Recommender para receber sugestões e insights sobre como ativar ou desativar a exclusão temporária com base nos custos e no uso do Cloud Billing. Para saber mais, consulte o Recomendador de exclusão reversível.
A seguir
- Saiba como usar a exclusão reversível.
- Saiba como usar objetos excluídos de maneira reversível.
- Saiba mais sobre a restrição de política de
storage.softDeletePolicySeconds
.