ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの管理
12c (12.1.2)
E48088-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

11 Oracleウォレットの作成および管理

この章では、WebLogic Serverデータソース定義のデータベース資格証明を格納するOracleウォレットの作成方法および管理方法を説明します。

Oracleウォレットとは

Oracleウォレットにより、複数のドメインにわたりデータベース資格証明を管理する簡単な方法が提供されます。ウォレットを更新することでデータベース資格証明を更新できます。このとき、個々のデータソース定義を変更する必要はありません。これは、ウォレット内のエントリにより解決される、データソース定義内のデータベース接続文字列を使用することで実現されます。

Oracle TNS (Transparent Network Substrate)管理ファイルを使用して、データソース定義のデータベース接続文字列の詳細(ホスト名、ポート番号およびサービス名)を非表示にし、かわりに別名を使用することでも、この機能を拡張できます。接続情報を変更する場合、多数のデータソース定義を変更する必要はなく、tnsnames.oraファイルのみ変更すればすみます。

ウォレットを使用すると、異なるドメイン間で共通の資格証明を保持できます。これには、2つの異なるWLSドメイン間、またはWLSとデータベース間での資格証明の共有が含まれます。ウォレットを正しく使用すると、データソース構成でパスワードを保持する必要はなくなります。

ウォレットを保持する場所

データベース環境にウォレットを作成し、管理することをお薦めします。この環境で、$ORACLE_HOME/oracle_common/bin/mkstoreコマンドなど、必要なすべてのコマンドおよびライブラリを提供します。通常、このタスクはデータベース管理者が実行し、クライアントが使用するために用意します。構成済のウォレットは、安全なウォレット・ディレクトリに格納された2つのファイル、cwallet.ssoおよびewallet.p12で構成されます。


注意:

Oracle Client Runtimeパッケージをインストールして、Oracleウォレットの作成および管理に必要なコマンドおよびライブラリを用意することもできます。


外部パスワード・ストアの作成方法

コマンドラインで次の構文を使用して、クライアント上にウォレットを作成します。

mkstore -wrl <wallet_location> -create

ここで、wallet_locationは、ウォレットを作成して格納するディレクトリのパスです。

このコマンドにより、指定した場所にOracleウォレットが作成され、自動ログイン機能が使用可能になります。自動ログインにより、クライアントは、パスワードを指定しなくてもウォレットの内容にアクセスでき、クライアントのクリア・テキスト・パスワードが露出されるのを回避できます。

mkstoreコマンドでは、後続コマンドに使用されるパスワードを要求するプロンプトが表示されます。パスワードは、8文字以上で、アルファベットと、数字または特殊文字の組合せを含んでいる必要があります。次に例を示します。

mkstore -wrl /tmp/wallet –create 
Enter password: mysecret 
PKI-01002: Invalid password. 
Enter password: mysecret1  (not echoed) 
Enter password again: mysecret1 (not echoed)

注意:

Oracleウォレットを使用すると、データ・ソース構成ファイル内のクリア・テキスト・パスワードのかわりにウォレット・ファイル内の暗号化パスワードが使用され、セキュリティの脆弱性が取り除かれます。ウォレット・ファイルは安全な場所に保管する必要があります。


1つのクライアント・ウォレットに、複数のデータベースの複数の資格証明を格納できます。同じウォレットに、同じデータベースの(複数のスキーマにログインするための)複数の資格証明は格納できません。同じデータベースに対する複数のログイン資格証明がある場合、別のウォレットに格納する必要があります。

既存のクライアント・ウォレットにデータベース・ログイン資格証明を追加するには、コマンドラインで次のコマンドを指定します。

mkstore -wrl <wallet_location> -createCredential <db_connect_string> <username> <password>

説明:

自動ログインの使用およびウォレット・パスワードの保持の詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。

ウォレットを使用するWebLogic Serverデータ・ソースの定義

Oracleウォレットを使用するようにWebLogic Serverデータ・ソースを構成するには、次の手順を使用します。

ウォレット・ファイルのコピー

ウォレット・ファイルのcwallet.ssoewallet.p12をデータベース・マシンからクライアント・マシンにコピーし、安全なディレクトリに配置します。

データ・ソース構成の更新

Oracleウォレットを使用するようにWebLogicデータ・ソースを構成するには、次の手順を使用します。

  1. データ・ソースを作成するとき、管理コンソールでユーザー名またはパスワードは入力しないでください。または既存のデータ・ソースからこれらを削除してください。ユーザー名、パスワードまたは暗号化パスワードが構成に含まれる場合、それらによりOracleウォレット値はオーバーライドされます。

  2. /@の前に配置してURLを変更します。たとえば、短い形式のURLの場合、jdbc:oracle:thin:/@mydburl:1234/mydbのようになります。

  3. 接続プロパティに次の値を追加する必要があります。

    oracle.net.wallet_location=wallet_directory

    ここで、wallet_directoryは、手順1「ウォレット・ファイルのコピー」の安全なディレクトリの場所です。別の方法は、-Doracle.net.wallet_locationシステム・プロパティを使用し、それをJAVA_OPTIONSに追加する方法です。接続プロパティを使用することをお薦めします。

DB接続文字列のかわりにTNS別名を使用

URLおよびOracleウォレットで一致するデータベース接続文字列を指定するかわりに、URL情報をマップする別名を作成できます。接続文字列情報は、関連する別名とともにtnsnames.oraファイルに格納されます。別名はURLとウォレットの両方で使用されます。

  1. システム・プロパティ-Doracle.net.tns_admin=tns_directoryを指定します。ここで、tns_directoryは、tnsnames.oraファイルのディレクトリの場所です。


    注意:

    接続プロパティとしてtns_directoryの場所を使用しないでください。


  2. tns_directoryで指定されているディレクトリ内にtnsnames.oraファイルを作成します。または、このファイルを変更します。エントリの形式を次に示します。

    alias=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=port))(CONNECT_DATA=(SERVICE_NAME=service)))

    ここで、hostはデータベース・リスナーのURL、portはデータベース・リスナーのポート、serviceは接続する先のデータベースのサービス名です。

    構成できる追加属性があります。『Database Net Servicesリファレンス』ローカル・ネーミング・パラメータ(tnsnames.ora)に関する項を参照してください。単一行に文字列を入力することをお薦めします。

  3. 接続文字列を別名に置き換えることで、データ・ソース定義URLで別名を使用します。たとえば、管理コンソールの「接続プール」タブでURL属性をjdbc:oracle:thin:/@aliasに変更します。

作成後、別名またはデータ・ソース定義を再変更する必要はありません。ユーザー資格証明を変更するには、ウォレットを更新します。接続情報を変更するには、tnsnames.oraファイルを更新します。どちらの場合も、データ・ソースを再デプロイする必要があります。データ・ソースを再デプロイするもっとも簡単な方法は、管理コンソールでデータ・ソースをターゲット設定解除し、ターゲット設定する方法です。この構成は、Oracleリリース10.2以上のドライバでサポートされます。