Configurar políticas de imutabilidade para versões de blob

O armazenamento imutável para o Armazenamento de Blobs do Azure permite que os usuários armazenem dados críticos aos negócios em um estado WORM (gravar uma vez, reproduzir várias). Durante o estado de WORM, os dados não podem ser modificados nem excluídos em um intervalo especificado pelo usuário. Ao configurar políticas de imutabilidade para dados de blob, você protege seus dados contra substituições e exclusões. As políticas de imutabilidade incluem retenções legais e políticas baseadas em tempo. Confira mais informações sobre armazenamento imutável para o Armazenamento de Blobs em Armazenar dados de blob comercialmente críticos com armazenamento imutável.

Uma política de imutabilidade pode ter o escopo definido para uma versão individual de blob ou para um contêiner. Este artigo descreve como configurar uma política de imutabilidade no nível de versão. Para saber como configurar políticas de imutabilidade no nível do contêiner, veja Configurar políticas de imutabilidade para contêineres.

Observação

Não há suporte para políticas de imutabilidade em contas que têm o protocolo NFS (Network File System) 3.0 ou o protocolo SFTP (SSH File Transfer Protocol) habilitado.

A configuração de uma política de imutabilidade no nível de versão é um processo de duas etapas:

  1. Primeiro, habilite o suporte para imutabilidade no nível de versão em uma nova conta de armazenamento ou um contêiner novo ou existente. Consulte Habilitar suporte para imutabilidade no nível de versão em um contêiner para obter detalhes.
  2. Em seguida, configure uma política de retenção baseada em tempo ou uma retenção legal que se aplique a uma ou mais versões de blob nesse contêiner.

Pré-requisitos

Para configurar as políticas de retenção baseadas em tempo no nível de versão o controle de versão de blob deve estar habilitado para a conta de armazenamento. Tenha em mente que a habilitação do controle de versão de blobs pode ter um impacto nos valores de cobrança. Para saber como habilitar o controle de versão de blobs, confira Habilitar e gerenciar o controle de versão de blobs.

Para saber mais sobre as configurações de conta de armazenamento com suporte para políticas de imutabilidade em nível de versão, confira Políticas WORM em nível de versão para dados de blob imutáveis.

Habilitar suporte para imutabilidade no nível de versão

Antes de aplicar uma política de retenção baseada em tempo a uma versão de blob, você deve habilitar o suporte para a imutabilidade no nível de versão. Você pode habilitar o suporte para imutabilidade no nível de versão em uma nova conta de armazenamento ou um contêiner novo ou existente.

Habilitar o suporte para imutabilidade no nível de versão em uma conta de armazenamento

Você pode habilitar o suporte para imutabilidade no nível de versão somente quando criar uma nova conta de armazenamento.

Para habilitar o suporte para imutabilidade no nível de versão ao criar uma conta de armazenamento no portal do Azure, siga estas etapas:

  1. Navegue até a página Contas de armazenamento no portal do Azure.

  2. Selecione o botão Criar para criar uma nova conta.

  3. Preencha a guia Básico.

  4. Na guia Proteção de dados, em Controle de acesso, selecione Habilitar suporte para imutabilidade no nível da versão. Quando você marca essa caixa, a caixa para Habilitar controle de versão para blobs também é marcada automaticamente.

  5. Selecione Examinar + Criar para validar os parâmetros da conta e criar a sua conta de armazenamento.

    Captura de tela que mostra como criar uma conta de armazenamento com suporte para imutabilidade no nível da versão

Depois que a conta de armazenamento for criada, você poderá configurar uma política no nível de versão padrão para a conta. Para obter mais detalhes, confira Configurar uma política de retenção padrão, baseada em tempo.

Se o suporte à imutabilidade no nível de versão estiver habilitado para a conta de armazenamento e a conta contiver um ou mais contêineres, você deverá excluir todos os contêineres antes de excluir a conta de armazenamento, mesmo que não haja políticas de imutabilidade em vigor para a conta ou contêineres.

Observação

A imutabilidade no nível de versão não pode ser desabilitada depois de ser habilitada, embora as políticas desbloqueadas possam ser excluídas.

Habilitar o suporte para imutabilidade no nível de versão em um contêiner

Tanto contêineres novos como existentes podem ser configurados para dar suporte à imutabilidade no nível de versão. No entanto, um contêiner existente deve passar por um processo de migração para habilitar o suporte.

