文档菜单
文档首页
/
MongoDB Kafka 连接器
/

SSL/TLS 和 X.509 证书

本页

  • 概述
  • 先决条件
  • 在工作者上存储证书
  • 密钥库
  • 信任库
  • 将凭据添加到连接器

在本指南中,您可以学习如何确保您的MongoDB Kafka Connector工作进程与MongoDB集群之间的通信安全。

为确保连接安全,您必须执行以下任务:

  • 创建证书

  • 将证书存储在工作主机机器上

  • 向连接器提供证书凭据

注意

如果您在MongoDB Atlas上托管您的MongoDB集群或您的集群没有明确要求使用证书,您已经可以安全地进行通信,无需遵循本指南中的步骤。

本指南需要以下概念的先验知识:

将您的证书存储在 密钥库信任库 中,以保护您在每个运行连接器工作进程实例的服务器上的证书凭据。

您可以使用密钥库来存储私钥和身份证书。密钥库使用密钥和证书来验证客户端的身份,以便外部主机。

如果您的SSL/TLS配置需要客户端证书来连接到您的worker实例,请生成一个安全的私钥,并包含与中间CA捆绑的客户端证书。然后,使用以下命令将此信息存储在您的密钥库中:openssl 命令生成PKCS 12文件

openssl pkcs12 -export -inkey <your private key> \
-in <your bundled certificate> \
-out <your output pkcs12 file>

您可以使用信任库来存储来自CA的证书。信任库使用证书来识别客户端信任的各方。这些证书的示例包括根CA、中间CA以及您的MongoDB集群的端实体证书。

使用以下 keytool 命令将您信任的各方的证书导入信任库

keytool -import -trustcacerts -import -file <your root or intermediate CA>

如果您的SSL/TLS配置需要您的MongoDB集群的端实体证书,请使用以下命令将其导入信任库

keytool -import -file <your server bundled certificate> -keystore <your keystore name>

有关如何设置用于测试目的的客户端密钥库和信任库的更多信息,请参阅测试用的OpenSSL客户端证书。

连接器工作进程从您的 KAFKA_OPTS 环境变量中处理 JVM 选项。该环境变量包含您的密钥库和受信任库的路径和密码。

在您的 KAFKA_OPTS 变量中导出以下 JVM 选项

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>"

当工作进程处理 JVM 选项时,连接器将尝试使用 SSL/TLS 协议和密钥库中的证书与受信任库进行连接。

返回

安全和身份验证