Eliminação recuperável para blobs
A eliminação recuperável de blobs protege um blob individual, um instantâneo ou uma versão contra eliminações ou substituições acidentais, mantendo os dados eliminados no sistema durante um período de tempo especificado. Durante o período de retenção, pode restaurar um objeto eliminado de forma recuperável para o estado em que estava no momento da eliminação. Quando o período de retenção termina, o objeto é eliminado permanentemente.
Configuração recomendada de proteção de dados
A exclusão suave de blob faz parte de uma estratégia abrangente de proteção de dados para dados de blob. Para uma proteção ideal para seus dados de blob, a Microsoft recomenda habilitar todos os seguintes recursos de proteção de dados:
- Exclusão suave de contêiner, para restaurar um contêiner que foi excluído. Para saber como habilitar a exclusão suave de contêiner, consulte Habilitar e gerenciar a exclusão suave para contêineres.
- Controle de versão de Blob, para manter automaticamente as versões anteriores de um blob. Quando o controle de versão de blob está habilitado, você pode restaurar uma versão anterior de um blob para recuperar seus dados se ele for modificado ou excluído erroneamente. Para saber como habilitar o controle de versão de blob, consulte Habilitar e gerenciar o controle de versão de blob.
- Exclusão suave de blob, para restaurar um blob, instantâneo ou versão que foi excluída. Para saber como habilitar a exclusão suave de blob, consulte Habilitar e gerenciar a exclusão suave para blobs.
Para saber mais sobre as recomendações da Microsoft para proteção de dados, consulte Visão geral sobre proteção de dados.
Atenção
Depois de habilitar o controle de versão de blob para uma conta de armazenamento, cada operação de gravação em um blob nessa conta resulta na criação de uma nova versão. Por esse motivo, habilitar o controle de versão de blob pode resultar em custos adicionais. Para minimizar os custos, use uma política de gerenciamento do ciclo de vida para excluir automaticamente as versões antigas. Para obter mais informações sobre o gerenciamento do ciclo de vida, consulte Otimizar custos automatizando as camadas de acesso do Armazenamento de Blobs do Azure.
Como funciona a exclusão suave de blob
Ao habilitar a exclusão suave de blob para uma conta de armazenamento, você especifica um período de retenção para objetos excluídos entre 1 e 365 dias. O período de retenção indica por quanto tempo os dados permanecem disponíveis após serem excluídos ou substituídos. O relógio começa no período de retenção assim que um objeto é excluído ou substituído.
Enquanto o período de retenção estiver ativo, você poderá restaurar um blob excluído, juntamente com seus instantâneos, ou uma versão excluída chamando a operação Undelete Blob . O diagrama a seguir mostra como um objeto excluído pode ser restaurado quando a exclusão suave de blob está habilitada:
Você pode alterar o período de retenção de exclusão suave a qualquer momento. Um período de retenção atualizado aplica-se apenas aos dados que foram excluídos após a alteração do período de retenção. Todos os dados que tenham sido eliminados antes de o período de retenção ter sido alterado estão sujeitos ao período de retenção que estava em vigor quando foram eliminados.
A tentativa de excluir um objeto excluído por software não afeta seu tempo de expiração.
Se você desabilitar a exclusão suave de blob, poderá continuar a acessar e recuperar objetos excluídos por software em sua conta de armazenamento até que o período de retenção de exclusão suave tenha decorrido.
O controle de versão de Blob está disponível para contas de armazenamento de Blob v2 de uso geral, blob de bloco e Blob. Atualmente, não há suporte para contas de armazenamento com um namespace hierárquico.
Versão 2017-07-29 e superior da API REST de Armazenamento do Azure suportam exclusão suave de blob.
Importante
Você pode usar a exclusão suave de blob apenas para restaurar um blob, instantâneo, diretório (em um namespace hierárquico) ou versão individual. Para restaurar um contêiner e seu conteúdo, a exclusão suave do contêiner também deve ser habilitada para a conta de armazenamento. A Microsoft recomenda habilitar a exclusão suave de contêiner e o controle de versão de blob juntamente com a exclusão suave de blob para garantir proteção completa para dados de blob. Para obter mais informações, consulte Visão geral da proteção de dados.
A exclusão suave de Blob não protege contra a exclusão de uma conta de armazenamento. Para proteger uma conta de armazenamento contra exclusão, configure um bloqueio no recurso da conta de armazenamento. Para obter mais informações sobre como bloquear uma conta de armazenamento, consulte Aplicar um bloqueio do Azure Resource Manager a uma conta de armazenamento.
Como as exclusões são tratadas quando a exclusão suave está habilitada
Quando a exclusão suave de blob está habilitada, a exclusão de um blob marca esse blob como soft-delete. Nenhum instantâneo é criado. Quando o período de retenção expira, o blob excluído suavemente é excluído permanentemente. Em contas que têm um namespace hierárquico, a lista de controle de acesso de um blob não é afetada e permanecerá intacta se o blob for restaurado.
Se um blob tiver instantâneos, o blob não poderá ser excluído, a menos que os instantâneos também sejam excluídos. Quando você exclui um blob e seus snapshots, tanto o blob quanto os snapshots são marcados como soft-deleted. Nenhum novo snapshot é criado.
Você também pode excluir um ou mais instantâneos ativos sem excluir o blob de base. Nesse caso, o instantâneo é excluído suavemente.
Se um diretório for excluído em uma conta que tenha o recurso de namespace hierárquico habilitado, o diretório e todo o seu conteúdo serão marcados como soft-deleted. Somente o diretório soft-deleted pode ser acessado. Para acessar o conteúdo do diretório soft-delete, o diretório soft-deleted precisa ser apagado primeiro.
Os objetos excluídos por software são invisíveis, a menos que sejam explicitamente exibidos ou listados. Para obter mais informações sobre como listar objetos excluídos por software, consulte Gerenciar e restaurar blobs excluídos por software.
Como as substituições são tratadas quando a exclusão suave está habilitada
Importante
Esta seção não se aplica a contas que têm um namespace hierárquico.
Chamar uma operação como Colocar Blob, Colocar Lista de Bloqueios ou Copiar Blob substitui os dados em um blob. Quando a exclusão suave de blob está habilitada, a substituição de um blob cria automaticamente um instantâneo excluído suavemente do estado do blob antes da operação de gravação. Quando o período de retenção expira, o instantâneo excluído por software é excluído permanentemente. A operação executada pelo sistema para criar o instantâneo não aparece nos logs de recursos do Azure Monitor ou nos logs do Storage Analytics.
Os instantâneos excluídos por software são invisíveis, a menos que os objetos excluídos por software sejam explicitamente exibidos ou listados. Para obter mais informações sobre como listar objetos excluídos por software, consulte Gerenciar e restaurar blobs excluídos por software.
Para proteger uma operação de cópia, a exclusão suave de blob deve ser habilitada para a conta de armazenamento de destino.
A exclusão suave de blob não protege contra operações para gravar metadados ou propriedades de blob. Nenhum instantâneo excluído por software é criado quando os metadados ou as propriedades de um blob são atualizados.
A exclusão suave de Blob não oferece proteção de substituição para blobs na camada de arquivamento. Se um blob na camada de arquivo for substituído por um novo blob em qualquer camada, o blob substituído será excluído permanentemente.
Para contas de armazenamento premium, os snapshots excluídos suavemente não contam para o limite por blob de 100 snapshots.
Restaurando objetos excluídos por software
Você pode restaurar blobs ou diretórios excluídos suavemente (em um namespace hierárquico) chamando a operação Undelete Blob dentro do período de retenção. A operação Undelete Blob restaura um blob e quaisquer instantâneos excluídos suavemente associados a ele. Todos os instantâneos que foram excluídos durante o período de retenção são restaurados. Em contas que têm um namespace hierárquico, a lista de controle de acesso de um blob é restaurada junto com o blob.
Em contas que têm um namespace hierárquico, a operação Undelete Blob também pode ser usada para restaurar um diretório soft-deleted e todo o seu conteúdo. Se você renomear um diretório que contenha blobs excluídos por software, esses blobs excluídos por software serão desconectados do diretório. Se quiser restaurar esses blobs, você terá que reverter o nome do diretório de volta para seu nome original ou criar um diretório separado que use o nome do diretório original. Caso contrário, você receberá um erro ao tentar restaurar esses blobs excluídos suavemente. Também não é possível restaurar um diretório ou um blob para um caminho de arquivo que já tenha um diretório ou blob com esse nome. Por exemplo, se você excluir a.txt (1) e carregar um novo arquivo também chamado a.txt (2), não poderá restaurar o a.txt excluído suavemente (1) até que o a.txt ativo (2) tenha sido excluído ou renomeado. Você não pode acessar o conteúdo de um diretório excluído suavemente até que o diretório tenha sido removido.
Chamar Undelete Blob em um blob que não é soft-deleted restaurará quaisquer instantâneos soft-deleted associados ao blob. Se o blob não tiver instantâneos e não for excluído suavemente, chamar Undelete Blob não terá efeito.
Para promover um instantâneo excluído suavemente para o blob base, primeiro chame Undelete Blob no blob base para restaurar o blob e seus instantâneos. Em seguida, copie o snapshot desejado sobre o blob base. Você também pode copiar o instantâneo para um novo blob.
Os dados em um blob ou instantâneo excluído suavemente não podem ser lidos até que o objeto tenha sido restaurado.
Para obter mais informações sobre como restaurar objetos excluídos por software, consulte Gerenciar e restaurar blobs excluídos por software.
Gorjeta
Você pode usar uma tarefa de armazenamento para restaurar blobs em escala em várias contas de armazenamento com base em um conjunto de condições que você definir. Uma tarefa de armazenamento é um recurso disponível nas Ações de Armazenamento do Azure, uma estrutura sem servidor que você pode usar para executar operações de dados comuns em milhões de objetos em várias contas de armazenamento. Para saber mais, consulte O que são as Ações de Armazenamento do Azure?.
Exclusão suave de blob e controle de versão
Importante
O controle de versão não é suportado para contas que têm um namespace hierárquico.
Se o controle de versão de blob e a exclusão suave de blob estiverem habilitados para uma conta de armazenamento, a substituição de um blob criará automaticamente uma nova versão anterior que reflita o estado do blob antes da operação de gravação. A nova versão não é excluída suavemente e não é removida quando o período de retenção de exclusão suave expira. Nenhum instantâneo excluído por software é criado.
Se o controle de versão de blob e a exclusão suave de blob estiverem habilitados para uma conta de armazenamento, quando você excluir um blob, a versão atual do blob se tornará uma versão anterior e não haverá mais uma versão atual. Nenhuma nova versão é criada e nenhum instantâneo excluído por software é criado. Todas as versões anteriores são mantidas até serem explicitamente excluídas, seja com uma operação de exclusão direta ou por meio de uma política de gerenciamento do ciclo de vida.
Habilitar a exclusão suave e o controle de versão juntos protege as versões anteriores do blob, bem como as versões atuais, contra exclusão. Quando a exclusão suave está habilitada, a exclusão explícita de uma versão anterior cria uma versão excluída suavemente que é mantida até que o período de retenção de exclusão suave decorrija. Após o período de retenção de exclusão suave ter decorrido, a versão de blob excluída suavemente será excluída permanentemente.
Você pode usar a operação Undelete Blob para restaurar versões excluídas por software durante o período de retenção de exclusão suave. A operação Undelete Blob sempre restaura todas as versões excluídas suavemente do blob. Não é possível restaurar apenas uma única versão excluída por software.
Nota
Chamar a operação Undelete Blob em um blob excluído quando o controle de versão está habilitado restaura quaisquer versões ou instantâneos excluídos por software, mas não restaura a versão atual. Para restaurar a versão atual, promova uma versão anterior copiando-a para a versão atual.
A Microsoft recomenda habilitar o controle de versão e a exclusão suave de blob para suas contas de armazenamento para uma proteção de dados ideal. Para obter mais informações sobre como usar o controle de versão de blob e a exclusão suave juntos, consulte Controle de versão de blob e exclusão suave.
Proteção de exclusão suave de blob por operação
A tabela a seguir descreve o comportamento esperado para operações de exclusão e gravação quando a exclusão suave de blob está habilitada, com ou sem controle de versão de blob.
Conta de armazenamento (sem namespace hierárquico)
Operações da API REST | Exclusão suave ativada | Exclusão suave e controle de versão ativado |
---|---|---|
Excluir conta de armazenamento | Nenhuma alteração. Contêineres e blobs na conta excluída não são recuperáveis. | Nenhuma alteração. Contêineres e blobs na conta excluída não são recuperáveis. |
Excluir contêiner | Nenhuma alteração. Os blobs no contêiner excluído não são recuperáveis. | Nenhuma alteração. Os blobs no contêiner excluído não são recuperáveis. |
Excluir Blob | Se usado para excluir um blob, esse blob é marcado como soft deleted. Se usado para excluir um instantâneo de blob, o instantâneo é marcado como excluído suavemente. |
Se usado para excluir um blob, a versão atual se torna uma versão anterior e a versão atual é excluída. Nenhuma nova versão é criada e nenhum instantâneo excluído por software é criado. Se usado para excluir uma versão de blob, a versão é marcada como soft delete. |
Recuperar Blob | Restaura um blob e quaisquer instantâneos que foram excluídos dentro do período de retenção. | Restaura um blob e todas as versões que foram excluídas dentro do período de retenção. |
Colocar Blob Put Block List Copiar Blob Copiar Blob do URL |
Se chamado em um blob ativo, um instantâneo do estado do blob antes da operação é gerado automaticamente. Se chamado em um blob excluído suavemente, um instantâneo do estado anterior do blob será gerado somente se ele estiver sendo substituído por um blob do mesmo tipo. Se o blob for de um tipo diferente, todos os dados existentes excluídos por software serão excluídos permanentemente. |
Uma nova versão que captura o estado do blob antes da operação é gerada automaticamente. |
Colocar Bloco | Se usado para confirmar um bloco em um blob ativo, não há alteração. Se usado para confirmar um bloco em um blob que é excluído suavemente, um novo blob é criado e um instantâneo é gerado automaticamente para capturar o estado do blob excluído suavemente. |
Nenhuma alteração. |
Colocar página Colocar página a partir do URL |
Nenhuma alteração. Os dados de blob de página que são substituídos ou limpos usando essa operação não são salvos e não são recuperáveis. | Nenhuma alteração. Os dados de blob de página que são substituídos ou limpos usando essa operação não são salvos e não são recuperáveis. |
Bloco Acrescentar Anexar bloco do URL |
Nenhuma alteração. | Nenhuma alteração. |
Definir propriedades de Blob | Nenhuma alteração. As propriedades de blob substituídas não são recuperáveis. | Nenhuma alteração. As propriedades de blob substituídas não são recuperáveis. |
Definir metadados de Blob | Nenhuma alteração. Os metadados de blob substituídos não são recuperáveis. | Uma nova versão que captura o estado do blob antes da operação é gerada automaticamente. |
Set Blob Tier (Definir Camada de Blob) | O blob base é movido para a nova camada. Todos os snapshots ativos ou excluídos suavemente permanecem na camada original. Nenhum instantâneo excluído suavemente é criado. | O blob base é movido para a nova camada. Todas as versões ativas ou excluídas suavemente permanecem na camada original. Nenhuma nova versão é criada. |
Conta de armazenamento (namespace hierárquico)
Operação da API REST | Soft Delete ativado |
---|---|
Excluir conta de armazenamento | Nenhuma alteração. Contêineres e blobs na conta excluída não são recuperáveis. |
Sistema de arquivos - Excluir | Nenhuma alteração. Os blobs no contêiner excluído não são recuperáveis. |
Excluir contêiner | Nenhuma alteração. Os blobs no contêiner excluído não são recuperáveis. |
Caminho - Excluir | Um blob ou diretório excluído suavemente é criado. O objeto soft-deleted é excluído após o período de retenção. |
Excluir Blob | Um objeto soft-deleted é criado. O objeto soft-deleted é excluído após o período de retenção. A exclusão suave não será suportada para blobs com snapshots e snapshots. |
Caminho - Crie que renomeie um blob ou diretório | O blob de destino existente ou o diretório vazio será excluído suavemente e a origem o substituirá. O objeto soft-deleted é excluído após o período de retenção. |
Definir Expiração de Blob que define uma data de expiração em um blob existente | Um blob excluído suavemente não é criado. Um blob expirado não se torna um blob excluído suavemente quando expira. |
Suporte de funcionalidades
O suporte para esse recurso pode ser afetado pela habilitação do Data Lake Storage Gen2, do protocolo NFS (Network File System) 3.0 ou do SSH File Transfer Protocol (SFTP). Se você habilitou qualquer um desses recursos, consulte Suporte ao recurso de Armazenamento de Blob nas contas de Armazenamento do Azure para avaliar o suporte para esse recurso.
A exclusão suave não é suportada para blobs que são carregados usando APIs do Data Lake Storage Gen2 em contas de armazenamento sem namespace hierárquico.
Preços e faturação
Os dados eliminados de forma recuperável são faturados à mesma taxa dos dados ativos. Não será faturado pelos dados eliminados permanentemente após o término do período de retenção.
Quando você habilita a exclusão suave, a Microsoft recomenda usar um curto período de retenção para entender melhor como o recurso afeta sua fatura. O período mínimo de retenção recomendado é de sete dias.
Habilitar a exclusão suave para dados frequentemente substituídos pode resultar em maiores cobranças de capacidade de armazenamento e latência ao listar blobs. Você pode reduzir esse custo adicional e latência armazenando os dados frequentemente substituídos em uma conta de armazenamento separada onde a exclusão suave está desativada.
Você não é cobrado por transações relacionadas à geração automática de instantâneos ou versões quando um blob é substituído ou excluído. Você é cobrado por chamadas para a operação Undelete Blob na taxa de transação para operações de gravação.
Para obter mais informações sobre preços para Armazenamento de Blob, consulte a página de preços do Armazenamento de Blobs.
Exclusão suave de blob e discos de máquina virtual
A exclusão suave de blob está disponível para discos não gerenciados premium e padrão, que são blobs de página sob as capas. A exclusão suave pode ajudá-lo a recuperar dados excluídos ou substituídos apenas pelas operações Excluir Blob, Colocar Blob, Colocar Lista de Bloqueios e Copiar Blob.
Os dados que são substituídos por uma chamada para Put Page não são recuperáveis. Uma máquina virtual do Azure grava em um disco não gerenciado usando chamadas para Colocar Página, portanto, usar exclusão suave para desfazer gravações em um disco não gerenciado de uma VM do Azure não é um cenário suportado.