SSL 接続を使用した Oracle JDBC

SSL (セキュア ソケット レイヤー) サーバーに接続する場合は、[SSL が必須] チェックボックスをオンにします。

2020.2 以降では、Oracle は JDBC コネクタを使用しています。Oracle データ ソースが SSL 一方向認証または双方向認証を使用するように構成されている場合は、接続するために適切な証明書やキーを含めることができます。

SSL が必須

SSL 接続が必要な場合は、次の手順を行います。

  1. コネクタ ダイアログで、[SSL が必須] をクリックします。

  2. 接続に適した SSL を構成します。
    • 自己署名証明書またはプライベート CA によって署名された証明書を使用している場合は、一方向 SSL 接続の信頼を構成する必要があります。「Oracle 用の一方向 SSL の構成」を参照してください。
    • 双方向 SSL を使用している場合は、クライアント キーを構成する必要があります。「双方向 SSL の構成」を参照してください。

Oracle 用の一方向 SSL の構成

サーバー証明書の信頼を構成するには、JDBC コネクタの一般的な「JDBC 接続の一方向 SSL の構成」の手順を参照してください。

プロパティ ファイルを使用して信頼を構成する場合は、Oracle JDBC ドライバーに対して以下のプロパティを使用します。

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

注: ワークブックを Tableau Server にパブリッシュするには、Tableau Desktop コンピューターと Tableau Server コンピューターの両方に、同じ Oracle プロパティ ファイルと truststore.jks ファイルのコピーが必要です。

双方向 SSL の構成

Oracle 接続を使用した双方向 SSL サポートの構成には次の 2 つのオプションがあります。

オプション 1: データ ソースにクライアント証明書と秘密キーを埋め込む

SSL 証明書、クライアント証明書、およびクライアント キーを埋め込むには:

  1. 必要に応じて、「Oracle 用の一方向 SSL の構成」の手順に従って、サーバーの信頼を構成します。
  2. [クライアント証明書 >>] をクリックします。

  3. クライアント証明書とクライアント キーの場所を指定します。
    証明書と秘密キーは、暗号化されていない PEM 形式である必要があります。正しい形式に変換するための推奨事項については、このドキュメントの後半の手順を参照してください。

オプション 2: プロパティ ファイルを使用してクライアント証明書と秘密キーを構成する

証明書およびキーの構成にプロパティ ファイルを使用するには、以下を実行します。

  1. キー ストアと証明書ストアの設定を反映するため、Oracle のプロパティ ファイルを変更します。例として、以下を使用します。「My_Folder」にはファイルがある場所を指定し、「<password>」には実際のパスワードを入れてください。OSX と Linux 上のパスを分離するには、1 つの「/」 のみが必要です。

    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. oracle.properties を <Document>\MyTableau Respository\Datasources フォルダーに保存します。
  3. oracle.properties、truststore.jks、keystore.jks を Tableau Server コンピューターにコピーします。これで、ワークブックを Tableau Server にパブリッシュできるようになります。

この方法を使用する場合は、SSL ダイアログを介して証明書とキーをアップロードする必要はありません。代わりに、[SSL が必須] をクリックします。これにより、Oracle JDBC コネクタは、Oracle のプロパティ ファイルからキー ストアと証明書ストアの場所を読み取ります。

ワークブックのパブリッシュ

ワークブックを Tableau Server にパブリッシュするには、次の条件を満たしていることを確認します。

  • プロパティ ファイルを使用している場合は、Tableau Desktop コンピューターと Tableau Server コンピューターの両方に、同じ Oracle プロパティ ファイル、truststore.jks、keystore.jks のコピーがあります。
  • サーバーが、Tableau Desktop コンピューターと同じ Oracle JDBC コネクタを使用している。
  • 埋め込みオプションを使用している場合は、パブリッシュ時に [パスワードの埋め込み] オプションを選択します。

キー フォーマットの変換

SSL キーを格納するときは、以下の形式を選択できます。

  • Oracle Wallet
  • JKS - プロパティ ファイルを使用して SSL 信頼を構成する場合は、この形式を使用します。
  • PEM - Tableau インターフェイスを使用してデータ ソースにキーを埋め込む場合は、この形式を使用します。

次に示すコマンドをコマンドライン プロンプトで入力すると、キーを正しい形式に変換できます。詳細については、Oracle のドキュメントを参照してください。

Oracle Wallet から SAML ファイルにサーバー証明書をエクスポートするには:

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

Oracle Wallet から JKS にサーバー証明書とクライアント キーをエクスポートするには:

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

keytool と OpenSSL を使用して、JKS 信頼ストアから PEM ファイルにサーバー証明書をエクスポートするには:

  1. JKS 形式を PKCS12 形式にエクスポートするには:

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

  2. PKCS12 から PEM ファイルを取得するには:

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

keytool と OpenSSL を使用して、JKS 信頼ストアから PEM ファイルにサーバー証明書とクライアント キーをエクスポートするには:

  1. 以下の手順で、信頼ストアから証明書をエクスポートします。
    1. JKS 形式を PKCS12 形式にエクスポートするには:

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

    2. PKCS12 から PEM ファイルを取得するには:

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

  2. 以下の手順で、キー ストアからクライアント キーとクライアント証明書をエクスポートします。
    1. keytool を使用して、JKS 形式を PCKS12 形式に変換します。

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

    2. OpenSSL を使用してクライアント証明書をエクスポートするには:

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

    3. OpenSSLを使用して、クライアント キーをエクスポートするには:

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

    4. OpenSSL を使用して、暗号化バージョンを PKCS8 形式に変換するには:

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

関連項目

  • JDBC 接続の SSL 構成: JDBC 接続用の信頼できる SSL 証明書のインストールに関する一般的な情報。
フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!