Docs Menu
Docs Home
/
Spark Connector

TLS/SSL の構成

このガイドでは、 TLS/SSL を構成してMongoDB Spark コネクタとMongoDBデプロイ間の通信を保護する方法を説明します。

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

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

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

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

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

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

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

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

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

接続文字列の作成の詳細については、 MongoDB Serverマニュアルの接続文字列ガイドを参照してください。

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の構成

項目一覧