Tenha em mente que a habilitação do suporte à imutabilidade no nível da versão de um contêiner não faz com que os dados nesse contêiner fiquem imutáveis. Você também deve configurar uma política de imutabilidade padrão para o contêiner ou uma política de imutabilidade em uma versão de blob específica. Se você habilitou a imutabilidade no nível de versão para a conta de armazenamento quando ela foi criada, também será possível configurar uma política de imutabilidade padrão para a conta.

Habilitar a imutabilidade no nível de versão para um novo contêiner

Para usar uma política de imutabilidade no nível de versão, primeiro você deve habilitar explicitamente o suporte para o WORM de nível de versão no contêiner. Você pode habilitar o suporte para o WORM de nível de versão ao criar o contêiner ou ao adicionar uma política de imutabilidade no nível de versão a um contêiner existente.

Para criar um contêiner que dê suporte à imutabilidade no nível de versão no portal do Azure, siga estas etapas:

  1. Navegue até a página Contêineres da sua conta de armazenamento no portal do Azure e selecione Adicionar.

  2. Na caixa de diálogo Novo contêiner, dê um nome ao contêiner e, em seguida, expanda a seção Avançado.

  3. Selecione Habilitar suporte à imutabilidade no nível de versão para habilitar a imutabilidade no nível de versão para o contêiner.

    Captura de tela que mostra como criar um contêiner com a imutabilidade no nível de versão habilitada

Se o suporte à imutabilidade de nível de versão estiver habilitado para um contêiner e o contêiner contiver um ou mais blobs, você deverá excluir todos os blobs no contêiner antes de poder excluir o contêiner, mesmo que não haja políticas de imutabilidade em vigor para o contêiner ou seus blobs.

Migrar um contêiner existente para dar suporte à imutabilidade no nível de versão

Para configurar políticas de imutabilidade no nível de versão para um contêiner existente, você deve migrar o contêiner para dar suporte ao armazenamento imutável no nível de versão. A migração do contêiner pode demorar um pouco e não pode ser revertida. Você pode migrar dez contêineres de cada vez por conta de armazenamento.

Para migrar um contêiner existente para dar suporte a políticas de imutabilidade no nível da versão, o contêiner deve ter configurada uma política de retenção baseada em tempo no nível do contêiner. A migração falhará, a menos que o contêiner tenha uma política existente. O intervalo de retenção para a política de nível de contêiner é mantido como o intervalo de retenção para a política de nível de versão padrão no contêiner.

Se o contêiner tiver uma retenção legal no nível do contêiner existente, ele não poderá ser migrado até que a retenção legal seja removida.

Para migrar um contêiner a fim de dar suporte às políticas de imutabilidade no nível da versão no portal do Azure, siga estas etapas:

  1. Navegue até o contêiner desejado.

  2. No menu de contexto do contêiner, selecione Política de acesso.

  3. Em Armazenamento de Blobs Imutável, selecione Adicionar Política.

  4. Para o campo Tipo de política, escolha Retenção baseada em tempo e especifique o intervalo de retenção.

  5. Selecione Habilitar imutabilidade no nível de versão.

  6. Selecione OK para criar uma política de nível de contêiner com o intervalo de retenção especificado e, em seguida, inicie a migração para o suporte de imutabilidade no nível da versão.

    Captura de tela que mostra como migrar um contêiner existente para dar suporte à imutabilidade no nível de versão

Enquanto a operação de migração está em andamento, o escopo da política no contêiner aparece como Contêiner. As operações relacionadas ao gerenciamento de políticas de imutabilidade no nível da versão não são permitidas enquanto a migração de contêiner está em andamento. Outras operações em dados de blob continuarão normalmente durante a migração.

Captura de tela mostrando a migração de contêiner em processo

Depois que a migração for concluída, o escopo da política no contêiner será Versão. A política mostrada é uma política padrão no contêiner que se aplica automaticamente a todas as versões de blob criadas posteriormente no contêiner. A política padrão pode ser substituída em qualquer versão, ao especificar uma política personalizada para essa versão.

Captura de tela mostrando a migração de contêiner concluída

Configurar uma política de retenção baseada em tempo

Depois de habilitar o suporte para imutabilidade no nível de versão para uma conta de armazenamento ou para um contêiner individual, você pode especificar uma política de retenção baseada em tempo no nível de versão padrão para a conta ou contêiner. Depois de especificar uma política padrão para uma conta ou contêiner, essa política se aplicará por padrão a todas as novas versões de blob criadas na conta ou contêiner. Você pode substituir a política padrão para qualquer versão de blob individual na conta ou contêiner.

