Esta página mostra como gerenciar buckets de armazenamento isolados do Google Distributed Cloud (GDC) criptografados.
Antes de começar
Os buckets de armazenamento são recursos com escopo para um projeto específico. O projeto funciona como um contêiner, agrupando seus buckets e permitindo o gerenciamento deles pelo servidor da API Management. Antes de realizar as operações nesta página, crie um projeto ou selecione um em que você tenha permissões suficientes.
Papéis do IAM obrigatórios
Entre em contato com o administrador do projeto do IAM para solicitar os seguintes papéis no namespace do projeto:
- Administrador de buckets do projeto (
project-bucket-admin): cria, atualiza e exclui buckets de armazenamento. - Leitor de objetos de buckets do projeto (
project-bucket-object-viewer): visualiza e verifica detalhes de buckets e objetos de armazenamento.
Para mais informações, consulte Conceder acesso a buckets.
Preparar o ambiente
Para executar comandos no servidor da API Management ou no servidor da API global, faça o seguinte:
- Faça login e gere o arquivo kubeconfig para o servidor da API Management zonal, se você não tiver um.
- Para buckets de zona dupla, faça o seguinte:
- Verifique com o operador de infraestrutura (IO, na sigla em inglês) se o recurso personalizado
BucketLocationConfigfoi criado para as zonas pareadas. - Gere o arquivo kubeconfig para o servidor da API global.
- Verifique com o operador de infraestrutura (IO, na sigla em inglês) se o recurso personalizado
Gerenciar recursos de criptografia
Os buckets com criptografia v2 têm um secret kekRef e várias AEADKeys criadas, em que kekRef é usado para referenciar AEADKeys padrão ativas em uso, e as AEADKeys incluem as ativas e as arquivadas pertencentes ao bucket.
Atualizar AEADKeys padrão ativas para um bucket
Como prática recomendada, atualize as AEADKeys padrão do 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 cria um novo kekRef e desativa as AEADKeys anteriores. Para iniciar o processo de atualização, exclua o secret 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
Após a exclusão, execute o comando abaixo 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 bucket for comprometida, será necessário girar manualmente as chaves de criptografia associadas ao bucket.
Para iniciar o processo, primeiro atualize as chaves padrão ativas. Isso cria novas AEADKeys padrão ativas e marca as chaves de criptografia anteriores como desativadas. Após a atualização das chaves padrão, os uploads de objetos subsequentes usam as novas AEADKeys como chaves de criptografia. As AEADKeys anteriores não são destruídas, então ainda é possível descriptografar objetos que foram criptografados usando essas chaves.
Em seguida, siga as etapas para fazer o download e novo upload dos objetos no bucket e excluir os objetos antigos.
Depois de fazer o novo upload de todos os objetos no bucket, limpe 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.