Overview
En esta guía, puede aprender cómo proteger las comunicaciones entre su trabajador MongoDB Kafka Connector y su clúster MongoDB.
Para proteger su conexión, debe realizar las siguientes tareas:
Almacenar los certificados en la máquina host del trabajador
Proporcionar las credenciales de los certificados al conector
Nota
Si aloja su clúster MongoDB en MongoDB Atlas o su clúster no requiere certificados explícitamente, ya puede comunicarse de forma segura y no necesita seguir los pasos de esta guía.
Requisitos previos
Esta guía requiere conocimiento previo de los siguientes conceptos:
Almacenar certificados en el trabajador
Almacene sus certificados en un almacén de claves y un almacén de confianza para proteger las credenciales de su certificado para cada servidor en el que ejecute su instancia de trabajador del conector.
Almacén de claves
Puede usar un almacén de claves para almacenar claves privadas y certificados de identidad. El almacén de claves utiliza la clave y el certificado para verificar la identidad del cliente ante hosts externos.
Si su configuración SSL/TLS requiere un certificado de cliente para conectarse a su instancia de trabajo, genere una clave privada segura e incluya el certificado de cliente junto con la CA intermedia. A continuación, almacene esta información en su almacén de claves mediante el siguiente procedimiento. openssl comando para generar un archivo PKCS 12:
openssl pkcs12 -export -inkey <your private key> \ -in <your bundled certificate> \ -out <your output pkcs12 file>
Truststore
Puede usar un almacén de confianza para almacenar certificados de una CA. Este almacén utiliza los certificados para identificar las entidades de confianza del cliente. Algunos ejemplos de estos certificados son una CA raíz, una CA intermedia y el certificado de entidad final de su clúster de MongoDB.
Importe los certificados de las partes en las que confía a su almacén de confianza mediante el siguiente comando keytool:
keytool -import -trustcacerts -import -file <your root or intermediate CA>
Si su configuración SSL/TLS requiere el certificado de entidad final para su clúster MongoDB, impórtelo a su almacén de confianza con el siguiente comando:
keytool -import -file <your server bundled certificate> -keystore <your keystore name>
Para obtener más información sobre cómo configurar un almacén de claves y un almacén de confianza de cliente para fines de prueba,consulte Certificados de cliente OpenSSL para pruebas.
Agregar credenciales al conector
El trabajador del conector procesa las opciones de la JVM desde la variable de entorno KAFKA_OPTS. Esta variable contiene la ruta y la contraseña de su almacén de claves y almacén de confianza.
Exporte las siguientes opciones de JVM en su variable 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>"
Cuando el trabajador procesa las opciones de JVM, el conector intenta conectarse mediante el protocolo SSL/TLS y los certificados en su almacén de claves y almacén de confianza.