Esta página descreve como configurar o TLS para a conexão que o mongod (ou mongos) abre para o mongot ao executar o MongoDB Search e a pesquisa vetorial com os controladores MongoDB para o operador Kubernetes. Nesta conexão, o mongot executa o servidor de escuta e o mongod é o cliente. Você o configura por meio do bloco spec.security.tls do recurso MongoDBSearch.
Esta página não aborda a conexão que mongot abre para mongod para dados de origem. Para essa direção, incluindo como mongot autentica e como confia no certificado da origem mongod, consulte Proteja a conexão da pesquisa ao MongoDB.
Para o esquema completo de cada configuração MongoDBSearch referenciada nesta página, consulte MongoDB Search e configurações de pesquisa vetorial.
Modo TLS
O servidor de escuta mongot oferece suporte a três modos conceituais:
Modo | Comportamento |
|---|---|
desabilitado | O servidor de escuta aceita apenas conexões de texto simples. Este é o padrão quando |
TLS | O servidor de escuta requer conexões criptografadas por TLS de |
mTLS | O servidor de escuta requer TLS e também exige que o cliente ( |
O operador Kubernetes exibe essa configuração como um único bloco spec.security.tls. O servidor de escuta é executado no modo mTLS quando a origem mongod também usa TLS. Nesse caso, mongot valida o certificado do cliente em relação à CA da origem mongod, não em relação a uma CA configurada em spec.security.tls. Para configurar essa confiança, consulte Proteja a conexão da pesquisa ao MongoDB.
Configurar o certificado do servidor de escuta
Para habilitar o TLS no servidor de escuta mongot, defina spec.security.tls.certsSecretPrefix no recurso MongoDBSearch. O operador Kubernetes procura material TLS em recursos Kubernetes Secret no mesmo namespace, por prefixo de nome:
spec: security: tls: certsSecretPrefix: my-mongot
Com o prefixo acima, o operador do Kubernetes deriva nomes secretos de TLS anexando sufixos fixos ao prefixo. Para um conjunto de réplicas, ele lê o par tls.crt e tls.key de um segredo chamado my-mongot-<name>-search-cert, onde <name> é metadata.name do recurso MongoDBSearch. Para todos os padrões de nomenclatura, incluindo implantações de cluster, consulte spec.security.tls.certsSecretPrefix. No modo mTLS, a CA que mongot usa para validar o certificado do cliente de mongod vem da configuração TLS da fonte mongod, não de spec.security.tls. Consulte Proteja a conexão do Search ao MongoDB.
Observação
spec.security.tls.certsSecretPrefix é o campo recomendado para novas implantações. O campo legado spec.security.tls.certificateKeySecretRef.name ainda é suportado e tem precedência quando ambos são definidos no mesmo recurso MongoDBSearch. Implantações existentes no campo legado continuam a funcionar sem alterações.
Limitações conhecidas
As seguintes limitações se aplicam ao mongot TLS:
Nenhuma suíte de criptografia configurável. As suítes de criptografia que
mongotnegocia não são configuráveis por meio do CRDMongoDBSearchou da configuraçãomongot. O conjunto é fixado nos valores com os quaismongoté fornecido.Sem suporte a FIPS.
mongotnão fornece um modo TLS validado por FIPS nesta versão.Nenhuma validação de nome de host ou SAN no servidor de escuta.
mongotvalida que os certificados de cliente recebidos são assinados por uma CA confiável, mas não valida o nome do host do assunto ou as entradas SAN no certificado. A autenticação no caminho de escuta depende da autoridade de certificação e da autorização de nome diferenciado X.509 configurada em Proteja a conexão do Search ao MongoDB.A versão mínima do TLS é 1.2.
mongotnão aceita conexões TLS 1.0 ou 1.1.
A rotação do material TLS é o mesmo fluxo da rotação dos certificados do cliente: atualize o Secret referenciado e reinicie os pods mongot. Consulte Proteger a conexão da pesquisa ao MongoDB para obter o procedimento.
Aviso
Habilitar o TLS em uma implantação em execução é uma interrupção breve, mas real, não uma alteração perfeita. O listener gRPC do mongot é binário: ele aceita texto simples ou TLS, nunca ambos. A mudança de desabilitado para TLS reverte o searchTLSMode do mongot e do mongod juntos, e as novas query de pesquisa falham temporariamente durante a transição. A rotação de certificados em uma implantação que já tem o TLS habilitado não tem essa lacuna, porque o modo de listener não muda. Planeje um período de manutenção para a habilitação inicial do TLS.