ウォレットを使用したOracle Call Interface、ODBCおよびJDBC OCI接続の準備(mTLS)
任意のタイプのOracle Call Interface (OCI)接続をmTLS認証で準備するには、クライアント・ソフトウェアのインストール、クライアント資格証明のダウンロード、および特定のファイルと環境変数の構成が必要です。
このトピックでは、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接続を行う前に、次の手順を実行します。
-
Oracle Clientソフトウェアをコンピュータにインストールします。
-
Oracle Instant Client/Oracle Database Client: 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=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
-
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
-
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)) ) )
組織のネットワーク構成とセキュリティ・ポリシーによっては、HTTPプロキシの
sqlnet.ora
およびtnsnames.ora
の構成のみでは不十分な場合があります。たとえば、一部のネットワークでは、HTTPプロキシ用のusername
とpassword
が必要です。このような場合、ネットワーク管理者に依頼して、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
ファイルにコピーします。