Gerenciar buckets de armazenamento criptografados

Nesta página, você vai aprender a gerenciar buckets de armazenamento criptografados, com foco específico na atualização e rotação de AEADKeys para criptografia v2. Isso abrange os pré-requisitos e as etapas para usar comandos kubectl e gerenciar AEADKeys e secrets kekRef. Essas informações permitem que você aplique uma segurança de dados robusta e minimize o risco de comprometer as chaves de criptografia com um gerenciamento de ciclo de vida eficaz.

Esta página é destinada a públicos-alvo como administradores de TI no grupo de operadores de infraestrutura ou desenvolvedores no grupo de operadores de aplicativos que gerenciam configurações de criptografia para buckets de armazenamento em ambientes isolados do Google Distributed Cloud (GDC). Para mais informações, consulte Públicos-alvo para documentação isolada do GDC.

Antes de começar

Um namespace de projeto gerencia recursos de bucket no servidor da API Management. Você precisa ter um projeto para trabalhar com buckets e objetos.

Você também precisa ter as permissões de bucket adequadas para realizar a seguinte operação. Consulte Conceder acesso ao bucket.

Gerenciar recursos de criptografia

Os buckets com criptografia v2 teriam um kekRef secreto e várias AEADKeys criadas, em que kekRef é usado para referenciar as AEADKeys padrão ativas em uso, e as AEADKeys incluem as ativas e as arquivadas pertencentes ao bucket.

Atualizar as AEADKeys padrão ativas de um bucket

Como prática recomendada, atualize as AEADKeys padrão do seu bucket após aproximadamente 42 bilhões de gravações de objetos. Essa etapa proativa aumenta a segurança e evita o esgotamento de chaves. O processo de atualização vai criar um novo kekRef e desativar as AEADKeys anteriores. Para iniciar o processo de atualização, exclua o segredo kekRef associado ao bucket.

O kekRef anterior pode ser recuperado executando o seguinte comando:

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

Em seguida, execute o comando abaixo para excluir o kekRef atual:

kubectl delete secrets OLD_KEKREF_NAME -n  NAMESPACE_NAME

Depois da exclusão, execute o seguinte comando para confirmar se um novo kekRef foi criado com base em AGE:

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

Verifique se novas AEADKeys padrão foram criadas com base em AGE:

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

Girar AEADKeys padrão para um bucket

Se uma AEADKey do seu bucket for comprometida, você precisará fazer a rotação manual das chaves de criptografia associadas a ele.

Para iniciar o processo, primeiro atualize as chaves padrão ativas. Isso cria novas AEADKeys padrão ativas e marca as chaves de criptografia de chaves anteriores como desativadas. Depois da atualização das chaves padrão, os uploads de objetos subsequentes usam as novas AEADKeys como chaves de criptografia de chaves. As AEADKeys anteriores não são destruídas. Portanto, ainda é possível descriptografar objetos que foram criptografados usando essas chaves.

Em seguida, siga as etapas para baixar e fazer upload novamente dos objetos no bucket e excluir os objetos antigos.

Depois de fazer upload de todos os objetos no bucket, você pode limpar as AEADKeys inativas e os objetos antigos. Identifique as AEADKeys desativadas com base em AGE:

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

Por fim, siga as etapas para excluir as AEADKeys.