Como usar a criptografia de secrets sempre ativada

Os clusters do Anthos no VMware (GKE On-Prem) versão 1.9 são compatíveis 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.

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:

    1. Edite o arquivo de configuração do cluster de administrador para adicionar a seção secretsEncryption.

    2. Execute o comando gkectl update.

      gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
  • Para um cluster de usuário:

    1. Edite o arquivo de configuração do cluster de usuário para adicionar a seção secretsEncryption.

    2. 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, remova o campo keyVersion e 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:
    disabled: true