A política padrão não é aplicada automaticamente às versões de blob que existiam antes da configuração da política padrão.

Se você migrou um contêiner existente para dar suporte à imutabilidade no nível de versão, a política de nível de contêiner que estava em vigor antes da migração é migrada para uma política de nível de versão padrão para o contêiner.

Para configurar uma política de imutabilidade no nível de versão padrão para uma conta de armazenamento ou contêiner, use o portal do Microsoft Azure, o PowerShell, a CLI do Azure ou um dos SDKs do Armazenamento do Microsoft Azure. Certifique-se de ter habilitado o suporte para imutabilidade no nível de versão para a conta de armazenamento ou contêiner, conforme descrito em Habilitar suporte para imutabilidade no nível de versão.

Para configurar uma política de imutabilidade no nível de versão padrão para uma conta de armazenamento no portal do Microsoft Azure, siga estas etapas:

  1. No portal do Azure, navegue até sua conta de armazenamento.

  2. Em Gerenciamento de dados, selecione Proteção de dados.

  3. Na página Proteção de dados, localize a seção Controle de acesso. Se a conta de armazenamento foi criada com suporte para imutabilidade no nível de versão, o botão Gerenciar política será exibido na seção Controle do acesso.

    Captura de tela que mostra como gerenciar a política de imutabilidade no nível da versão para uma conta de armazenamento

  4. Selecione o botão Gerenciar política para exibir a caixa de diálogo Gerenciar política de imutabilidade no nível de versão.

  5. Adicione uma política de retenção baseada em tempo padrão para a conta de armazenamento.

    Captura de tela que mostra como configurar uma política de retenção no nível da versão padrão para uma conta de armazenamento

Para configurar uma política de imutabilidade de nível de versão padrão para um contêiner no portal do Microsoft Azure, siga estas etapas:

  1. Na portal do Azure, navegue até a página Contêineres e localize o contêiner ao qual deseja aplicar a política.

  2. No menu de contexto do contêiner, escolha Política de acesso.

  3. Na caixa de diálogo Política de acesso, na seção Armazenamento de blob imutável, escolha Adicionar política.

  4. Selecione Política de retenção baseada em tempo e especifique o intervalo de retenção.

  5. Escolha se deseja permitir gravações de acréscimo protegidas.

    A opção Acrescentar blobs permite que suas cargas de trabalho adicionem novos blocos de dados ao final de um blob de acréscimo usando a operação Bloco de Acréscimo.

    A opção Bloquear e acrescentar blobs estende esse suporte adicionando a capacidade de gravar novos blocos em um blob de blocos. A API de Armazenamento de Blobs não fornece uma maneira de os aplicativos fazerem isso diretamente. No entanto, os aplicativos podem fazer isso usando métodos de acréscimo e liberação disponíveis na API do Data Lake Storage Gen2. Além disso, essa propriedade permite que aplicativos da Microsoft, como Azure Data Factory, acrescentem blocos de dados usando as APIs internas. Se suas cargas de trabalho dependerem de qualquer uma dessas ferramentas, você poderá usar essa propriedade para evitar erros que possam aparecer quando essas ferramentas tentarem acrescentar dados a blobs.

    Para saber mais sobre essas opções, consulte Permitir gravações de blobs de acréscimo protegidos.

    Captura de tela que mostra como configurar a política de imutabilidade com escopo definido para o contêiner.

Determinar o escopo de uma política de retenção em um contêiner

Para determinar o escopo de uma política de retenção baseada em tempo no portal do Azure, siga estas etapas:

  1. Navegue até o contêiner desejado.

  2. No menu de contexto do contêiner, selecione Política de acesso.

  3. Em Armazenamento de blob imutável, localize o campo Escopo. Se o contêiner estiver configurado com uma política de retenção no nível de versão padrão, o escopo será definido como Versão, conforme mostrado na imagem a seguir:

    Captura de tela que mostra a política de retenção no nível de versão padrão configurada para o contêiner

  4. Se o contêiner estiver configurado com uma política de retenção no nível de contêiner, o escopo será definido como Contêiner, conforme mostrado na imagem a seguir:

    Captura de tela que mostra a política de retenção no nível de contêiner configurada para o contêiner

Configurar uma política de retenção baseada em tempo em uma versão existente

