Node.jsおよびその他のスクリプト言語の接続(mTLS)
mTLS (ウォレットあり)を使用してAutonomous Databaseインスタンスに接続するには、Python、Node.js、PHP、Ruby、R、Go、Perlなどの様々な言語のプログラムを使用できます。セキュリティはクライアント資格証明を使用して適用されます。
これらのスクリプト言語には、Oracle Call Interfaceライブラリを使用するデータベース・アクセスAPIまたはドライバが含まれます。
Oracle Call Interface (OCI)クライアントでは、次のクライアント・バージョンを使用して接続する場合、ウォレットでのmTLS認証がサポートされます:
-
Oracle Instant Client/Oracle Database Client: 18.19 (以上)、19.2 (以上)、または21 (ベース・リリース以上)。
ウォレットなしでのNode.jsまたはその他のスクリプト言語の接続の詳細は、「Walletを使用しないNode.jsおよびその他のスクリプト言語の接続」を参照してください。
詳細は、次のビデオを参照してください。
言語ドライバとクライアント・ライブラリのインストール
スクリプト言語からAutonomous Databaseに接続するには、最初に次のように言語ドライバとクライアント・ライブラリをインストールします:
-
Oracle Instant Client/Oracle Database Clientをインストールします: 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をインストールするには、次のページの手順を使用します: node-oracledbのインストール。
-
ROracle: R用のROracleをインストールするには、次のページの手順を使用します: ROracle
-
PHP: PHP用のPHP OCI8をインストールするには、次のページの手順を使用します: OCI8を使用したPHPの構成。
Windows DLLはhttp://php.net/downloads.phpで入手可能です。また、PECL oci8からも入手可能です。
-
PHP PDO_OCI: PHP用のPHP PDO_OCIをインストールするには、次のページの手順を使用します: Oracle Functions (PDO_OCI)。
Windows DLLは、PHPに含まれているhttp://php.net/downloads.phpで入手可能です。
-
Ruby: Ruby用のruby-oci8をインストールするには、次のページの手順を使用します: Oracle Instant Clientのインストール
-
Perl用のDBD: Perl用のDBD::Oracleをインストールするには、
ORACLE_HOME
およびライブラリ検索パス(Instant ClientディレクトリへのLD_LIBRARY_PATH
やPATH
など)を設定し、次のページの手順を使用します: DBD-Oracleのインストール。 -
Python: Pythonアプリケーションを接続する手順は、PythonアプリケーションをWallet (mTLS)に接続するを参照してください
-
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
。 -
-
プロキシを使用している場合は、ウォレット(mTLS)を使用したOracle Call Interface、ODBCおよびJDBC OCI接続の準備の「HTTPプロキシでの接続」のステップに従います。
アプリケーションを実行します
-
データベース・ユーザー名、パスワード、および解凍した
tnsnames.ora
ファイルで指定されているOracle Net接続名を使用して接続するようにアプリケーションを更新します。たとえば、ユーザーadb_user
、パスワードおよび接続文字列db2022adb_low
です。 -
または、
tnsnames.ora
の接続文字列を、アプリケーションで使用される文字列と一致するように変更します。 -
アプリケーションを実行します。