ウォレット(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 Clientソフトウェアがまだクライアント・コンピュータにインストールされていないと仮定しています。 Oracle Clientソフトウェアがすでにインストールされていて、sqlnet.oraとtnsnames.oraの作業コピーがある場合は、「既存のOracle Clientインストールの更新」を参照してください。
Oracle Call Interface (OCI)、ODBC、またはJDBC OCI接続を行う前に、次の手順を実行します。
-
Oracle Clientソフトウェアをコンピュータにインストールします。
-
Oracle Instant Client/Oracle Databaseクライアント: 18.19(以降)、19.2 (以降)、または21 (ベース・リリース以降)。 Instant Clientには、Oracle Call Interface接続に必要な最小限のソフトウェアが含まれています。
-
-
クライアント資格証明をダウンロードし、ファイルをクライアント・コンピュータのセキュア・フォルダに格納します。 「クライアント資格証明(ウォレット)のダウンロード」を参照してください。
-
資格証明ファイルを、クライアント・コンピュータ上のセキュアなフォルダに解凍/解凍します。
-
資格証明ファイルを解凍してフォルダ内の
sqlnet.oraファイルを編集し、"?/network/admin"を、クライアント資格証明を含むフォルダの名前に置き換えます。たとえば、次のように
sqlnet.oraを編集します:WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin"))) SSL_SERVER_DN_MATCH=yesUNIX/Linuxで変更された値は次のとおりです:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials"))) SSL_SERVER_DN_MATCH=yesWindowsの変更された値は次のとおりです:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="D:\\myapp\\adb_credentials"))) SSL_SERVER_DN_MATCH=yes -
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プロキシを指定します。 詳細については、「Oracle SQLcl CloudとWallet (mTLS)の接続」を参照してください。
-
sqlnet.oraファイルに次の行を追加して、HTTPプロキシ経由の接続を有効にします。SQLNET.USE_HTTPS_PROXY=on -
tnsnames.oraの接続定義にHTTPプロキシのホスト名とポートを追加します。 接続定義のアドレス・セクションに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プロキシのユーザー名とパスワードが必要です。 このような場合は、ネットワーク管理者に連絡して、HTTPプロキシを経由せずにポート1522を使用してoraclecloud.comドメイン内のホストへのアウトバウンド接続を開きます。
SQLNET.USE_HTTPS_PROXYの詳細は、ネット・サービス・リファレンスを参照してください。
HTTPS_PROXYおよびHTTPS_PROXY_PORTの詳細は、「プロトコル・アドレス・セクション」を参照してください。
既存のOracle Clientインストールの更新
既存のOracle Clientインストールがある場合は、sqlnet.oraおよびtnsnames.oraの各ファイルとTNS_ADMIN環境変数がすでに存在します。 この場合、次の手順を実行します:
-
次のように追加して
sqlnet.oraファイルを更新します。WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adb_credentials"))) -
Autonomous Databaseウォレットに用意されている
tnsnames.oraファイルのエントリを、既存のtnsnames.oraファイルにコピーします。