Docs Menu
Docs Home
/
Spark Connector

TLS/SSL の構成

項目一覧

  • Overview
  • JVM トラスト ストアを作成する
  • JVM キー ストアの作成
  • TLS/SSL を有効にする
  • 証明書ストアへのアクセスの構成
  • Spark 構成ファイルでのプロパティを設定する
  • コマンドラインからプロパティを設定する

このガイドでは、 TLS/SSL の構成方法を学習できます MongoDB Spark Connector と MongoDB 配置間の通信を保護します。

TLS/SSL を使用するには、アプリケーションと各 Spark ワーカーが ID を証明する暗号化証明書にアクセスする必要があります。 証明書を JVM 信頼ストアと JVM キー ストアに保存します。 これらの証明書へのアクセスは、Spark 構成ファイルを使用して、またはコマンドラインから Spark ジョブを起動するときに構成できます。

JVM 信頼ストアには、アプリケーションが対話する他のアプリケーションを安全に識別する証明書が保存されます。 これらの証明書を使用すると、アプリケーションは別のアプリケーションへの接続が本物であり、安全であることを証明できます。

キーツール を使用してトラスト ストアを作成する JDK の一部として提供される コマンドライン ツール 。

keytool -importcert -trustcacerts -file <path to certificate authority file>
-keystore <path to trust store> -storepass <password>

JVM キー ストアには、アプリケーションを他のアプリケーションに対して安全に識別する証明書が保存されます。 これらの証明書を使用すると、他のアプリケーションは、アプリケーションへの接続が本物であり、安全であることを証明できます。

キー ツール を使用してキー ストアを作成する 、または Opensl コマンドライン ツール。

接続 URI の tlsパラメータを使用して、MongoDB インスタンスへの接続に TLS/SSL を有効にできます。

次の例では、TLS/SSL を有効にするためにtrueに割り当てられたtlsオプションを持つ接続 URI を示しています。

"mongodb+srv://<username>:<password>@<cluster-url>?tls=true"

接続stringの作成の詳細については、サーバー マニュアルの「接続stringガイド」を参照してください。

JVM 信頼ストアと JVM キー ストアに保存されている証明書にアクセスするように Spark アプリケーションを構成するには、次のシステム プロパティを設定する必要があります。

  • javax.net.ssl.trustStore

  • javax.net.ssl.trustStorePassword

  • javax.net.ssl.keyStore

  • javax.net.ssl.keyStorePassword

Spark 構成ファイルで、システム プロパティを次のように設定できます。

spark.executor.extraJavaOptions=-Djavax.net.ssl.trustStore=<Path to your trust store> -Djavax.net.ssl.trustStorePassword=<Your trust store password> -Djavax.net.ssl.keyStore=<Path to your key store> -Djavax.net.ssl.keyStorePassword=<Your key store password>"
spark.driver.extraJavaOptions=-Djavax.net.ssl.trustStore=<Path to your trust store> -Djavax.net.ssl.trustStorePassword=<Your trust store password> -Djavax.net.ssl.keyStore=<Path to your key store> -Djavax.net.ssl.keyStorePassword=<Your key store password>"

Spark ジョブを送信するときに、 --confフラグを使用してシステム プロパティを追加することで、コマンドラインからシステム プロパティを設定できます。

./bin/spark-submit --name "<Your app name>" \
--master "<Master URL>" \
--conf "spark.executor.extraJavaOptions=-Djavax.net.ssl.trustStore=<Path to your trust store> -Djavax.net.ssl.trustStorePassword=<Your trust store password> -Djavax.net.ssl.keyStore=<Path to your key store> -Djavax.net.ssl.keyStorePassword=<Your key store password>" \
sparkApplication.jar \
--conf "spark.driver.extraJavaOptions=-Djavax.net.ssl.trustStore=<Path to your trust store> -Djavax.net.ssl.trustStorePassword=<Your trust store password> -Djavax.net.ssl.keyStore=<Path to your key store> -Djavax.net.ssl.keyStorePassword=<Your key store password>" \
sparkApplication.jar

戻る

Spark の構成