Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Configuração de Criptografia de Segredos

O K3s suporta a habilitação da criptografia de segredos em repouso. Ao iniciar o servidor pela primeira vez, passar a flag --secrets-encryption fará o seguinte automaticamente:

  • Gerar uma chave AES-CBC

  • Gerar um arquivo de configuração de criptografia com a chave gerada

  • Passar a configuração para o KubeAPI como encryption-provider-config

A criptografia de segredos não pode ser habilitada em um servidor existente sem reiniciá-lo.
Use curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s sh -s - server --secrets-encryption se estiver instalando a partir de um script, ou outros métodos descritos em Opções de Configuração.

Escolhendo o Provedor de Criptografia

Verificação de Versão

Disponível a partir das versões de abril de 2025: v1.30.12+k3s1, v1.31.8+k3s1, v1.32.4+k3s1, v1.33.0+k3s1.

Usando a flag --secrets-encryption-provider, você pode escolher entre os seguintes provedores de criptografia suportados pelo K3s:

  • aescbc: AES-CBC com preenchimento PKCS#7. Este é o provedor padrão.

  • secretbox: XSalsa20 e Poly1305

Migrando Provedores

Você pode migrar do provedor aescbc para o provedor secretbox seguindo estas etapas:

  1. Certifique-se de que o provedor secretbox é suportado pela sua versão do K3s.

  2. Atualize/Adicione a secrets-encryption-provider flag no seu arquivo de configuração do K3s para secretbox.

  3. Gire as chaves de criptografia, seguindo a seção Rotação de Chaves de Criptografia abaixo.

Arquivo de configuração de criptografia gerado

Quando você iniciar o servidor com --secrets-encryption, o K3s gerará um arquivo de configuração de criptografia em /var/lib/rancher/k3s/server/cred/encryption-config.json.

Abaixo está um exemplo do arquivo de configuração de criptografia gerado com o provedor padrão aescbc:

{
  "kind": "EncryptionConfiguration",
  "apiVersion": "apiserver.config.k8s.io/v1",
  "resources": [
    {
      "resources": [
        "secrets"
      ],
      "providers": [
        {
          "aescbc": {
            "keys": [
              {
                "name": "aescbckey",
                "secret": "xxxxxxxxxxxxxxxxxxx"
              }
            ]
          }
        },
        {
          "identity": {}
        }
      ]
    }
  ]
}

Ferramenta de Criptografia de Segredos

O K3s contém uma ferramenta utilitária secrets-encrypt, que permite controle automático sobre o seguinte:

  • Desabilitando/Habilitando a criptografia de segredos

  • Adicionando novas chaves de criptografia

  • Girando e deletando chaves de criptografia

  • Recriptografando segredos

Para mais informações, consulte a documentação do comando k3s secrets-encrypt.