Políticas de retenção e bloqueios da política de retenção

Acessar os exemplos

Nesta página, discutiremos o recurso Bloqueio de bucket, que permite configurar uma política de armazenamento de dados para um bucket do Cloud Storage que determina quanto tempo os objetos no bucket precisam ser retidos. O recurso também permite bloquear a política de armazenamento de dados, impedindo permanentemente que ela seja reduzida ou removida.

Esse recurso pode fornecer armazenamento imutável no Cloud Storage. Em conjunto com o Modo de registro de auditoria detalhado, que grava detalhes de solicitações e respostas do Cloud Storage, o Bloqueio de bucket pode ajudar com requisitos regulatórios e de conformidade, como os da FINRA, SEC e CFTC. O Bloqueio de bucket também pode ajudar a atender determinadas normas de retenção de dados no setor de saúde.

Visão geral

  • É possível adicionar uma política de armazenamento a um bucket para especificar um período de armazenamento.

    • Se um bucket não tiver uma política de armazenamento, será possível excluir ou substituir objetos no bucket a qualquer momento.

    • Se um bucket tiver uma política de armazenamento, os objetos contidos nele só poderão ser excluídos ou substituídos quando a idade deles for superior ao período de armazenamento.

    • Uma política de armazenamento se aplica retroativamente a objetos existentes no bucket, bem como novos objetos adicionados a ele.

  • É possível bloquear uma política de armazenamento para defini-la permanentemente no bucket.

    • Depois de bloquear uma política de armazenamento, você não poderá removê-la nem reduzi-la.

    • Não é possível excluir um bucket com uma política de armazenamento bloqueada, a menos que todos os objetos no bucket tenham atendido ao período de armazenamento.

    • Você pode aumentar o período de uma política de armazenamento bloqueada.

    • Bloquear uma política de armazenamento pode ajudar seus dados a cumprir as regulamentações de armazenamento de registros.

Políticas de armazenamento

Você pode incluir uma política de armazenamento ao criar um novo bucket ou adicionar uma política de armazenamento a um bucket existente. Colocar uma política de armazenamento em um bucket garante que todos os objetos atuais e futuros contidos nele não possam ser excluídos ou substituídos até que atinjam a idade definida na política. As tentativas de excluir ou substituir objetos com idade inferior ao período de armazenamento apresentam falha com um erro 403 - retentionPolicyNotMet.

Por exemplo, digamos que você tenha um bucket com dois objetos: Objeto A, adicionado há 1 mês, e Objeto B, adicionado há 2 anos. Se você aplicar uma política de armazenamento ao seu bucket que tenha um período de armazenamento de um ano, não será possível excluir nem substituir o Objeto A pelos próximos 11 meses. No momento, ele tem um mês de idade, mas precisa ter pelo menos um ano para ser excluído ou substituído. Por outro lado, o Objeto B pode ser excluído ou substituído imediatamente, porque sua idade é superior ao período de armazenamento. Se você decidiu substituir o Objeto B, a nova versão dele terá uma idade que é reiniciada em 0 ano.

Para ajudar a rastrear quando objetos individuais são qualificados para exclusão, os objetos em um bucket com uma política de armazenamento têm, cada um, metadados de tempo de expiração de armazenamento. Essa parte dos metadados mostra a data e a hora em que um objeto cumpre o período de armazenamento.

Ao trabalhar com políticas de armazenamento, tenha isto em mente:

  • A menos que a política de armazenamento esteja bloqueada, você pode aumentar, diminuir ou remover a política de armazenamento de um bucket.

  • A alteração de uma política de armazenamento é considerada uma única operação de Classe A, independentemente do número de objetos afetados.

  • Os metadados editáveis de um objeto não estão sujeitos à política de armazenamento e podem ser modificados mesmo quando o próprio objeto não pode ser.

  • Uma política de armazenamento contém um tempo efetivo. Após esse tempo, todos os objetos no bucket têm a garantia de estar em conformidade com o período de armazenamento.

  • Para consultar a data mais próxima em que um determinado objeto pode ser excluído em um bucket com uma política de retenção, veja a data de validade da retenção dos metadados do objeto.

  • Políticas de armazenamento e controle de versões de objeto são recursos mutuamente exclusivos no Cloud Storage: para um determinado bucket, apenas um deles pode ser ativado por vez. Todos os objetos com controle de versões que permanecem em um bucket quando você aplica uma política de armazenamento também são protegidos por ela.

  • É possível usar o Gerenciamento de ciclo de vida de objetos para excluir objetos automaticamente em um bucket, inclusive em um bucket com uma política bloqueada. Uma regra de ciclo de vida não excluirá um objeto até que ele atenda à política de armazenamento.

  • Não é recomendável executar uploads compostos paralelos se o bucket tiver uma política de armazenamento porque os componentes não poderão ser excluídos até que tenham atingido o período mínimo de armazenamento do bucket.

  • Use a restrição de política de retenção nas políticas de sua organização para exigir que políticas de retenção com períodos específicos sejam incluídas como parte da criação de um novo bucket ou como parte da adição/atualização de uma política de armazenamento em um bucket existente.

Períodos de armazenamento

Os períodos de armazenamento são medidos em segundos. No entanto, algumas ferramentas, como o Console do Google Cloud e a ferramenta gsutil, permitem que você defina e veja períodos de armazenamento 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.
  • Um ano é considerado 365,25 dias, o que é 31,557,600 segundos.

Você pode definir um período máximo de armazenamento de 3.155.760.000 segundos (100 anos).

Para o gsutil, 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 y, que representam segundos, dias, meses ou anos, respectivamente. Apenas uma unidade de tempo pode ser usada em um comando. Por exemplo, use 86400s ou 1d, mas não use 1d30s.

Bloqueios de política de armazenamento

Quando você bloqueia uma política de armazenamento em um bucket, impede que ela seja removida ou que o período de armazenamento seja reduzido (embora você ainda possa aumentá-lo). Se você tentar remover ou reduzir a duração da política de um bloco bloqueado, receberá um erro 400 BadRequestException. Depois que uma política de armazenamento estiver bloqueada, você não poderá excluir o bucket até que todos os objetos nele atendam ao período de armazenamento.

O bloqueio de uma política de armazenamento é irreversível e você precisa estar familiarizado com as implicações de fazer isso antes de usar esse recurso. Ao usar uma política de armazenamento desbloqueada, você pode removê-la, permitindo que ainda seja possível excluir objetos quando quiser. Quando você bloqueia uma política de armazenamento, é necessário excluir o bucket inteiro para "remover" a política. No entanto, não é possível excluir o bucket se houver objetos nele que não tenham cumprido o período de armazenamento. Assim, para "remover" uma política de armazenamento bloqueada, você precisa aguardar até que todos os objetos no bucket tenham cumprido o período de armazenamento. Só então você poderá excluir o bucket.

Além disso, ao bloquear uma política de retenção, o Cloud Storage aplica automaticamente uma garantia à permissão projects.delete para o projeto que contém o bucket. Enquanto estiver ativa, a garantia impede que o projeto seja excluído. Para excluir o projeto, é necessário primeiro remover todas essas garantias. A remoção de uma garantia exige a permissão resourcemanager.projects.updateLiens, que faz parte das funções roles/owner e roles/resourcemanager.lienModifier.

Saiba sobre como o bloqueio de uma política de retenção pode ajudar seus dados a cumprir as regulamentações de retenção de registros na página de conformidade.

A seguir