ウォレット(mTLS)を使用したOracle Call Interface、ODBCおよびJDBC OCI接続の準備

mTLS認証を使用して任意のタイプのOracle Call Interface (OCI)接続を準備するには、クライアント・ソフトウェアのインストール、クライアント資格証明のダウンロード、および特定のファイルと環境変数の構成が必要です。

このトピックでは、Autonomous DatabaseインスタンスからダウンロードしたウォレットとともにmTLS認証を使用して接続するアプリケーションを準備するステップについて説明します。これらの接続タイプでTLS認証を準備するステップの詳細は、TLS認証を使用したOracle Call Interface、ODBCおよびJDBC OCI接続の準備を参照してください。

新規Oracle Clientインストール

次のステップは、Oracleクライアント・ソフトウェアがクライアント・コンピュータにまだインストールされていないことを前提としています。Oracleクライアント・ソフトウェアがすでにインストールされており、sqlnet.oraおよびtnsnames.oraの作業用コピーがある場合は、「既存のOracle Clientインストールの更新」を参照してください。

Oracle Call Interface (OCI)、ODBCまたはJDBC OCI接続を行う前に、次の手順を実行します。

  1. コンピュータにOracle Clientソフトウェアをインストールします。

    • Oracle Instant Client/Oracle Database Client: 18.19 (以上)、19.2 (以上)、または21 (ベース・リリース以上)。Instant Clientには、Oracle Call Interface接続に必要な最小限のソフトウェアが含まれます。

  2. クライアント資格証明をダウンロードして、クライアント・コンピュータのセキュアなフォルダにファイルを格納します。クライアント資格証明(ウォレット)のダウンロードに関する項を参照してください。

  3. 資格証明ファイルをクライアント・コンピュータのセキュアなフォルダに解凍/圧縮解除します。

  4. 資格証明ファイルを解凍したフォルダのsqlnet.oraファイルを編集して、"?/network/admin"を、クライアント資格証明を含むフォルダの名前に置き換えます。

    たとえば、次のようにsqlnet.oraを編集します:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
    SSL_SERVER_DN_MATCH=yes

    UNIX/Linuxでの変更後の値は:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials")))
    SSL_SERVER_DN_MATCH=yes
    

    Windowsでの変更後の値は:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="D:\\myapp\\adb_credentials")))
    SSL_SERVER_DN_MATCH=yes
    
  5. TNS_ADMIN環境変数を作成して、資格証明ファイルの場所に設定します。

    この環境変数を使用して、Oracle Net Services構成ファイルのディレクトリ・パスを、デフォルトの場所のORACLE_HOME\network\adminから、ステップ2で保存した資格証明ファイルが格納されているセキュアなフォルダの場所に変更します。TNS_ADMIN環境変数を、資格証明ファイルそのものではなく、解凍された資格証明ファイルが存在するディレクトリに設定します。

    たとえば、UNIX/Linuxでは、TNS_ADMINを、クライアント資格証明を解凍したディレクトリのフルパスに設定します:

    export TNS_ADMIN=/home/adb_credentials

    たとえば、Windowsでは次のように指定します。

    set TNS_ADMIN=d:\myapp\adb_credentials

HTTPプロキシでの接続

クライアントがファイアウォール内に存在し、ネットワーク構成でHTTPプロキシを使用してインターネットに接続する必要がある場合は、次のステップを実行します。sqlnet.oraおよびtnsnames.oraファイル。HTTPプロキシを介した接続は、Oracle Clientソフトウェア・バージョン12.2.0.1以降でのみ使用できます。

ノート

sqlnet.oraおよびtnsnames.oraファイルの手動更新を回避するには、SQLclを使用してコマンドラインでHTTPプロキシを指定します。詳細は、Wallet (mTLS)を使用したOracle SQLcl Cloudの接続を参照してください。
  1. sqlnet.oraファイルに次の行を追加して、HTTPプロキシを介した接続を有効にします。

    SQLNET.USE_HTTPS_PROXY=on
  2. HTTPプロキシのホスト名とポートをtnsnames.oraの接続定義に追加します。接続定義のアドレス・セクションにhttps_proxyおよびhttps_proxy_portパラメータを追加する必要があります。たとえば、次の例ではHTTPプロキシをproxyhostnameに設定し、HTTPプロキシ・ポートを80に設定しています(これらの値は実際のHTTPプロキシ情報に置き換えてください):

    ADB1_high =
           (description=
                 (address=
                       (https_proxy=proxyhostname)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.example.oraclecloud.com)
                 )
                 (connect_data=(service_name=adb1_high.adb.oraclecloud.com)
                 )
                 (security=(ssl_server_dn_match=yes))
                 )
           )

ノート

sqlnet.oraおよびtnsnames.oraをHTTPプロキシ用に構成しても、組織のネットワーク構成とセキュリティ・ポリシーによっては十分でない場合があります。たとえば、一部のネットワークではHTTPプロキシ用のusernamepasswordが必要です。このような場合は、ネットワーク管理者に問い合せて、HTTPプロキシを経由せずにポート1522を使用してoraclecloud.comドメインのホストに対するアウトバウンド接続を開きます。

SQLNET.USE_HTTPS_PROXYの詳細は、ネット・サービス・リファレンスを参照してください。

HTTPS_PROXYおよびHTTPS_PROXY_PORTの詳細は、プロトコル・アドレス・セクションを参照してください。

既存のOracle Clientインストールの更新

既存のOracle Clientインストールがある場合は、すでにsqlnet.oraおよびtnsnames.oraファイルとTNS_ADMIN環境変数を保持しています。この場合、次を行います。

  1. 次を追加してsqlnet.oraファイルを更新します:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials")))
  2. Autonomous Databaseウォレットに指定されているtnsnames.oraファイルのエントリを既存のtnsnames.oraファイルにコピーします。