Bloqueio do bucket

Configuração

Nesta página, discutiremos o recurso Bloqueio de buckets, que permite configurar a política de retenção de um bucket do Cloud Storage. Essa política determina por quanto tempo os objetos no bucket precisam ser retidos. O recurso também permite bloquear a política de retenção do bucket, 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 retenção a um bucket para especificar um período de retenção.

    • Quando uma política de retenção de buckets é definida, os objetos no bucket só podem ser excluídos ou substituídos quando a idade deles for maior que o período de retenção.

    • A política de retenção se aplica retroativamente a objetos existentes no bucket, bem como novos objetos adicionados a ele. Isso é diferente do comportamento do recurso Bloqueio de retenção de objetos, que permite definir requisitos de retenção de dados para cada objeto.

  • É possível bloquear a política de retenção de um bucket para defini-lo permanentemente nele.

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

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

    • Você pode aumentar a duração de uma política de retenção bloqueada.

Políticas de retenção de buckets

Você pode incluir uma política de retenção ao criar um novo bucket ou adicionar uma política de retenção a um bucket existente. Colocar uma política de retenção 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 retenção apresentam falha com um erro 403 - retentionPolicyNotMet.

Por exemplo, suponha 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.

Considerações gerais

Ao trabalhar com políticas de retenção, tenha isto em mente:

  • Se a política de retenção de um bucket não estiver bloqueada, você poderá aumentar, diminuir ou remover a política.

  • Os metadados editáveis de um objeto não estão sujeitos à política de retenção de um bucket e podem ser modificados mesmo que o próprio objeto não possa.

  • A política de retenção de um bucket contém um tempo efetivo. Após esse tempo, a conformidade de todos os objetos no bucket com o período de armazenamento estará garantida.

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

Considerações com outros recursos

Veja a seguir as interações que as políticas de retenção fazem com outros recursos do Cloud Storage:

Períodos de retenção

Os períodos de retenção são medidos em segundos. No entanto, algumas ferramentas, como o console do Google Cloud e a Google Cloud CLI, permitem definir e acessar 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 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 y, que representam segundos, dias, meses ou anos, respectivamente. Por exemplo, 1d43200s define um período de armazenamento de 1 dia e 43.200 segundos (um dia e meio).

Bloqueios de política de retenção

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

O bloqueio da política de retenção de um bucket é irreversível, e você precisa conhecer 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 retenção, é 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 retenção. 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 retenção. 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