As políticas de retenção baseadas em tempo mantêm dados de blob em um estado de WORM para um intervalo especificado. Para obter mais informações sobre as políticas de retenção baseadas em tempo, confira Políticas de retenção com base no tempo para dados de blob imutáveis.

Você tem três opções para configurar uma política de retenção baseada em tempo para uma versão de blob:

  • Opção 1: Você pode configurar uma política padrão na conta de armazenamento ou contêiner que se aplica a todos os objetos na conta ou contêiner. Os objetos na conta ou contêiner herdarão a política padrão, a menos que você a substitua explicitamente, configurando uma política em uma versão de blob individual. Para obter mais detalhes, confira Configurar uma política de retenção padrão, baseada em tempo.
  • Opção 2: você pode configurar uma política na versão atual do blob. Essa política poderá substituir uma política padrão configurada na conta de armazenamento ou no contêiner, se houver uma política padrão e ela estiver desbloqueada. Por padrão, todas as versões anteriores criadas após a configuração da política herdarão a política na versão atual do blob. Para obter mais informações, confira Configurar uma política de retenção na versão atual de um blob.
  • Opção 3: você pode configurar uma política em uma versão anterior de um blob. Essa política pode substituir uma política padrão configurada na versão atual, caso ela exista e esteja desbloqueada. Para obter mais detalhes, confira Configurar uma política de retenção na versão anterior de um blob.

Para obter mais informações sobre o controle de versão de blob, consulte Controle de versão de blob.

O portal do Azure exibe uma lista de blobs quando você navega para um contêiner. Cada blob exibido representa a versão atual do blob. Acesse uma lista de versões anteriores abrindo o menu de contexto do blob e escolhendo Exibir versões anteriores.

Configurar uma política de retenção na versão atual de um blob

Para configurar uma política de retenção baseada em tempo na versão atual de um blob, siga estas etapas:

  1. Navegue até o contêiner que contém o blob de destino.

  2. No menu de contexto do blob, escolha Política de acesso. Se uma política de retenção baseada em tempo já tiver sido configurada para a versão anterior, ela aparecerá na caixa de diálogo Política de acesso.

  3. Na caixa de diálogo Política de acesso, na seção Versões de blob imutável, escolha Adicionar política.

  4. Selecione Política de retenção baseada em tempo e especifique o intervalo de retenção.

  5. Selecione OK para aplicar a política à versão atual do blob.

    Captura de tela que mostra como configurar uma política de retenção para a versão atual de um blob

Você pode exibir as propriedades de um blob para ver se uma política está habilitada na versão atual. Selecione o blob, navegue até a guia Visão geral e localize a propriedade Política de imutabilidade no nível de versão. Se uma política estiver habilitada, a propriedade Período de retenção exibirá a data e a hora de expiração da política. Tenha em mente que uma política pode ser configurada para a versão atual ou pode ser herdada do contêiner pai do blob se uma política padrão estiver em vigor.

Captura de tela que mostra as propriedades da política de imutabilidade na versão do blob no portal do Azure

Configurar uma política de retenção na versão anterior de um blob

Você também pode configurar uma política de retenção baseada em tempo em uma versão anterior de um blob. Uma versão anterior é sempre imutável, pois ela não pode ser modificada. No entanto, uma versão anterior pode ser excluída. Uma política de retenção baseada em tempo protege contra exclusão enquanto estiver em vigor.

Para configurar uma política de retenção baseada em tempo em uma versão anterior de um blob, siga estas etapas:

  1. Navegue até o contêiner que contém o blob de destino.

  2. Selecione o blob e navegue até a guia Versões.

  3. Localize a versão de destino e, no menu de contexto da versão, escolha Política de acesso. Se uma política de retenção baseada em tempo já tiver sido configurada para a versão anterior, ela aparecerá na caixa de diálogo Política de acesso.

  4. Na caixa de diálogo Política de acesso, na seção Versões de blob imutável, escolha Adicionar política.

  5. Selecione Política de retenção baseada em tempo e especifique o intervalo de retenção.

  6. Selecione OK para aplicar a política à versão atual do blob.

    Captura de tela que mostra como configurar a política de retenção para uma versão anterior de blob no portal do Azure

Configurar uma política de retenção baseada em tempo ao carregar um blob

