Connexions Oracle JDBC avec SSL

Si vous vous connectez à un serveur SSL (security socket layer), cochez la case Nécessite SSL.

Depuis la version 2020.2, Oracle utilise un connecteur JDBC. Si votre source de données Oracle est configurée pour utiliser l’authentification SSL unidirectionnelle ou bidirectionnelle, vous pouvez inclure les certificats et/ou la clé appropriés pour vous connecter.

Exiger SSL

Si votre connexion nécessite SSL, procédez comme suit :

  1. Dans la boîte de dialogue du connecteur, cliquez sur Nécessite SSL.

  2. Configurez SSL en fonction de votre connexion :
    • Si vous utilisez des certificats auto-signés ou un certificat signé par une autorité de certification privée, vous devrez peut-être configurer l’approbation pour les connexions SSL unidirectionnelles. Consultez Configurer SSL unidirectionnel pour Oracle.
    • Si vous utilisez SSL bidirectionnel, vous devrez configurer vos clés client. Voir Configurer SSL bidirectionnel.

Configurer SSL unidirectionnel pour Oracle

Pour configurer l’approbation de votre certificat de serveur, consultez les instructions générales pour les connecteurs JDBC ici : Configurer SSL unidirectionnel pour les connexions JDBC.

Si vous décidez d’utiliser des fichiers de propriétés pour configurer l’approbation, utilisez les propriétés suivantes pour le pilote Oracle JDBC.

javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStorePassword=password

Remarque : pour publier un classeur sur Tableau Server, les ordinateurs Tableau Desktop et Tableau Server doivent disposer des copies du même fichier de propriétés Oracle et du fichier truststore.jks.

Configurer SSL bidirectionnel

Il existe deux options pour configurer la prise en charge de SSL bidirectionnel avec une connexion Oracle :

Option 1 : Intégrer des certificats client et une clé privée dans la source de données

Pour intégrer un certificat SSL, un certificat client et une clé client :

  1. Suivez les étapes décrites dans Configurer SSL unidirectionnel pour Oraclepour configurer l’approbation du serveur, si nécessaire.
  2. Cliquez sur Certificat client >>.

  3. Spécifiez les emplacements du certificat client et de la clé client.
    Le certificat et la clé privée doivent être au format PEM non chiffré. Consultez les instructions ultérieures dans ce document pour des suggestions sur la conversion au format correct.

Option 2 : Utiliser un fichier de propriétés pour configurer le certificat client et la clé privée

Pour utiliser un fichier de propriétés pour la configuration du certificat et de la clé :

  1. Modifiez le fichier oracle.properties de manière à refléter les paramètres du magasin de clés et du magasin de confiance. Prenez ce qui suit pour exemple. Remplacez « My_Folder » par l’emplacement de vos fichiers et « <password> » par votre propre mot de passe. Les chemins d’accès sur OSX et Linux n’ont besoin que d’un seul trait de séparation « / ».

    javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
    javax.net.ssl.trustStoreType=JKS
    javax.net.ssl.trustStorePassword=<password>
    javax.net.ssl.keyStore=C:\\My_Folder\\keystore.jks
    javax.net.ssl.keyStoreType=JKS
    javax.net.ssl.keyStorePassword=password

  2. Enregistrez oracle.properties sur le dossier <Document>\MyTableau Repository\Datasources.
  3. Copiez oracle.properties, truststore.jks et keystore.jks sur l’ordinateur Tableau Server. Cela permet de publier le classeur sur Tableau Server.

Si vous utilisez cette méthode, vous n’avez pas besoin de télécharger des certificats et une clé via la boîte de dialogue SSL. Au lieu de cela, cliquez simplement sur Nécessite SSL. Le connecteur Oracle JDBC lit alors les emplacements du magasin de clés et du magasin de confiance à partir du fichier oracle.properties.

Publier un classeur

Pour publier un classeur sur Tableau Server, assurez-vous que les conditions suivantes sont remplies :

  • Si vous utilisez un fichier de propriétés, les ordinateurs Tableau Desktop et Tableau Server ont des copies du même fichier de propriétés Oracle, truststore.jks et keystore.jks.
  • Le serveur utilise le même connecteur Oracle JDBC que l’ordinateur Tableau Desktop.
  • Si vous avez utilisé l’option d’intégration, sélectionnez l’option « Mot de passe intégré » lors de la publication.

Convertir des formats de clé

Il existe plusieurs formats pour stocker les clés SSL, notamment :

  • Oracle Wallet
  • JKS - Utilisez ce format si vous souhaitez configurer l’approbation SSL à l’aide de fichiers de propriétés.
  • PEM - Utilisez ce format si vous souhaitez intégrer les clés dans la source de données à l’aide de l’interface Tableau.

Voici quelques suggestions de commandes à saisir à l’invite de la ligne de commande pour convertir les clés au format correct. Consultez la documentation Oracle pour plus de détails.

Pour exporter un certificat serveur depuis Oracle Wallet dans un fichier PEM :

orapki wallet export -wallet wallet_location -dn certificate_dn -cert output_certificate_filename.pem

Pour exporter le certificat de serveur et les clés client depuis Oracle Wallet vers JKS :

orapki wallet pkcs12_to_jks -wallet ./ -pwd mypasswd -jksKeyStoreLoc ./ewalletK.jks -jksKeyStorepwd password -jksTrustStoreLoc ./ewalletT.jks -jksTrustStorepwd password

Pour exporter un certificat client depuis le magasin de confiance JKS vers un fichier PEM avec keytool et OpenSSL :

  1. Exportez le format JKS au format PKCS12 :

    keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

  2. Obtenez le fichier PEM depuis PKCS12 :

    openssl pkcs12 -in truststore.p12 -out serverca.pem

Pour exporter un certificat client et des clés client depuis le magasin de confiance JKS vers un fichier PEM avec keytool et OpenSSL :

  1. Exportez le certificat du magasin de confiance comme suit.
    1. Exportez le format JKS au format PKCS12 :

      keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

    2. Obtenez le fichier PEM depuis PKCS12 :

      openssl pkcs12 -in truststore.p12 -out serverca.pem

  2. Exportez la clé client et le certificat client depuis le magasin de clés comme suit.
    1. Utilisez keytool pour transformer le format JKS en format PCKS12 :

      keytool.exe -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

    2. Utilisez OpenSSL pour exporter le certificat client :

      openssl pkcs12 -in keystore.p12 -nokeys -out clientcert.pem

    3. Utilisez OpenSSL pour exporter la clé client :

      openssl pkcs12 -in keystore.p12 -nocerts -out clientkeyEncrypted.pem

    4. Utilisez OpenSSL pour transformer la version cryptée au format PKCS8 :

      openssl pkcs8 -topk8 -nocrypt -in clientkeyEncrypted.pem -out clientkey.pem

Voir également

Merci de vos commentaires !