プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの管理
12c (12.2.1.3.0)
E90329-05
目次へ移動
目次

前
次

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

Oracleウォレットを使用すると、WebLogic JDBCデータ・ソース定義用のデータベース資格証明を格納できます。

この章では、WebLogic JDBCデータ・ソースで使用するOracleウォレットを作成および管理する方法について説明します。この章には次の項が含まれます:

Oracleウォレットとは

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

これは、ウォレット内のエントリにより解決される、データ・ソース定義内のデータベース接続文字列を使用することで実現されます。

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

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

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

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

ノート:

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

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

ウォレットには自動ログイン機能があり、クライアントはパスワードを入力せずにウォレットのコンテンツにアクセスできます。この機能を使用することで、クリア・テキストのパスワードがクライアントに公開されることを防ぎます。ウォレットを希望する場所に作成し、ウォレット・ファイルに資格証明を指定する方法を学習します。

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

mkstore -wrl <wallet_location> -create

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

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

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)

ノート:

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

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

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

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

説明:

  • wallet_locationは、ウォレットを作成したディレクトリのパスです。

  • db_connect_stringは、データ・ソース定義で使用されるURLで指定する接続文字列(@の後の文字列部分)と同一である必要があります。短い形式または長い形式のURLを使用できます。たとえば:

    myhost:1521/myserviceまたは

    (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost-scan)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=myservice)))

    ノート:

    シェルから特殊文字をエスケープするために、この値は引用符で囲む必要があります。通常、この名前は長く複雑な値であるため、かわりにTNS別名を使用します。「DB接続文字列のかわりにTNS別名を使用」を参照してください

  • usernamepasswordは、データベース・ログイン資格証明です。

  • WebLogicデータ・ソースで使用するデータベースごとに繰り返します。

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

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

ウォレットを使用するようにWebLogic Serverのデータ・ソースを構成するには、Walletファイルをクライアント・マシンのセキュア・ディレクトリにコピーして、データ・ソース構成ファイルを更新する必要があります。

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

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

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

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

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

  1. データ・ソースを作成するとき、WebLogic Server管理コンソールでユーザー名またはパスワードは入力しないでください。または既存のデータ・ソースからこれらを削除してください。ユーザー名、パスワードまたは暗号化パスワードが構成に含まれる場合、それらにより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とウォレットの両方で使用されます。
TNS別名を作成するには、次のステップを実行します。
  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ファイルを更新します。どちらの場合も、データ・ソースを再デプロイする必要があります。データ・ソースを再デプロイする最も簡単な方法は、WebLogic Server管理コンソールでデータ・ソースをターゲット指定解除し、ターゲット指定する方法です。この構成は、Oracleリリース10.2以上のドライバでサポートされます。