Oracle® Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの管理 12c (12.2.1) E70015-01 |
|
前 |
次 |
この章では、WebLogic Serverデータ・ソース定義のデータベース資格証明を格納する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パッケージをインストールして、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管理者ガイド』を参照してください。
Oracleウォレットを使用するようにWebLogic Serverデータ・ソースを構成するには、次の手順を使用します。
ウォレット・ファイルのcwallet.sso
とewallet.p12
をデータベース・マシンからクライアント・マシンにコピーし、安全なディレクトリに配置します。
Oracleウォレットを使用するようにWebLogicデータ・ソースを構成するには、次の手順を使用します。
データ・ソースを作成するとき、WebLogic Server管理コンソールでユーザー名またはパスワードは入力しないでください。または既存のデータ・ソースからこれらを削除してください。ユーザー名、パスワードまたは暗号化パスワードが構成に含まれる場合、それらによりOracleウォレット値はオーバーライドされます。
/
を@
の前に配置してURLを変更します。たとえば、短い形式のURLの場合、jdbc:oracle:thin:/@mydburl:1234/mydb
のようになります。
接続プロパティに次の値を追加する必要があります。
oracle.net.wallet_location=
wallet_directory
ここで、wallet_directory
は、手順1「ウォレット・ファイルのコピー」の安全なディレクトリの場所です。別の方法は、-Doracle.net.wallet_location
システム・プロパティを使用し、それをJAVA_OPTIONS
に追加する方法です。接続プロパティを使用することをお薦めします。
URLおよびOracleウォレットで一致するデータベース接続文字列を指定するかわりに、URL情報をマップする別名を作成できます。接続文字列情報は、関連する別名とともにtnsnames.ora
ファイルに格納されます。別名はURLとウォレットの両方で使用されます。
システム・プロパティ-Doracle.net.tns_admin=
tns_directory
を指定します。ここで、tns_directory
は、tnsnames.ora
ファイルのディレクトリの場所です。
注意: 接続プロパティとしてtns_directory の場所を使用しないでください。 |
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ファイルのローカル・ネーミング・パラメータに関する項を参照してください。単一行に文字列を入力することをお薦めします。
接続文字列を別名に置き換えることで、データ・ソース定義URLで別名を使用します。たとえば、管理コンソールの「接続プール」タブでURL属性をjdbc:oracle:thin:/@alias
に変更します。
作成後、別名またはデータ・ソース定義を再変更する必要はありません。ユーザー資格証明を変更するには、ウォレットを更新します。接続情報を変更するには、tnsnames.ora
ファイルを更新します。どちらの場合も、データ・ソースを再デプロイする必要があります。データ・ソースを再デプロイする最も簡単な方法は、WebLogic Server管理コンソールでデータ・ソースをターゲット指定解除し、ターゲット指定する方法です。この構成は、Oracleリリース10.2以上のドライバでサポートされます。