この章には次の項が含まれます:
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>
説明:
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管理者ガイド』を参照してください。
URLおよびOracleウォレットで一致するデータベース接続文字列を指定するかわりに、URL情報をマップする別名を作成できます。接続文字列情報は、関連する別名とともにtnsnames.ora
ファイルに格納されます。別名はURLとウォレットの両方で使用されます。
作成後、別名またはデータ・ソース定義を再変更する必要はありません。ユーザー資格証明を変更するには、ウォレットを更新します。接続情報を変更するには、tnsnames.ora
ファイルを更新します。どちらの場合も、データ・ソースを再デプロイする必要があります。データ・ソースを再デプロイする最も簡単な方法は、WebLogic Server管理コンソールでデータ・ソースをターゲット設定解除し、ターゲット設定する方法です。この構成は、Oracleリリース10.2以上のドライバでサポートされます。