この章では、WebLogic JDBCデータ・ソースで使用する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別名を使用」を参照してください
username
とpassword
は、データベース・ログイン資格証明です。
WebLogicデータ・ソースで使用するデータベースごとに繰り返します。
自動ログインの使用およびウォレット・パスワードの保持の詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。
ウォレットを使用するようにWebLogic Serverのデータ・ソースを構成するには、Walletファイルをクライアント・マシンのセキュア・ディレクトリにコピーして、データ・ソース構成ファイルを更新する必要があります。
ウォレットを使用するようにWebLogic Serverデータ・ソースを構成するには、次の手順に従います。
tnsnames.ora
ファイルに格納されます。別名はURLとウォレットの両方で使用されます。
作成後、別名またはデータ・ソース定義を再変更する必要はありません。ユーザー資格証明を変更するには、ウォレットを更新します。接続情報を変更するには、tnsnames.ora
ファイルを更新します。どちらの場合も、データ・ソースを再デプロイする必要があります。データ・ソースを再デプロイする最も簡単な方法は、WebLogic Server管理コンソールでデータ・ソースをターゲット指定解除し、ターゲット指定する方法です。この構成は、Oracleリリース10.2以上のドライバでサポートされます。