4.2.2.5.5 Autonomous AI Databaseへのセキュアな接続のためのOracleウォレットの構成
Oracleウォレットは、Oracle Autonomous AI Databaseに安全に接続するのに必要な認証資格証明(SSL証明書や秘密キーなど)の格納に使用されるセキュアなソフトウェア・コンテナです。適切なウォレット構成により、アプリケーション(Oracle Machine Learning for Python (OML4Py)を使用するアプリケーションなど)は、強力なデータ暗号化および認証を使用してAutonomous AI Databaseインスタンスに接続できます。
次のステップでは、Autonomous AI Databaseに安全に接続するようにOracleウォレットを構成する方法について概説します:
- Oracleウォレットのダウンロード
- Oracle Cloudコンソールにログインします。
- 「Autonomous AI Database」に移動し、ターゲット・データベース・インスタンスを選択します。
- 「DB接続」をクリックします
- 「ウォレットのダウンロード」をクリックします。
- 安全に格納するためにウォレット・パスワードを設定し、「ダウンロード」をクリックします。
- ZIPファイル(Wallet_<db_name>.zip)をクライアント・マシン上のセキュアな場所に保存します。
- ウォレット・ファイルの抽出および保護
ダウンロードしたウォレット・ファイルをセキュアなディレクトリ(
mywalletdirなど)に解凍します。mkdir -p mywalletdir unzip Wallet_<db_name>.zip -d mywalletdir cd mywalletdir/ lsREADME ewallet.p12 ojdbc.properties tnsnames.ora cwallet.sso keystore.jks sqlnet.ora truststore.jks sqlnet.oraファイルを更新して、ウォレットの場所を指定します。環境でプロキシ・ファイアウォールを使用している場合は、SQLNET.USE_HTTPS_PROXYパラメータの値をonに設定してを有効にします。WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="mywalletdir"))) SSL_SERVER_DN_MATCH=yes SQLNET.USE_HTTPS_PROXY=on- ファイアウォールの内側で作業している場合は、
tnsnames.oraで各サービス・レベルにプロキシ・アドレスおよびポート番号を追加します。さらに、すべてのサービス・レベルの接続プール・エントリを含めます。また、次に示すように、AutoML接続プール専用の新しいエントリを3つ作成する必要があります。ノート:
設定した期間内に接続を終了するファイアウォールがプロキシ・サーバーに含まれている場合、データベース接続も終了します。たとえば、
myadb_medium_poolは、SERVER=POOLEDがmyadb_mediumの対応する別名に追加された接続文字列の別の別名です。myadb_mediumの場合:-
myadb_low = (description= (retry_count=20)(retry_delay=3)(address=(https_proxy=your proxy address here)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=qtraya2braestch_myadb_medium.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.us-sanjose-1.oraclecloud.com,OU=Oracle ADB SANJOSE,O=Oracle Corporation,L=Redwood City,ST=California,C=US"))) -
myadb_medium = (description= (retry_count=20)(retry_delay=3)(address=(https_proxy=your proxy address here)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=qtraya2braestch_myadb_medium.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.us-sanjose-1.oraclecloud.com,OU=Oracle ADB SANJOSE,O=Oracle Corporation,L=Redwood City,ST=California,C=US"))) -
myadb_high = (description= (retry_count=20)(retry_delay=3)(address=(https_proxy=your proxy address here)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=qtraya2braestch_myadb_medium.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.us-sanjose-1.oraclecloud.com,OU=Oracle ADB SANJOSE,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))
-
myadb_medium_poolの場合:-
myadb_low_pool = (description= (retry_count=20)(retry_delay=3)(address=(https_proxy=your proxy address here)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=qtraya2braestch_myadb_medium.adb.oraclecloud.com)(SERVER=POOLED))(security=(ssl_server_cert_dn="CN=adb.us-sanjose-1.oraclecloud.com,OU=Oracle ADB SANJOSE,O=Oracle Corporation,L=Redwood City,ST=California,C=US"))) -
myadb_medium_pool = (description= (retry_count=20)(retry_delay=3)(address=(https_proxy=your proxy address here)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=qtraya2braestch_myadb_medium.adb.oraclecloud.com)(SERVER=POOLED))(security=(ssl_server_cert_dn="CN=adb.us-sanjose-1.oraclecloud.com,OU=Oracle ADB SANJOSE,O=Oracle Corporation,L=Redwood City,ST=California,C=US"))) -
myadb_high_pool = (description= (retry_count=20)(retry_delay=3)(address=(https_proxy=your proxy address here)(https_proxy_port=80)(protocol=tcps)(port=1522)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=qtraya2braestch_myadb_medium.adb.oraclecloud.com)(SERVER=POOLED))(security=(ssl_server_cert_dn="CN=adb.us-sanjose-1.oraclecloud.com,OU=Oracle ADB SANJOSE,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))
-
- Windows GUIでの
TNS_ADMIN環境変数の設定クライアント・アプリケーションでウォレットを見つけて使用できるようにするには、
TNS_ADMIN環境変数を設定します:TNS_ADMIN: ウォレットおよびネットワーク構成ファイル(
tnsnames.ora、sqlnet.oraなど)が格納されているディレクトリへのパス-
「スタート」メニューのオープン
画面の左下隅にあるWindowsの「スタート」ボタンをクリックします。
-
システム・プロパティへのアクセス
- 検索ボックスに、次のように入力します:
。environment variables - 検索結果から「システム環境変数の編集」を選択します。
- 検索ボックスに、次のように入力します:
-
「環境変数」ウィンドウのオープン
「システムのプロパティ」ウィンドウで、「環境変数...」ボタン(通常は下部近く)をクリックします。
-
TNS_ADMIN変数の追加または編集- 「ユーザー環境変数」セクション(ユーザーのみに設定する場合)または「システム環境変数」(システム全体に設定する場合)で、「新規…」をクリックします。
- 「変数名」に、
TNS_ADMINと入力します。 - 「変数値」に、Oracleウォレット・ディレクトリへのフルパス(
C:\Users\yourname\walletなど)を入力します。
TNS_ADMINがすでに存在する場合は、かわりにそれを選択して「編集...」をクリックし、値を更新します。 -
適用およびクローズ
- 新規または編集のダイアログで「OK」をクリックします。
- 「OK」をクリックして「環境変数」ウィンドウを閉じます。
- 「OK」を再度クリックして、「システムのプロパティ」ウィンドウを閉じます。
-
アプリケーションの再起動
新しい環境変数または更新された環境変数を認識させるには、開いているコマンド・プロンプトまたはアプリケーションを再起動する必要があります。
-
Oracle Autonomous AI Database接続の検証
Autonomous AI Database (ADB)に安全に接続できることを確認します。
- Pythonを起動し、
omlライブラリをロードします。python3 import oml - セキュアなアクセスにウォレットを利用するOMLクライアントを使用してデータベース接続を確立します。
dsnパラメータとautomlパラメータの両方を、ウォレット・ディレクトリ内の適切なtnsnames.ora別名に設定します:oml.connect(user="oml_user", password="oml_user_password", dsn="myadb_medium", automl="myadb_medium_pool")Oracle Machine Learningのユーザー資格証明がプレーン・テキストで公開されないようにするには、接続時にuserパラメータとpasswordパラメータに空の文字列を指定します:
oml.connect(user="", password="", dsn="myadb_medium", automl="myadb_medium_pool")