O GKE em VMware versão 1.10 é compatível com a criptografia de secrets sem a necessidade de um KMS (Serviço de gerenciamento de chaves) externo ou qualquer outra dependência.
Ativar criptografia de secrets sempre ativada
A criptografia de secrets sempre ativada gera automaticamente uma chave que é usada para criptografar secrets antes de eles serem armazenados no banco de dados etcd do cluster. O algoritmo de criptografia é A256GCM (AES GCM usando chave de 256 bits).
A versão da chave é um número para indicar a chave atualmente em uso.
É possível ativar a criptografia de secrets depois que um cluster já tiver sido criado.
Para o cluster de administrador:
Edite o arquivo de configuração do cluster de administrador para adicionar a seção
secretsEncryption
.Execute o comando
gkectl update
.gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Para um cluster de usuário:
Edite o arquivo de configuração do cluster de usuário para adicionar a seção
secretsEncryption
.Execute o comando
gkectl update
.gkectl update cluster --config USER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Substitua:
ADMIN_KUBECONFIG
: o caminho do arquivo kubeconfig do cluster de administrador;ADMIN_CLUSTER_CONFIG
pelo caminho do arquivo de configuração do cluster de administrador.USER_CLUSTER_CONFIG
é o caminho do arquivo de configuração do cluster de usuário.
Os comandos gkectl update
fornecidos nesta seção também podem ser usados para qualquer outra atualização no cluster correspondente.
Armazenamento de chaves
As chaves de criptografia do cluster de administrador são armazenadas no disco de dados do cluster de administrador. Esse disco é ativado na máquina mestre do administrador em /opt/data
, e as chaves de criptografia podem ser encontradas em /opt/data/gke-k8s-kms-plugin/generatedkeys/
. Essas chaves precisam ser armazenadas em backup para manter o acesso aos secrets criptografados por eles.
Troca de chaves
Para alternar uma chave de criptografia para um cluster, incremente o keyVersion
no arquivo de configuração do cluster de administrador ou no arquivo de configuração de cluster de usuário correspondente e execute o gkectl update
}. Isso cria uma nova chave correspondente ao novo número de versão, criptografa novamente cada secret e apaga a antiga com segurança. Todos os novos secrets subsequentes são criptografados com a nova chave de criptografia.
Desativar a criptografia de secrets sempre ativada
Para desativar a criptografia de secrets em um cluster atual, adicione um campo disabled: true
. Em seguida, execute o comando gkectl update
correspondente. Essa atualização descriptografa cada secret existente e os armazena em texto simples. Todos os novos secrets subsequentes são armazenados em texto simples.
secretsEncryption: mode: GeneratedKey generatedKey: keyVersion: KEY_VERSION disabled: true