SSL/TLS および X.509 証明書
Overview
このガイドでは、MongoDB Kafka Connector ワーカーと MongoDB クラスター間の通信を保護する方法を学習できます。
接続を保護するには、次のタスクを実行する必要があります。
注意
MongoDB Atlasで MongoDB クラスターをホストしている場合、またはクラスターで証明書が明示的に必要とされていない場合は、すでに安全に通信できるため、このガイドの手順に従う必要はありません。
前提条件
このガイドでは、次の概念に関する事前の知識が必要です。
ワーカーへの証明書の保存
コネクタ ワーカー インスタンスを実行する各サーバーの証明書認証情報を保護するために、証明書をキーストアとトラスト ストアに保存します。
キーストア
キーストアを使用して秘密キーと ID 証明書を保存できます。 キーストアは、キーと証明書を使用して、外部ホストに対するクライアントの ID を確認します。
SSL/TLS 構成でワーカー インスタンスに接続するためにクライアント証明書が必要な場合は、安全な秘密キーを生成し、中間 CA にバンドルされているクライアント証明書を含めます。 次に、次の openssl
コマンドを使用して PKCS 12 ファイルを生成し、この情報をキーストアに保存します。
openssl pkcs12 -export -inkey <your private key> \ -in <your bundled certificate> \ -out <your output pkcs12 file>
Truststore
トラストストアを使用して 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 クライアント証明書 」を参照してください。
Connectorへの認証情報の追加
connector ワーカーは、 KAFKA_OPTS
環境変数から JVM オプションを処理します。 環境変数には、キーストアとトラスト ストアへのパスとパスワードが含まれています。
次の JVM オプションを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>"
ワーカーが JVM オプションを処理するときに、コネクターは SSL/TLS プロトコルと キーストア と トラスト ストア内の証明書を使用して接続を試みます。