Certificados SSL/TLS e X.509
Nesta página
Visão geral
Neste guia, você pode aprender como proteger as comunicações entre o trabalho do MongoDB Kafka Connector e o MongoDB cluster.
Para proteger sua conexão, você deve executar as seguintes tarefas:
Observação
Se você hospedar seu cluster MongoDB no MongoDB Atlas ou se seu cluster não exigir explicitamente certificados, você já poderá se comunicar com segurança e não precisará seguir as etapas deste guia.
Pré-requisitos
Este guia requer conhecimento prévio dos seguintes conceitos:
Armazenar certificados no trabalhador
Armazene seus certificados em um armazenamento de chaves e armazenamento confiável para proteger suas credenciais de certificado para cada servidor em que você executa sua instância de trabalho do connector.
Armazenamento de chaves
Você pode usar um armazenamento de chaves para armazenar chaves privadas e certificados de identidade. O armazenamento de chaves usa a chave e o certificado para verificar a identidade do cliente para hosts externos.
Se sua configuração SSL/TLS exigir um certificado de cliente para se conectar à sua instância de trabalho, gere uma chave privada segura e inclua o certificado de cliente fornecido com a CA intermediária. Em seguida, armazene estas informações no seu armazenamento de chaves utilizando o seguinte comando openssl
para gerar um arquivo PKCS 12:
openssl pkcs12 -export -inkey <your private key> \ -in <your bundled certificate> \ -out <your output pkcs12 file>
Truststore
Você pode usar um armazenamento confiável para armazenar certificados de uma CA. O armazenamento confiável usa os certificados para identificar as partes em que o cliente confia. Alguns exemplos desses certificados são CA raiz, CA intermediário e o certificado de entidade final do cluster MongoDB.
Importe os certificados das partes em que você confia para o seu armazenamento confiável utilizando o seguinte comando keytool
:
keytool -import -trustcacerts -import -file <your root or intermediate CA>
Se a configuração SSL/TLS exigir o certificado de entidade final para o MongoDB cluster, importe-o para o armazenamento confiável com o seguinte comando:
keytool -import -file <your server bundled certificate> -keystore <your keystore name>
Para obter mais informações sobre como configurar um armazenamento de chaves e um armazenamento confiável de cliente para fins de teste, consulte Certificados de cliente OpenSSL para teste.
Adicionar credenciais ao connector
O connector processa opções de JVM da variável de ambiente KAFKA_OPTS
. A variável de ambiente contém o caminho e a senha para seu armazenamento de chaves e armazenamento confiável.
Exporte as seguintes opções de JVM na sua variável KAFKA_OPTS
:
export KAFKA_OPTS="\ -Djavax.net.ssl.trustStore=<your path to truststore> \ -Djavax.net.ssl.trustStorePassword=<your truststore password> \ -Djavax.net.ssl.keyStore=<your path to keystore> \ -Djavax.net.ssl.keyStorePassword=<your keystore password>"
Quando o operador processa as opções de JVM, o conector tenta se conectar usando o protocolo SSL/TLS e os certificados em seu armazenamento de chaves e armazenamento confiável.