Quando você usa o portal do Azure para carregar um blob em um contêiner que dá suporte à imutabilidade no nível de versão, você tem várias opções para configurar uma política de retenção baseada em tempo para o novo blob:

  • Opção 1: se uma política de retenção padrão estiver configurada para o contêiner, você poderá carregar o blob com a política do contêiner. Essa opção é selecionada por padrão quando há uma política de retenção no contêiner.
  • Opção 2: se uma política de retenção padrão for configurada para o contêiner, você poderá optar por substituir a política padrão, definindo uma política de retenção personalizada para o novo blob ou carregando o blob sem nenhuma política.
  • Opção 3: se nenhuma política padrão for configurada para o contêiner, você poderá carregar o blob com uma política personalizada ou sem nenhuma política.

Para configurar uma política de retenção baseada em tempo ao carregar um blob, siga estas etapas:

  1. Navegue até o contêiner desejado e selecione Upload.

  2. Na caixa de diálogo Upload do blob, expanda a seção Avançado.

  3. Configure a política de retenção baseada em tempo para o novo blob no campo Política de retenção. Se houver uma política padrão configurada para o contêiner, essa política será selecionada por padrão. Você também pode especificar uma política personalizada para o blob.

    Captura de tela que mostra opções para configurar a política de retenção no upload do blob no portal do Azure

Modificar ou excluir uma política de retenção desbloqueada

Você pode modificar uma política de retenção baseada em tempo desbloqueada para reduzir ou prolongar o intervalo de retenção. Você também pode excluir uma política desbloqueada. A edição ou a exclusão de uma política de retenção baseada em tempo desbloqueada de uma versão de blob não afeta as políticas em vigor de nenhuma outra versão. Se houver uma política de retenção padrão baseada em tempo em vigor para o contêiner, a versão de blob com a política modificada ou excluída não será mais herdada do contêiner.

Para modificar uma política de retenção baseada em tempo desbloqueada no portal do Azure, siga estas etapas:

  1. Localize o contêiner ou a versão de destino. No menu de contexto do contêiner ou da versão, escolha Política de acesso.

  2. Localize a política de imutabilidade desbloqueada existente. No menu de contexto, selecione Editar no menu.

    Captura de tela que mostra como editar uma política de retenção baseada em tempo no nível de versão existente no portal do Azure

  3. Forneça a nova data e hora para a expiração da política.

Para excluir a política desbloqueada, selecione Excluir no menu de contexto.

Bloquear política de retenção baseada em tempo

Quando você termina de testar uma política de retenção baseada em tempo, pode bloqueá-la. Políticas bloqueadas estão em conformidade com a SEC 17a-4(f) e outras conformidades regulatórias. Você pode estender o intervalo de retenção de uma política bloqueada até cinco vezes, mas não pode reduzi-lo.

Depois que uma política é bloqueada, você não pode mais excluí-la. No entanto, você pode excluir o blob depois que o intervalo de retenção tiver expirado.

Para bloquear a política com o portal do Microsoft Azure, siga estas etapas:

  1. Localize o contêiner ou a versão de destino. No menu de contexto do contêiner ou da versão, escolha Política de acesso.

  2. Na seção Versões de blob imutáveis, localize a política desbloqueada existente. Selecione Bloquear política no menu de contexto.

  3. Confirme se você quer bloquear a política.

    Captura de tela que mostra como bloquear a política de retenção baseada em tempo no portal do Azure

A retenção legal armazena dados imutáveis até que seja explicitamente desmarcada. Para saber mais sobre as políticas de retenção legal, confira Retenções legais para dados de blob imutáveis.

Para configurar uma retenção legal em uma versão de blob, primeiro você deve habilitar suporte para imutabilidade no nível de versão na conta de armazenamento ou contêiner. Para obter mais informações, consulte Habilitar suporte para a imutabilidade no nível de versão.

Para configurar uma retenção legal em um contêiner com o portal do Microsoft Azure, siga estas etapas:

  1. Localize a versão de destino, que pode ser a versão atual ou uma versão anterior de um blob. No menu de contexto da versão de destino, escolha Política de acesso.

  2. Na seção Versões de blob imutáveis, selecione Adicionar política.

  3. Escolha Retenção legal como o tipo de política e clique em OK para aplicá-la.

A imagem a seguir mostra uma versão atual de um blob configurado com uma política de retenção baseada em tempo e uma retenção legal.

Captura de tela que mostra a retenção legal configurada para a versão do blob

Para limpar uma retenção legal, navegue até a caixa de diálogo Política de acesso, no menu de contexto, e escolha Excluir.

Próximas etapas