Node.jsおよびその他のスクリプト言語(mTLS)の接続
Python、Node.js、PHP、Ruby、R、GoおよびPerlなどの様々な言語でプログラムを使用して、mTLS (ウォレットを含む)を使用してAutonomous Databaseインスタンスに接続できます。 セキュリティはクライアント資格証明を使用して実施されます。
これらのスクリプト言語には、Oracle Call Interfaceライブラリを使用するデータベース・アクセスAPIまたはドライバがあります。
ノート:
次のクライアント・バージョンを使用して接続している場合、Oracle Call Interface (OCI)クライアントはウォレットでのmTLS認証をサポートしています:-
Oracle Instant Client/Oracle Databaseクライアント: 18.19(以降)、19.2 (以降)、または21 (ベース・リリース以降)。
Node.jsまたはウォレットなしの他のスクリプト言語の接続の詳細は、「Walletを使用しないNode.jsおよびその他のスクリプト言語の接続」を参照してください。
詳細は、次のビデオを参照してください:
言語ドライバとクライアント・ライブラリのインストール
スクリプト言語からAutonomous Databaseに接続するには、まず次のように言語ドライバとクライアント・ライブラリをインストールします:
-
Oracle Instant Client/Oracle Databaseクライアントのインストール: 18.19(以降)、19.2 (以降)、または21 (ベース・リリース以降)。
Instant Clientは、ほとんどのアプリケーションで正常に機能します。 Instant Clientをインストールするには、次の手順を実行します。
-
「Instant Clientのダウンロード」ページから目的のアーキテクチャを選択し、Basicパッケージをダウンロードします(ダウンロード・ページで使用可能): Oracle Instant Clientダウンロード。
または、Basic Lightのグローバリゼーションの制限が使用に適している場合は、目的のアーキテクチャ用のダウンロード・ページからBasic Lightパッケージをダウンロードします。
-
ソース・コードから言語APIまたはドライバを構築する場合は、Instant Client SDK (「Oracle Instant Client」)もダウンロードする必要があります
-
選択した基本パッケージを解凍します。 たとえば、
C:\instantclient_12_2
または/home/myuser/instantclient_18_5.
に解凍 SDKもダウンロードする場合は、同じディレクトリに解凍します。 -
Windowsで、「環境変数」ペインのシステム変数セクションに、
PATH
変数へのパスを追加します(例:C:\instantclient_12_2
の追加)。 Windows 8の場合、「コントロール パネル」→「システム」→「システムの詳細設定」→「環境変数」に移動して、PATH
変数設定領域にアクセスします。 複数のバージョンのOracleライブラリがインストールされている場合は、新しいディレクトリがパス内で最初に出現することを確認してください。 -
Windows以外のプラットフォームでシンボリック・リンクが存在しない場合は作成します。 たとえば:
cd /home/myuser/instantclient_18_5 ln -s libclntsh.so.18.1 libclntsh.so
他に影響を受けるOracleソフトウェアがシステム上にない場合は、Instant Clientをランタイム・リンク・パスに追加します。 たとえば:
sudo sh -c "echo /home/myuser/instantclient_18_5 > /etc/ld.so.conf.d/oic.conf" sudo ldconfig
または、アプリケーションを実行するシェルごとにライブラリ・パスを設定します。 たとえば:
export LD_LIBRARY_PATH=/home/myuser/instantclient_18_5:$LD_LIBRARY_PATH
ノート:
Linux版Instant Clientのダウンロード・ファイルは、.zip
ファイルまたは.rpm
ファイルとして入手できます。 いずれのバージョンも使用できます。
-
-
Oracle Databaseの関連する言語ドライバをインストールします。
-
Node.js: Node.js用のnode-oracledbをインストールするには、「Installing node-oracledb」ページの手順を実行します。
-
ROracle: R用のROracleをインストールするには、「ROracle」ページの手順を実行します
-
PHP: PHP用のPHP OCI8をインストールするには、「Configuring PHP with OCI8」ページの手順を実行します。
Windows DLLはhttp://php.net/downloads.phpで利用でき、PECL oci8からも入手できます。
-
PHP PDO_OCI: PHP用のPHP PDO_OCIをインストールするには、「Oracle Functions (PDO_OCI)」ページの手順を実行します。
Windows DLLは、http://php.net/downloads.phpで利用でき、PHPに含まれています。
-
Ruby: Ruby用のruby-oci8をインストールするには、「Install for Oracle Instant Client」ページの手順を実行します
-
Perl用のDBD: Perl用のDBD::Oracleをインストールするには、
ORACLE_HOME
と、LD_LIBRARY_PATH
やPATH
などのライブラリ検索パスをInstant Clientディレクトリに設定し、「Installing DBD-Oracle」ページの手順を実行します。 -
Python: Pythonアプリケーションの接続手順については、Wallet (mTLS)を使用したPythonアプリケーションの接続を参照してください
-
Oracle Network Connectivityの有効化とセキュリティ資格証明(Oracle Wallet)の取得
-
Autonomous Databaseに接続するためのクライアント・セキュリティ資格証明を取得します。 データベースへのアクセスに必要なクライアント・セキュリティ資格証明およびネットワーク構成設定を含むzipファイルを取得します。 権限のないデータベースへのアクセスを防ぐために、このファイルとその内容を保護する必要があります。 次のようにクライアント・セキュリティ資格証明ファイルを取得します。
-
ADMINユーザー: 「データベース接続」をクリックします。 「クライアント資格証明(ウォレット)のダウンロード」を参照してください。
-
他のユーザー(非管理者): Autonomous Databaseの管理者からOracle Walletを取得します。
-
-
クライアント資格証明(ウォレット)ファイルを抽出します。
-
クライアント資格証明のzipファイルを解凍します。
-
Instant Clientを使用している場合は、必要に応じてInstant Clientディレクトリの下に
network/admin
サブディレクトリ階層を作成します。 次に、このサブディレクトリにファイルを移動します。 たとえば、アーキテクチャやクライアント・システム、Instant Clientをインストールした場所によっては、ファイルは次のディレクトリにあるはずです。C:\instantclient_12_2\network\admin
または
/home/myuser/instantclient_18_5/network/admin
または
/usr/lib/oracle/18.5/client64/lib/network/admin
-
完全なOracle Clientを使用している場合は、ファイルを
$ORACLE_HOME/network/admin
に移動します。
-
-
あるいは、解凍されたウォレット・ファイルを安全なディレクトリに配置し、
TNS_ADMIN
環境変数をそのディレクトリ名に設定します。
ノート:
zipファイルの中で必要なファイルは、tnsnames.ora
、sqlnet.ora
、cwallet.sso
およびewallet.p12
のみです。 -
-
プロキシの背後にいる場合は、「HTTPプロキシを使用した接続」のステップ(「ウォレット(mTLS)を使用したOracle Call Interface、ODBCおよびJDBC OCI接続の準備」)に従います。
アプリケーションの実行
-
解凍後の
tnsnames.ora
ファイルで指定したデータベース・ユーザー名、パスワードおよびOracle Net接続名を使用して、アプリケーションを接続するように更新してください。 たとえば、ユーザー、adb_user
、password、およびdb2022adb_low
が接続文字列として指定されます。 -
または、
tnsnames.ora
の接続文字列を変更して、アプリケーションで使用される文字列に合せます。 -
アプリケーションを実行します。