Docs Menu
Docs Home
/
Spark 커넥터

TLS/SSL 구성

이 페이지의 내용

  • 개요
  • JVM 보안 저장소 만들기
  • JVM 키 저장소 만들기
  • TLS/SSL 활성화
  • 인증서 저장소에 대한 액세스 구성
  • Spark 구성 파일에서 속성 설정
  • 명령줄에서 속성 설정

이 가이드 에서는 TLS/SSL 를 구성하는 방법을 학습 수 있습니다. MongoDB Spark Connector 와 MongoDB deployment 간의 통신을 보호합니다.

TLS/SSL을 사용하려면 애플리케이션과 각 Spark 작업자가 ID를 증명하는 암호화 인증서에 액세스할 수 있어야 합니다. 인증서를 JVM 신뢰 저장소와 JVM 키 저장소에 저장합니다. Spark 구성 파일을 통해 또는 명령줄에서 Spark 작업을 시작할 때 이러한 인증서에 대한 액세스를 구성할 수 있습니다.

JVM 신뢰 저장소는 애플리케이션이 상호 작용하는 다른 애플리케이션을 안전하게 식별하는 인증서를 저장합니다. 이러한 인증서를 사용하면 사용자의 애플리케이션은 다른 애플리케이션에 대한 연결이 진짜이고 안전하다는 것을 증명할 수 있습니다.

keytool 을 사용하여 신뢰 저장소 생성 JDK의 일부로 제공되는 명령줄 도구:

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을 활성화하기 위해 truetls 옵션이 할당된 연결 URI를 보여줍니다.

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

연결 string 생성에 대한 자세한 내용은 서버 매뉴얼의 연결 string 가이드 를 참조하세요.

JVM 신뢰 저장소와 JVM 키 저장소에 저장된 인증서에 액세스하도록 Spark 애플리케이션을 구성하려면 다음 시스템 속성을 설정해야 합니다.

  • javax.net.ssl.rustStore

  • javax.net.ssl.rustStorePassword

  • 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 구성