Menu Docs
Página inicial do Docs
/
Conector do Spark

Configure TLS/SSL

Nesta página

  • Visão geral
  • Crie um JVM Trust Store
  • Crie um Armazenamento de Chaves JVM
  • Habilitar TLS/SSL
  • Configurar acesso a armazenamentos de certificados
  • Definir as propriedades no arquivo de configuração do Spark
  • Defina as propriedades na linha de comando

Neste guia, você pode aprender como configurar TLS/SSL para proteger as comunicações entre o do MongoDB Spark Connector e sua MongoDB implementação do .

Para usar TLS/SSL, seu aplicativo e cada um dos funcionários do Spark devem ter acesso a certificados criptográficos que comprovam sua identidade. Armazene os certificados em seu armazenamento JVM de confiança e seu armazenamento de chaves JVM. Você pode configurar o acesso a esses certificados por meio do arquivo de configuração do Spark ou ao iniciar uma tarefa do Spark na linha de comando.

O armazenamento confiável da JVM salva certificados que identificam com segurança outros aplicativos com os quais o seu aplicativo interage. Usando esses certificados, seu aplicativo pode provar que a conexão com outro aplicativo é genuína e segura.

Crie um armazenamento de confiança com o keytool ferramenta de linha de comando fornecida como parte do JDK:

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

O armazenamento de chaves JVM salva certificados que identificam com segurança seu aplicativo em outros aplicativos. Usando esses certificados, outros aplicativos podem provar que a conexão com o seu aplicativo é genuína e segura.

Criar um armazenamento de chaves usando a ferramenta keytool, ou openssl ferramentas de linha de comando.

Você pode habilitar o TLS/SSL para a conexão com sua instância do MongoDB por meio do parâmetro tls em seu URI de conexão.

O exemplo a seguir mostra um URI de conexão com a opção tls atribuída a true para habilitar TLS/SSL:

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

Para obter mais informações sobre como criar uma connection string, consulte o guia de Connection string no manual do servidor.

Para configurar seu aplicativo Spark para acessar os certificados armazenados em seu armazenamento de confiança JVM e em seu armazenamento de chaves JVM, as seguintes propriedades do sistema devem ser definidas:

  • javax.net.ssl.securityStore

  • javax.net.ssl.securityStorePassword

  • javax.net.ssl.keyStore

  • javax.net.ssl.keyStorePassword

Você pode definir as propriedades do sistema no arquivo de configuração do Spark da seguinte maneira:

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

Você pode definir as propriedades do sistema na linha de comando adicionando-as com o sinalizador --conf ao enviar uma tarefa do Spark:

./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

Voltar

Configuração do Spark