![]() |
Sun ONE Identity Server ポリシーエージェントガイド |
第 7 章 WebLogic 6.1 SP2 のポリシーエージェント
この章では、WebLogic 6.1 SP2 アプリケーションサーバ向け Sun ONE Identity Server ポリシーエージェントをインストールおよび設定する方法について説明します。次のトピックがあります。
- サポートされるプラットフォーム
- ガイドライン
- エージェントのインストール
- WebLogic Server の設定
- アプリケーションの設定
- エージェントの設定
- エージェントと Sun ONE Identity Server SDK API の使用
- エージェントのアンインストール
サポートされるプラットフォーム
WebLogic 6.1 SP2 向け Sun ONE Identity Server ポリシーエージェントは、次のプラットフォームをサポートしています。
- Solaris 8
- Windows 2000 Server
- HP-UX 11
ガイドライン
WebLogic 6.1 SP2 向け Sun ONE Identity Server ポリシーエージェントを最も有効に利用するには、次のガイドラインに従うことをお勧めします。
- エージェントベースの認証の使用
エージェントをインストールし、エージェントフィルタコンポーネントを使用するようにアプリケーションを設定すると、保護されているアプリケーションの対象部分に対するすべての Web ベースのアクセスについて、エージェントフィルタコンポーネントは認証を適用します。エージェントレルムコンポーネントと共に使用することで、エージェントフィルタは、保護されているアプリケーションに定義された J2EE ポリシーがロールから主体へのマッピングに基づいて確実に正しく評価されるようにします。同時にシングルサインオン (SSO) などの重要なサービスを提供します。このため、アプリケーションの動作時にエージェントフィルタコンポーネントを使用せずに、独自の認証メカニズムや、コンテナベースのその他の認証メカニズムを保護されたアプリケーションが使用することがないように設定することをお勧めします。
- セキュリティを認識する拡張アプリケーションの作成
エージェントは、Identity Server SDK ライブラリに含まれる豊富な API を提供します。これらの API は、保護されたアプリケーションで利用できます。これらの API を使うことで、アプリケーション設計者は Identity Server が提供するセキュリティフレームワークの範囲内でセキュリティを認識する拡張アプリケーションを自由に作成できます。Sun ONE Identity Server SDK の詳細な使用方法については、『Sun ONE Identity Server Programmer's Guide』を参照してください。
エージェントのインストール
WebLogic Server 6.1 SP2 向け Sun ONE Identity Server ポリシーエージェントをインストールできるプラットフォームは、Solaris 8、Windows 2000 Server、または HP-UX 11 です。WebLogic Server 6.1 SP2 向け Sun ONE Identity Server ポリシーエージェントのインストールプログラムを起動する場合、使用するプラットフォームに応じて次の手順に従う必要があります。インストールプログラムが正常に起動した場合は、エージェントのインストールに必要な詳細な手順について説明している次の各項を参照する必要はありません。
インストール前のタスク
WebLogic Server 6.1 SP2 向け Sun ONE Identity Server ポリシーエージェントをインストールする前に、次のタスクを実行する必要があります。
- WebLogic Server 6.1 SP2 をインストールします。
詳細については、WebLogic Server のマニュアルを参照してください。サーバのインストールが完了したら、付属するサンプルアプリケーションを使ってサーバが正しくインストールされていることを確認します。
- 保護するアプリケーションの配備をテストします。
エージェントをインストールする前に、保護するアプリケーションを配備し、簡単な機能を実行してテストすることが重要です。環境が整い、アプリケーションを正しく配備できたら、エージェントのインストールを開始できます。
Solaris 8 でのインストールプログラムの起動
Solaris プラットフォーム用の WebLogic Server 6.1 SP2 向け Sun ONE Identity Server ポリシーエージェントのバイナリファイルは、tar-gzip 形式で圧縮されています。WebLogic Server をインストールしたマシにこの圧縮ファイルをコピーし、次の手順を実行してインストールプログラムを起動します。
- root としてログインします。
- 次のコマンドを使ってバイナリファイルを解凍します。
# gzip -dc j2eeagents-2.0-domestic-us.sparc-sun-solaris2.8.tar.gz | tar xvf -
- JAVA_HOME 環境変数をバージョン 1.3.1 以降の JDK に設定します。必要なバージョンの JDK がシステムに用意されていない場合は、WebLogic Server 6.1 SP2 サーバに付属する JDK を使用します。JDK は、次の場所に保存されています。
WebLogic_Install_Dir/bea/jdk131
インストールプログラムには、グラフィカルユーザインタフェース (GUI) とコマンド行インタフェースが用意されています。ほとんどの場合、エージェントのインストールには GUI 形式のインストールプログラムを使います。ただし、リモートサーバの telnet セッションでインストールを行う場合にウィンドウ機能を利用できないときは、コマンド行形式のインストールプログラムを使ってエージェントをインストールします。このインストールプログラムを起動するには、次のコマンドを実行します。
# ./setup -nodisplay
ただし、GUI 形式のインストールプログラムを利用する場合は、GUI インストールプログラムウィンドウが正しいコンソールに表示されるように DISPLAY 環境変数を設定する必要があります。
注 -nodisplay オプションを指定してコマンド行形式のインストールプログラムを使用する場合は、次の手順を省略し、「GUI によるエージェントのインストール」に進み、詳細なインストール手順を参照してください。
- setup スクリプトを呼び出して GUI 形式のインストールプログラムを起動します。
# ./setup
- インストールプログラムを利用するには、手順 3 で説明した方法で JAVA_HOME 変数を正しく設定する必要があります。JAVA_HOME 変数が正しく設定されていない状態で setup スクリプトを実行すると、JAVA_HOME の正しい値を入力するように求められます。
Enter JAVA_HOME location (Enter "." to abort):
インストールプログラムの起動に使う JDK インストールディレクトリの完全パスを入力します。インストールを中止するときは、ピリオド (.) を入力します。
- GUI 形式のインストールプログラムをコンソールに表示するには、シェルの DISPLAY 環境変数を正しく設定する必要があります。DISPLAY 環境変数が正しく設定されていない状態で setup スクリプトを実行すると、DISPLAY の正しい値を入力するように求められます。
Windows 2000 Server でのインストールプログラムの起動
Windows プラットフォーム用の WebLogic Server 6.1 SP2 向け Sun ONE Identity Server ポリシーエージェントのバイナリファイルは、zip 形式で圧縮されています。WebLogic Server をインストールしたマシンにこの圧縮ファイルをコピーし、次の手順を実行してインストールプログラムを起動します。
- インストールプログラムを実行するには、管理者特権が必要です。管理者特権がない場合は、管理者としてログオンするか、マシンまたはドメインのシステム管理者に依頼して、使用アカウントに適切な権限を付与してもらいます。
- Zip ユーティリティを使ってエージェントのバイナリファイルを適切な場所に解凍します。これにより、インストールプログラムの起動に使われる 2 種類の実行可能ファイル、setup.bat および setup.exe が生成されます。それぞれのファイルは、異なる方法でインストールプログラムを起動します。インストール要件に合わせていずれかのファイルを使用することができます。
注 agent_WINNT.class ファイルを使ってエージェントをインストールすることもできます。このファイルは、バイナリファイルを解凍したディレクトリにあります。
setup.bat の使用
setup.bat ファイルを使ってインストールプログラムを起動するには、バージョン 1.3.1 以降の JDK をシステムパスから利用できる必要があります。これは、コマンドプロンプトウィンドウで次のコマンドを実行することで確認できます。
C:¥> java -version
java version 1.3.1_02
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02)
Java HotSpot(TM) Client VM (build 1.3.1_02-b02, mixed mode)
必要なバージョンの JDK をシステムパスから利用できない場合は、WebLogic Server 6.1 SP2 サーバに付属する JDK を使用することができます。これは次の場所にあります。
WebLogic_Install_Dir¥bea¥jdk131
setup.bat を実行するときは、コマンドプロンプトウィンドウでファイルが保存されている場所まで移動してからファイル名を入力するか、Windows Explorer 上でファイルをダブルクリックします。たとえば、C:¥>setup.bat と入力します。
インストールプログラムには、グラフィカルユーザインタフェース (GUI) とコマンド行インタフェースが用意されています。GUI 形式のインストールプログラムを起動するときは、上で説明したように、コマンドプロンプトウィンドウで setup.bat ファイルを呼び出すか、Windows Explorer 上でファイルをダブルクリックします。コマンド行形式のインストールプログラムを起動するときは、次のように、setup.bat スクリプトに -nodisplay という引数を指定して実行します。
C:¥>setup.bat -nodisplay
setup.exe の使用
setup.exe を使う場合は、適切なバージョンの JDK を環境パスに含める操作は必要ありません。このプログラムは、最初に適切なバージョンの JDK をシステムから検索し、見つかった JDK を使用します。適切なバージョンが見つからなかった場合は、必要なランタイムをインストールした上でインストールプログラムを起動します。
setup.exe を実行するときは、コマンドプロンプトから呼び出すか、Windows Explorer 上でファイルをダブルクリックします。setup.exe を使って起動できるのは、GUI 形式のインストールプログラムだけです。
注 setup.exe を使ってコマンド行形式のインストールプログラムを起動することはできないので、この形式のインストールプログラムが必要な場合は、setup.bat を使うことをお勧めします。
HP-UX 11 でのインストールプログラムの起動
HP-UX 11 プラットフォーム用の WebLogic Server 6.1 SP2 向け Sun ONE Identity Server ポリシーエージェントのバイナリファイルは、tar-gzip 形式で圧縮されています。このファイルを WebLogic Server がインストールされているマシンにコピーします。次の手順を実行して、インストールプログラムを起動します。
- root としてログインします。
- 次のコマンドを使ってバイナリファイルを解凍します。
# gzip -dc j2eeagents-2.0-domestic-us.hppa1.0-hp-hpux11.00.tar.gz | tar xvf -
- JAVA_HOME 環境変数をバージョン 1.3.1 以降の JDK に設定します。必要なバージョンの JDK がシステムに用意されていない場合は、WebLogic Server 6.1 SP2 サーバに付属する JDK を使用します。JDK は、次の場所に保存されています。
WebLogic_Install_Dir/bea/jdk131
- インストールプログラムには、グラフィカルユーザインタフェース (GUI) とコマンド行インタフェースが用意されています。ほとんどの場合、エージェントのインストールには GUI 形式のインストールプログラムを使います。ただし、リモートサーバの telnet セッションでインストールを行う場合にウィンドウ機能を利用できないときは、コマンド行形式のインストールプログラムを使ってエージェントをインストールすることをお勧めします。このインストールプログラムを起動するには、次のコマンドを実行します。
# ./setup -nodisplay
ただし、GUI 形式のインストールプログラムを利用する場合は、GUI プログラムウィンドウが正しいコンソールに表示されるように DISPLAY 環境変数を設定する必要があります。
注 -nodisplay オプションを指定してコマンド行形式のインストールプログラムを使用する場合は、次の手順を省略し、インストール手順を詳しく説明している次の項に進んでください。
- setup スクリプトを呼び出して GUI 形式のインストールプログラムを起動します。
# ./setup
- インストールプログラムを利用するには、手順 3 で説明した方法で JAVA_HOME 変数を正しく設定する必要があります。JAVA_HOME 変数が正しく設定されていない状態で setup スクリプトを実行すると、JAVA_HOME の正しい値を入力するように求められます。
Enter JAVA_HOME location (Enter "." to abort):
インストールプログラムの起動に使う JDK インストールディレクトリの完全パスを入力します。インストールを中止するときは、ピリオド (.) を入力します。
- GUI 形式のインストールプログラムをコンソールに表示するには、シェルの DISPLAY 環境変数を正しく設定する必要があります。DISPLAY 環境変数が正しく設定されていない状態で setup スクリプトを実行すると、DISPLAY の正しい値を入力するように求められます。
Please enter the value of DISPLAY variable (Enter "." to abort):
上記プロンプトに DISPLAY 変数の正しい値を入力します。インストールを中止するときは、ピリオド (.) を入力します。
GUI によるエージェントのインストール
インストールプログラムを起動すると、開始画面が表示されます。質問に答えて、「Next」をクリックして画面を切り替えます。
- ライセンス契約書を確認してください。インストールを持続するときは、「Yes (Accept License)」をクリックします。
- 「Select Installation Directory」画面では、インストール先のパスを入力します。
デフォルトとは異なるディレクトリにエージェントをインストールする場合は、「Browse」ボタンをクリックしてディレクトリを選択します。適切なディレクトリを選択したら、「Next」をクリックして次の画面に進みます。
注 システムに存在しないディレクトリを指定すると、新しいディレクトリを作成するかどうか確認メッセージが表示されます。「Create Directory」ボタンをクリックして新しいディレクトリを作成するか、「Choose another Directory」ボタンをクリックして別のディレクトリを選択します。
- 「Select an Agent」画面では、コンポーネント名のチェックボックスを選択してインストールするコンポーネントを指定します。利用できるコンポーネントは、「Identity Server Policy Agent for WebLogic Server 6.1 SP2」だけです。これはデフォルトで選択されています。
図 7-1    コンポーネント選択画面
![]()
- 「Sun ONE Identity Server Information」画面では、Sun ONE Identity Server に関する次の情報を入力し、「Next」をクリックします。
図 7-2    「Sun ONE Identity Server Information」画面
![]()
Sun ONE Identity Server Host: Sun ONE Identity Server がインストールされているシステムの完全指定ホスト名を入力します。
Sun ONE Identity Server Port: Sun ONE Identity Server サービスを実行する Web サーバのポート番号を入力します。
Sun ONE Identity Server プロトコル : エージェントが Sun ONE Identity Server サービスとの通信に使うプロトコルを選択します。これは、HTTP または HTTPS のいずれかです。
Sun ONE Identity Server Deployment URI: Sun ONE Identity Server サービスへのアクセスに使う URI を入力します。
amAdmin Password: amAdmin ユーザのパスワードを入力します。
Re-enter Password: 確認のために amAdmin ユーザのパスワードをもう一度入力します。
- 「Directory Server Information」画面では、Sun ONE Identity Server サービスと関連付けられたディレクトリサーバに関する次の情報を入力します。
図 7-3    「Directory Information」画面
![]()
Directory Host: ディレクトリサーバをインストールしたシステムの完全指定ドメイン名を入力します。
Directory Port: ディレクトリサーバが使うポートの番号を入力します。
Root Suffix: ディレクトリサーバに適用されるルートの接尾辞を入力します。
Installation Organization: Sun ONE Identity Server のインストール時に指定した組織名を入力します。
- 「WebLogic Server Details」画面では、エージェントをインストールする WebLogic Server に関する次の情報を入力します。
図 7-4    「WebLogic Server Details」画面
![]()
WebLogic Startup Script: WebLogic Server の起動に使うスクリプトの場所を完全パスで指定します。Solaris プラットフォームの WebLogic Server 起動スクリプトは、WebLogic Server の起動に使うシェルスクリプトです。Windows プラットフォームでは、CMD スクリプトが使用されます。このスクリプトは、次のディレクトリにあります。
/WebLogic_Install_Dir/bea/wlserver6.1/config/server-domain-name/
WebLogic JAVA_HOME directory: WebLogic Server が使う JDK をインストールするホームディレクトリを完全パスで指定します。WebLogic JAVA_HOME ディレクトリは、WebLogic Server が使う JDK のインストールを参照します。通常は、次のディレクトリを示す完全パスが使われます。
/WebLogic_Install_Dir/bea/jdk131
このディレクトリの場所がわからない場合は、WebLogic Server の起動に使われる WebLogic 起動スクリプトを開き、このファイルに指定されている JAVA_HOME 変数の値を確認します。
警告
- インストールプログラムは WebLogic Server の起動スクリプトを変更し、WebLogic CLASSPATH に特定のライブラリを指定します。また、Java 仮想マシン上の WebLogic Server の起動クラスをロードするコマンドに必要なパラメータを追加します。WebLogic Server の起動スクリプトに誤った値を指定すると、必要なクラスとパラメータが追加されず、エージェントが正しく動作しないため、WebLogic Server を利用できなくなることがあります。このような問題を避けるため、WebLogic Server の起動スクリプトには正確な値を指定してください。詳細は、「付録 A」を参照してください。
- インストールプログラムは、WebLogic Server が使用する JDK に拡張機能を追加します。これは、エージェントの実行に必要な機能です。この拡張機能は、前述の WebLogic JAVA_HOME の値が示すディレクトリにインストールされます。値が誤っていたり、WebLogic Server が使わない JDK が指定されている場合は、エージェントが正しく動作しないため、WebLogic Server を利用できなくなることがあります。このような問題を避けるため、WebLogic JAVA_HOME には正確な値を指定してください。
- 「Agent Configuration Details」画面では、エージェントが正しく機能するために必要な設定情報を入力します。
注 この手順を実行する前に、「重要なヒント」をお読みください。
図 7-5    「Agent Configuration Details」画面
![]()
Audit Log File: エージェントが監査メッセージの記録に使うログファイルの完全パスを入力します。
Enable Audit log file rotation: 監査ログファイルのローテーションを有効にする場合に選択します。
Enable Console Integration: Sun ONE Identity Server と WebLogic Server の管理コンソールをコンソールレベルで統合する場合に選択します。
Host URL: 必要に応じてユーザをリダイレクトするためにエージェントがベース URL として使う有効な URL を入力します。この値を空白のまま残すことはできません。エージェントが有効なサーバの完全指定のドメイン名を入力する必要があります。たとえば、http://www.mycompany.com:80/ という URL でアクセスできる WebLogic Server にエージェントがインストールされている場合は、「Host URL」の値も http://www.mycompany.com:80/ となります。
Login Attempt Limit: ユーザが特定の URL へのアクセスに連続して失敗した場合、セキュリティ上の目的から何回続けて失敗したらそのユーザのアクセスを一時的に拒否するかを指定します。この機能を無効にするには、0 を指定します。
Enable Not-Enforced List Cache: 不適用リストの評価結果をキャッシュする場合に選択します。
Number of Entries in Cache: 特定のインスタンスについて、キャッシュに保持できるエントリ数を指定します。
Cache Expiration Time: 不適用リストのキャッシュに追加されたエントリがキャッシュ内に存在できる最大時間を秒単位で指定します。
Enable LDAP Attribute Headers: 現在のユーザに関連する LDAP 属性を HTTP ヘッダーに渡す場合に選択します。
重要なヒント
- 監査ログファイルは、エージェントに不可欠なものです。システムに存在しないファイルの名前を監査ファイルとして指定することもできます。この場合、エージェントは最初の使用時にこのファイルと必要なディレクトリを作成します。反対に、エージェントが利用できる既存のファイルの名前を指定することもできます。ただし、エージェントは WebLogic Server と同じプロセスで実行されるので、WebLogic Server プロセスには適切な書き込みアクセス権が設定されている必要があります。この設定に誤りがあると、エージェントが正しく動作しないため、WebLogic Server を利用できなくなることがあります。
- コンソールを統合すると、Identity Server 側のユーザ、ロール、およびロールに関連づけられているユーザに関する情報を WebLogic Server の管理コンソール側でも確認できるようになります。ユーザとロールに関する情報が WebLogic Server のコンソールにアクセスできる管理者にも開示されることになるので、この機能を有効にするときは注意が必要です。
- 適切な証明情報のない要求を受け取ると、エージェントはそのユーザを Sun ONE Identity Server の認証サービスにリダイレクトします。このリダイレクトと同時に、エージェントは元の要求に関する情報も認証サービスに渡します。この情報は、ユーザを元の要求先に再リダイレクトするときに使用されます。この要求には、ユーザがアクセスしようとしていた Web コンテナまたは Web サーバを識別するホスト URL が含まれます。このホスト URL は、この画面の「Host URL」の値として設定できます。ホスト URL は、エージェントが必要に応じてデフォルトの FQDN を指定する場合にも使用されます。たとえば、ユーザが http://mycompany/SomeApp/SomeModule という URL を入力し、ホスト URL に http://www.mycompany.com:80/ が指定されている場合は、エージェントは処理を進める前に、ユーザを http://www.mycompany.com:80/SomeApp/SomeModule にリダイレクトします。これにより、エージェントがユーザの特定に使用するドメイン固有の SSO Cookie を確実に利用できるようになります。ホスト URL の設定は、ユーザが最初にアクセスを試みる Web コンテナまたは Web サーバに関係なく、認証に成功した後にユーザを特定のホスト URL にリダイレクトするためにも利用されています。この設定はデフォルトの動作に優先して適用されますが、誤った値を指定した場合はアプリケーションにアクセスできなくなります。このため、別の値への変更が必要となる配備の場合以外は、インストールプログラムが設定するデフォルト値のまま残しておくことをお勧めします。
- インストールプログラムの画面でホスト URL を指定する場合は、画面に表示されるプロトコル、完全指定ホスト名、ポートが有効で、実際の配備に適していることを確認してください。たとえば、エージェントを使って SSL モードの WebLogic Server を保護するには、ホスト URL のプロトコルが「https」に設定されている必要があります。
- Login Attempt Limit 機能は、エンドユーザが認証要求を繰り返すことでアプリケーションサーバをオーバロード状態にするサービス拒否の攻撃から、ホストしているアプリケーションを守るために使われます。この機能を無効にすると、このような攻撃に対してはシステムのセキュリティは弱くなります。このため、この機能を無効にする具体的な必要性がない限り、この機能を有効にしておく必要があります。
- 設定されている不適用パターンルールのリストが非常に長い場合、エージェントは要求を認証なしに許可するかどうかについて、すべての要求に対してすべてのルールを評価する必要が生じます。ユーザ負荷が大きくなると、ルールの評価に要する時間も長くなり、システム全体のパフォーマンスも低下します。このような問題を避けるために、不適用リストのキャッシュを有効にすることをお勧めします。
- 不適用リストのキャッシュを有効にしても、キャッシュに残すエントリ数とキャッシュエントリの有効期限が適切に設定されていない場合はパフォーマンスが低下します。キャッシュの有効期限が必要以上に長い場合は、キャッシュがすぐにいっぱいになり、新しい要求は指定されるすべてのパターンルールと照合されるため、システムのパフォーマンス改善には結びつきません。キャッシュに残すエントリ数にかなり大きな値を設定すると、システムメモリの消費が大きくなり、パフォーマンスが低下します。これらの値を設定するときは事前に配備環境を慎重に検討し、システムの利用状況に応じて値を変更する必要があります。制御された環境で 2 つのパラメータにさまざまな値を設定してシステムをテストし、最適な値を見つけてから運用環境に配備することをお勧めします。
- エージェントは、メモリに 2 種類のキャッシュを保持します。1 つには適用と評価された URL が記録され、もう 1 つには不適用として評価された URL が記録されます。キャッシュに残すエントリ数とキャッシュの有効期限に指定した値は、どちらのキャッシュにも適用されます。キャッシュのサイズと有効期限を設定する場合は、この点に注意する必要があります。
- LDAP 属性をヘッダーに渡す機能を有効にすると、エージェントは、すべての要求について認証されたユーザに関連する LDAP 属性を検索し、それを要求のヘッダー情報に追加する必要があります。この機能は、配備したアプリケーションがビジネスロジックを実装する上で、これらのヘッダー情報の値を必要とする場合にだけ有効にしてください。特に必要がない場合にこの機能を有効にすると、システムのパフォーマンスが低下し、目的の機能を果たせなくなります。
- インストール時に設定したパラメータは、AMAgent.properties ファイルを編集することで後から変更できます。「エージェントの設定」を参照してください。
- 「Summary of all the selections」画面では、エージェントに設定したインストールオプションを確認できます。変更が必要な場合は、「Back」をクリックします。変更の必要がない場合は、「Next」をクリックして処理を続行します。
図 7-6    「Summary of all the selections」画面
![]()
- 「Ready to Install」画面では、「Install Now」ボタンをクリックしてインストールを開始します。
- インストールプログラムがシステムに変更を加え始めると、進捗状況が「Install Progress」画面に表示されます。必要に応じて「Stop」ボタンをクリックすることで、このプロセスを中断できます。
注 インストールを中断すると製品が部分的にインストールされ、アンインストールできなくなることがあり、WebLogic Server を利用できなくなることがあります。このプロセスを中断しないことを強くお勧めします。どうしても必要な場合にだけプロセスを中断してください。
- 「Installation Summary」画面で、「Details」をクリックすると、インストール中に処理された設定情報の詳細を参照できます。「Exit」をクリックしてプログラムを終了します。
注 インストールの状態が「Failed」と表示されるときは、「Details」ボタンをクリックしてインストールログファイルの内容を確認し、問題のあったタスクを特定します。この場合、エージェントをアンインストールし、失敗の原因を解決した上で再度インストールを実行できます。
インストールが完了したら、WebLogic Server と配備されるアプリケーションを適切に設定します。詳細については、次の節で説明します。
WebLogic Server の設定
WebLogic Server 6.1 SP2 用の Sun ONE Identity Server ポリシーエージェントをシステムにインストールしたら、エージェントの一部として提供されるエージェントレルムを使って WebLogic Server を設定します。
エージェントレルムのインストール
エージェントレルムは、WebLogic Server 管理コンソールを使って WebLogic Server に追加されるカスタムセキュリティレルムです。ここでは、エージェントレルムを WebLogic Server に追加する手順について説明します。ここに示す情報は、エージェントレルムのインストールだけを目的としており、WebLogic Server のマニュアルに記載されている情報に代わるものではありません。WebLogic カスタムレルムの詳細については、次の Web サイトにある WebLogic Server のマニュアルを参照してください。http://www.bea.com
エージェントレルムをインストールするには、次の手順を実行する必要があります。
エージェントのカスタムレルムの作成
WebLogic Server にエージェントレルムをインストールするために、カスタムレルムを作成するには、次の手順に従います。
- WebLogic Server の管理コンソールにログオンします。コンソールにログオンするには、設定されているシステムユーザ名とパスワードを入力します。
- 管理コンソールの左ペインで、「+」記号をクリックして「Security」ノードを展開します。
- 左ペインの「Security」ノードの下に表示される「Realms」をクリックします。システムで利用できるレルムのリストが右ペインに表示されます。
- 右ペインで、「Configure a new Custom Realm」というリンクをクリックします。新規作成するカスタムレルムに関する情報を入力するための書式が表示されます。
- この書式に次の情報を入力し、「Create」をクリックします。
Name: Agent Realm
Realm Class Name: com.iplanet.amagent.weblogic.realm.AgentRealm
- 新しいレルムを作成したら、WebLogic Server を再起動します。
WebLogic Server を再起動したら、管理コンソールから「Security」 > 「Realms」ノードに移動します。右ペインのレルムのリストには、新たに作成したエージェントレルムが表示されます。
エージェントレルムのキャッシングレルムの作成
WebLogic Server にエージェントレルムをインストールするために、キャッシングレルムを作成するには、次の手順に従います。
- WebLogic Server の管理コンソールにログオンします。コンソールにログオンするには、設定されているシステムユーザ名とパスワードを入力します。
- 管理コンソールの左ペインで、「+」記号をクリックして「Security」ノードを展開します。
- 左ペインの「Security」ノードの下に表示される「Caching Realms」をクリックします。システムで利用できるキャッシングレルムのリストが右ペインに表示されます。
- 右ペインで、「Configure a new Caching Realm」というリンクをクリックします。新規作成するキャッシングレルムに関する情報を入力するための書式が表示されます。
- この書式に次の情報を入力します。
Name: Agent Caching Realm
Basic Realm: プルダウンメニューからエージェントレルムを選択します
- 「Create」ボタンをクリックします。右ペインの表示が更新され、新しいキャッシングレルムが作成されます。右ペインには、新たに作成したキャッシングレルムの設定が表示されます。
- 右ペインで、すべてのキャッシング属性を無効にします。次の手順を行います。
- 「ACL」タブをクリックします。ACL キャッシング属性が表示されます。
- 「Enable ACL Cache」の隣のチェックボックスからチェックマークを外します。
- 「Apply」ボタンをクリックします。
- 「Authentication」、「Groups」、「Users」、「Permissions」タブでもこの手順を繰り返します。「Enable Cache」のオプションからチェックマークを外し、「Apply」ボタンをクリックします。
- WebLogic Server を再起動します。
WebLogic Server を再起動したら、管理コンソールから「Security」 > 「Caching Realms」ノードに移動します。右ペインのキャッシングレルムのリストには、新たに作成したエージェントキャッシングレルムが表示されます。
ファイルレルムの設定
エージェントキャッシングレルムを作成したら、WebLogic Server がこのキャッシングレルムを使うように設定します。この処理は、ファイルレルムを設定することで行います。次の手順は、ファイルレルムの設定方法を示しています。
- WebLogic Server の管理コンソールにログオンします。
- 左ペインの「Security」ノードをクリックします。これにより、コンソールの右ペインには WebLogic Server のセキュリティ設定が表示されます。
- 右ペインの「Filerealm」タブをクリックします。現在のファイルレルムの詳細がコンソールに表示されます。
- 右ペインに表示される書式で、「Caching Realm」の下のプルダウンメニューから「Agent Caching Realm」を選択します。
- 「Apply」ボタンをクリックします。
- WebLogic Server を再起動します。
ファイルレルムが設定され WebLogic Server が再起動すると、エージェントレルムのインストールは完了です。
インストールのトラブルシューティング
ファイルレルムを設定した後で、WebLogic Server が正しく起動しなくなった場合は、次の理由が考えられます。
- エージェントのインストール時に WebLogic Server の起動ファイルが正しく変更されなかった
この問題は、エージェントのインストール前に WebLogic Server の起動ファイルを修正した場合、またはこのファイルの変更に必要な権限がインストールプログラムに設定されていなかった場合に生じます。どちらの場合も、付録 A に記載されている情報を参照して起動ファイルを手動で変更することで問題を解決できます。
- エージェントのインストールプログラムが、WebLogic Server の使用に必要な JDK の拡張機能をインストールできなかった
これを確認するには、まず、WebLogic Server の起動ファイルを確認し、WebLogic Server が使う JDK の場所を特定します。これは、WebLogic Server 起動ファイルの JAVA_HOME の値から確認できます。この値が示すディレクトリに必要な拡張機能がインストールされているかどうかを調べます。必要に応じて、付録 A に記載されている手順に従って拡張機能を手動でインストールします。
WebLogic Server が正しく起動しない理由が上記の原因では説明できない場合は、重大なインストールエラーが発生した可能性があります。この問題を解決するには、システムからエージェントをアンインストールします。これにより、WebLogic Server の状態はエージェントをインストールする前の状態に戻ります。
アプリケーションの設定
WebLogic Server 6.1 SP2 用 Sun ONE Identity Server ポリシーエージェントのエージェントレルムコンポーネントは、Sun ONE Identity Server の各種主体との実行時マッピングを提供します。ホストしているアプリケーションでは、現在認証されているユーザが特定リソースへのアクセスを認証されているかどうか、または特定のロールのメンバーに含まれているかどうかを決定するために、セキュリティロールの抽象的な名前が使われます。この実行時評価は、Identity Server の認証サービスによってユーザが Identity Server 主体として認証された場合にだけ行われます。ユーザが適切に認証されない場合は、エージェントレルムが行うこの評価の結果はすべてネガティブなものとなり、要求するリソースに対するユーザのアクセスは拒否されます。
エージェントフィルタは、特定のアプリケーションリソースにアクセスしようとするユーザに認証を適用し、必要に応じて主体とのマッピングを正しく評価するエージェントレルムコンポーネントを有効にします。
WebLogic Server のコアとしてインストールされるエージェントレルムとは異なり、エージェントフィルタは Identity Server によって保護される配備済みアプリケーションにインストールされます。WebLogic Server では、すべてのアプリケーションがエージェントによる保護を必要とします。エージェントによって保護されていないアプリケーションを、エージェントレルムがインストールされている WebLogic Server に配備しないことをお勧めします。これは、このようなアプリケーションが独自のセキュリティ要件を個別に適用することを防ぐためです。このようなアプリケーションが実行するセキュリティ評価がエージェントレルムに影響するため、動作不良の原因となることがあります。
アプリケーションへのエージェントフィルタコンポーネントのインストール
エージェントフィルタは、保護が必要なアプリケーションの配備記述子を変更するだけでインストールできます。次の手順は、特定のアプリケーションにエージェントフィルタコンポーネントをインストールする方法を説明しています。
- アプリケーションが WebLogic Server に配備されている場合は、WebLogic Server の管理コンソールまたは WebLogic Server の配備ツールを使って削除する必要があります。
- このアプリケーションにエージェントフィルタをインストールするときに内容が変更されるので、配備記述子のバックアップを作成しておくことをお勧めします。
- アプリケーションの web.xml 配備記述子を編集します。フィルタはサーブレットの仕様 2.3 で取り上げられた概念であるため、配備記述子がサーブレット 2.3 互換の配備記述子を認識できるように、web.xml の DOCTYPE 要素を変更する必要があります。DOCTYPE 要素を次のように変更します。
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
- DOCTYPE 要素を変更したら、配備記述子にフィルタ要素を追加します。web.xml 配備記述子の web-app 要素の description 要素の直後にフィルタ要素 (filter) とフィルタマッピング要素 (filter-mapping) を追加します。次に、フィルタ要素とフィルタマッピング要素を追加した web.xml の例を示します。
<web-app>
<display-name>...</display-name>
<description>...</description>
<filter>
<filter-name>Agent</filter-name>
<display-name>Agent</display-name>
<description>SunTM ONE Idenitity Server Policy Agent for WebLogic 6.1 SP2</description>
<filter-class>com.iplanet.amagent.weblogic.filter.AgentFilter< /filter-class>
</filter>
<filter-mapping>
<filter-name>Agent</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...
...
</web-app>
- web.xml 配備記述子を変更して、新しい DOCTYPE 要素とフィルタ要素を反映させると、エージェントフィルタはアプリケーションに追加されます。
ロールと主体のマッピングの作成
アプリケーションを設定してエージェントフィルタをインストールすると、エージェントフィルタが認証を適用するようになり、ロールと主体のマッピングがエージェントレルムによって正しく解決されるようになります。ただし、ホストするアプリケーションが実行時に利用できるように、このマッピングを事前に作成しておく必要があります。
このマッピングの作成方法には、次の 2 つがあります。
- WebLogic Server 固有の配備記述子を編集する
WebLogic Server 固有の配備記述子を編集して、ロールと主体のマッピングを作成できます。この配備記述子は、weblogic.xml ファイルと weblogic-ejb-jar.xml ファイルにあります。これらの記述子を編集してロールと主体のマッピングを作成する方法について詳細は、WebLogic Server のマニュアルを参照してください。このようなマッピングを作成する記述子の例については、付録 C を参照してください。
- WebLogic Server の管理コンソールを使用する
WebLogic Server の管理コンソールを使って、配備済みアプリケーションの配備記述子を編集し、ロールと主体のマッピングを作成することができます。この機能を利用するには、アプリケーションが配備され、WebLogic Server が稼働している必要があります。配備したアプリケーションのマッピングを管理コンソールを使って作成する方法については、WebLogic Server のマニュアルを参照してください。
アプリケーション固有のエージェントの設定
配備したアプリケーションを、パブリックな部分と、各種アクセス制限によって保護される部分に区分することがよくあります。ほとんどの場合は、アプリケーションのパブリック部分にはあらゆるユーザがアクセスでき、保護された部分には登録ユーザだけがアクセスできます。Identity Server の認証サービスによる認証を必要とせずに、アプリケーションのパブリック部分に対してあらゆるユーザがアクセスできるようにエージェントを設定することができます。この情報は、次の場所に保存されているエージェントの設定プロパティファイルに記録されます。
Agent_Install_Dir/wlAgent/amAgent/config/AMAgent.properties
このファイルを編集して、エージェントの一般的な設定と、各アプリケーションに固有の設定を行うことができます。
アプリケーション固有の不適用リストの設定
アプリケーションの一部に対してあらゆるユーザがアクセスできるようにするには、特定のアプリケーション専用のエントリを AMAgent.properties ファイルに追加する必要があります。このプロパティを設定するエントリはアプリケーション不適用リストと呼ばれ、次の文字列によって識別されます。
com.sun.am.policy.config.filter.AppName.notEnforcedList[index]=pattern
エージェントが実行時にこのプロパティを使うには、正しい書式で設定する必要があります。次のように、この文字列の中でイタリック体で表示されている項目は、適切な値に置き換える必要があります。
AppName: この文字列には、配備されたアプリケーションのコンテキストパスから最初のスラッシュ (/) を除いた部分を入力します。コンテキストパスは、ユーザがアクセスしようとしているアプリケーションの識別に使われる URI の最初の部分です。たとえば、ユーザが次の URL を使ってアプリケーションにアクセスしているとします。
http://myserver.mydomain.com/SomeApp/index.html、または
http://myserver.mydomain.com/SomeApp/SomeModule/doSometing.jsp
どちらの場合も、AppName は SomeApp となります。
index: これは配備するアプリケーションごとに割り当てられる 0 以上の整数で、アプリケーション不適用リスト内の他のエントリと同じ値にすることはできません。たとえば、コンテキストパスが /SomeApp のアプリケーションのアプリケーション不適用リストでは、次の 2 つのエントリが考えられます。
com.sun.am.policy.config.filter.SomeApp.notEnforcedList[0]=/SomeApp/public/*
com.sun.am.policy.config.filter.SomeApp.notEnforcedList[1]=/SomeApp/images/*
pattern: これは、認証を適用せずにアクセスを許可するかどうかを評価するときに、要求と照合されるパターン文字列です。パターン文字列には、/SomeApp/public/RegistrationServlet のような具体的な URI だけでなく、ワイルドカード文字「*」を使って、要求 URI 中の 0 文字以上の一致を表わす汎用パターンも指定できます。たとえば、/SomeApp/public/* を指定すると、/SomeApp/public/ から始まるすべての URI と一致します。
このプロパティを使うことで、エージェントが不適用として扱うパターン文字列と URI を数多く設定できます。また、設定しないこともできます。言い換えれば、これらのパターンと一致するユーザ要求は、認証の適用なしにアクセスが許可されます。
アプリケーション固有のアクセス拒否 URI の設定
「Login Attempt Limit」オプションが有効な場合 (この機能の設定方法については「エージェントの設定」を参照)、特定の状況でエージェントはユーザからのアクセスをブロックします。この場合のエージェントのデフォルトの動作は、「HTTP Status Code 403 Forbidden」の送信です。このような状況では、Web コンテナは事前に設定されている「アクセス禁止」画面を表示するか、単に状態コードを返します。コードが返された場合は、ユーザのブラウザにはブラウザ独自のエラーメッセージが表示されます。これはエージェントのデフォルトの動作ですが、アクセスが拒否された場合に、指定した URI にあるアプリケーション固有のエラー画面が表示されるように変更することができます。
この処理は、AMAgent.properties ファイルの次のプロパティを設定して行います。
com.sun.am.policy.config.filter.AppName.accessDeniedURI=/URI to use
エージェントが実行時にこのプロパティを使うには、正しい書式で設定する必要があります。次のように、この文字列の中でイタリック体で表示されている項目は、適切な値に置き換える必要があります。
AppName: この文字列には、配備されたアプリケーションのコンテキストパスから最初のスラッシュ (/) を除いた部分を入力します。コンテキストパスは、ユーザがアクセスしようとしているアプリケーションの識別に使われる URI の最初の部分です。たとえば、ユーザが次の URL を使ってアプリケーションにアクセスしているとします。
http://myserver.mydomain.com/SomeApp/index.html、または
http://myserver.mydomain.com/SomeApp/SomeModule/doSometing.jsp
どちらの場合も、AppName は SomeApp となります。
URI to use: これは、ユーザからの要求をブロックしたときに表示するページの場所を示す、アプリケーション固有の URI です。この URI には、スタティックな HTML ページ、JSP、またはサーブレットを指定できます。ただし、この URI はアプリケーションの一部である必要があります。言い換えれば、この URI は次の文字列から始まる必要があります。
/AppName/rest of the URI
特殊なケース : デフォルトの Web アプリケーション
WebLogic Server のデフォルトの Web アプリケーションは、要求される URI にコンテキストパスが含まれていなくてもアクセスできます。たとえば、次のような URI でもデフォルトの Web アプリケーションにアクセスできます。
http://myserver.mydomain.com/index.html
この URL には関連するコンテキストパスが含まれていません。
このようなアプリケーション用に、エージェントには、エントリがデフォルトの Web アプリケーションに固有のものであるかどうかを識別する方法が用意されています。識別するには、次の手順を実行します。
- 次のプロパティに、デフォルトの Web アプリケーションを示す名前を設定します。
com.sun.am.policy.config.filter.defaultWebAppName= DefaultWebApp
- 次に、この名前を使って、次に示すようにアプリケーション不適用リストとアプリケーションのアクセス拒否 URI を指定します。
com.sun.am.policy.config.filter.DefaultWebApp.notEnforcedList[0]=/index.html
com.sun.am.policy.config.filter.DefaultWebApp.notEnforcedList[1]=/about.html
com.sun.am.policy.config.filter.DefaultWebApp.accessDeniedURI=/URLAccessDenied.html
この方法により、関連するコンテキストパスを持たないデフォルトの Web アプリケーションも、コンテキストパスを持つ通常のアプリケーションと同様に設定することができます。また、デフォルトの Web アプリケーションにも、通常のアプリケーションと同様に不適用リストのエントリや、アクセス拒否 URI を指定できます。ただし、デフォルト Web アプリケーションのアクセス拒否 URI と不適用リストのエントリには、/DefaultWebApp/ から始まるパスを設定できません。これは、このようなパスは現実にはアプリケーションサーバに存在しないためです。この場合、実際のコンテキストパスの設定は空白となるため、AppName を指定します。これは、デフォルトの Web アプリケーションのプロパティを設定できるように用意されているプロパティであり、値の指定には使用できません。
エージェントのグローバル設定
グローバル不適用リストを設定するには、AMAgent.properties ファイルを使います。この設定は、サーバに配備され、保護されているすべてのアプリケーションに適用されます。このリストは、次のプロパティを使って設定されます。
com.sun.am.policy.config.filter.global.notEnforcedList[index]= pattern
pattern には、具体的な URI、または要求 URI 中の 0 文字以上の一致を検索するように、ワイルドカード文字「*」を使ったパターンを指定できます。
index は 0 以上の整数値で、他のエントリの値と同じ値にすることはできません。
不適用リストの使用について
アプリケーションをパブリックドメインと保護ドメインに分割する上で、不適用リストを利用するととても便利です。しかし、適切に使用しない場合は悪影響が生じることがあります。
たとえば、サーブレットにアクセスするために必要な URI が不適用リストに設定されている一部のパターンと一致する場合、エージェントフィルタは、そのサーブレットにアクセスしようとしているユーザに認証を適用しません。しかし、ロールと主体のマッピングを使って、このサーブレットがエージェントによって保護されている Enterprise JavaBean コンポーネントにアクセスすることも考えられます。この場合、ユーザは認証されていないため、保護されているコンポーネントへのアクセスによって、アプリケーションサーバはセキュリティ違反の例外を生成します。このため、不適用リストにエントリを追加する前に、そのエントリがいかなる場合も保護されているリソースを含まないこと、および保護されているリソースにアクセスしないことを確認する必要があります。
不適用リストの使用でもう一つ特徴的なのは、画像の取り扱いです。一般に、Web ページにはボタン、プレースホルダ、バナー、ロゴなど、さまざまな目的で多数の画像が使われています。ユーザがこのページにアクセスするたびに、ブラウザはアプリケーションサーバに要求を発行し、そのページの画像を取得します。このような要求は、それぞれがクライアントからの個別の要求として扱われ、その他の要求と同様に、認証の評価メカニズムと不適用リストのチェックの対象となります。これにより、1 つのページを表示するために、1 つのクライアントからサーバに対して複数の呼び出しが行われます。このような要求に個別に認証を適用するオーバヘッドを考えると、システム全体に与える影響も大きなものとなります。この問題を解決するには、すべての画像と一致するグローバル不適用リストエントリを作成します。
次に例を示します。
com.sun.am.policy.config.filter.global.notEnforcedList[0]=*.gif
com.sun.am.policy.config.filter.global.notEnforcedList[1]= /images/*
これは、.gif で終わるすべての要求 URI、および /images/ から始まるすべての URI に対して認証が適用されないことを意味します。ユーザ負荷が大きな環境では、こうすることでシステムのパフォーマンスを大幅に改善できます。
エージェントの設定
WebLogic Server 6.1 SP2 用 Sun ONE Identity Server ポリシーエージェントの中心的な設定は、次のディレクトリに保存されている AMAgent.properties ファイルを使って行われます。
Agent_Install_Dir/wlAgent/amAgent/config
このプロパティファイルには数多くの設定情報が含まれ、これを変更することで、配備環境に合わせてエージェントの動作をカスタマイズすることができます。
このファイルで設定できる内容は、次のカテゴリに分類されます。
次に、各カテゴリについて設定の詳細を説明します。
共通の設定
このカテゴリの設定は、エージェントの動作全体に適用される一般設定です。
組織名
キー : com.sun.am.policy.config.org
説明 : このプロパティは、Sun ONE Identity Server から主体を検索するときに使われる組織名を指定します。
有効な値 : Sun ONE Identity Server で組織名を表す文字列です。このプロパティは、エージェントのインストール時に設定され、特別に必要な場合を除いて変更の必要はありません。
例 : com.sun.am.policy.config.org=iplanet.com
ルートの接尾辞
キー : com.sun.am.policy.config.rootsuffix
説明 : このプロパティは、Sun ONE Identity Server から主体を検索するときに使われるルートの接尾辞を指定します。
有効な値 : Sun ONE Identity Server でルートの接尾辞を表す文字列です。このプロパティは、エージェントのインストール時に設定され、特別に必要な場合を除いて変更の必要はありません。
例 : com.sun.am.policy.config.rootsuffix=o=isp
ピープルコンテナレベル
キー : com.sun.am.policy.config.realm.peopleContainerLevel
説明 : このプロパティは、Sun ONE Identity Server から主体を検索するときに使われるピープルコンテナレベルを指定します。
有効な値 : Sun ONE Identity Server でピープルコンテナレベルを表す 0 以外の記号なし整数です。この値は、主体の検索に使われます。このプロパティは、エージェントのインストール時に設定され、特別に必要な場合を除いて変更の必要はありません。
例 : com.sun.am.policy.config.realm.peopleContainerLevel=1
監査の設定
このカテゴリの設定は、エージェントが使用する監査エンジンの設定だけに適用されます。
言語コード
キー : com.sun.am.policy.config.audit.localeLanguageCode
説明 : このプロパティは、監査ログメッセージのロケールを指定します。
有効な値 : localeLanguageCode には、有効な ISO 言語コードを設定する必要があります。このプロパティのデフォルト値は en です。
注 詳細については、次の Web サイトで ISO 639 仕様を参照してください。
例 : com.sun.am.policy.config.audit.localeLanguageCode=en
国コード
キー : com.sun.am.policy.config.audit.localeCountryCode
説明 : このプロパティは、監査ログメッセージのロケールを指定します。
有効な値 : localeCountryCode には、有効な ISO 国別コードを設定する必要があります。このプロパティのデフォルト値は US です。
注 詳細については、次の Web サイトで ISO 3166 仕様を参照してください。
例 : com.sun.am.policy.config.audit.localeCountryCode=US
監査ログファイル
キー : com.sun.am.policy.config.audit.logfile.name
説明 : このプロパティは、監査メッセージの記録に使われる監査ログファイルを指定します。
有効な値 : エージェントが監査メッセージの記録に使うログファイルの完全パスです。
注
例 : com.sun.am.policy.config.audit.logfile.name=/audit/agent.log
監査ログファイルのローテーションフラグ
キー : com.sun.am.policy.config.audit.logfile.rotate
説明 : このプロパティは、エージェントが監査ログファイルをローテーションするかどうかを指定します。
有効な値 : true または false。このプロパティのデフォルト値は false です。必要に応じて変更してください。
例 : com.sun.am.policy.config.audit.logfile.rotate=false
監査ログファイルローテーションサイズ
キー : com.sun.am.policy.config.audit.logfile.rotate.size
説明 : このプロパティは、監査ログファイルのおよそのサイズをバイト数で指定します。ログファイルのローテーションの必要性を評価するときに使われます。
有効な値 : ローテーションが必要なログファイルのサイズをバイト数で表す 0 以外の符号なし整数値です。このプロパティのデフォルト値は 52428800 バイト (50M バイト) です。必要に応じて変更してください。
例 : com.sun.am.policy.config.audit.logfile.rotate.size=52428800
注 監査ログファイルのローテーションフラグが false に設定されている場合は、このプロパティは使われません。
レルムの設定
このカテゴリの設定は、エージェントレルムコンポーネントの設定に使われます。
コンソールの統合を許可するフラグ
キー : com.sun.am.policy.config.weblogic.allowConsoleIntegration
説明 : このプロパティは、Sun ONE Identity Server と WebLogic Server のコンソールレベルの統合をエージェントレルムが許可するかどうかを指定します。
有効な値 : true または false
注
例 : com.sun.am.policy.config.weblogic.allowConsoleIntegration=true
SSO キャッシュのクリーンアップサイズ
キー : com.sun.am.policy.config.realm.ssoCacheCleanupSize
説明 : このプロパティは、エージェントレルムが SSO キャッシュに維持できるエントリの最大数を指定します。この値を超えるとクリーンアップが開始されます。
有効な値 : 任意の正の整数です。エージェントレルムの SSO キャッシュに保持されるエントリ数を表します。この値を超えると、システムのメモリ消費を最小限に抑え、メモリを適切に使用するようにクリーンアップが開始されます。
注
例 : com.sun.am.policy.config.realm.ssoCacheCleanupSize = 1000
SSO キャッシュクリーンアップのロック時間
キー : com.sun.am.policy.config.realm.ssoCacheCleanupLockTime
説明 : このプロパティは、直前のクリーンアッププロセスでメモリをまったく解放できなかった場合に、エージェントレルムが SSO キャッシュの次回のクリーンアッププロセスを開始するまでの待ち時間を秒単位で指定します。
有効な値 : 任意の正の整数値です。直前のクリーンアッププロセスによって適切な量のメモリを解放できなかった場合に、次回のクリーンアッププロセスを開始するまでの秒数を示します。
注
例 : com.sun.am.policy.config.realm.ssoCacheCleanupLockTime = 1200
SSO キャッシュクリーンの制限サイズ
キー : com.sun.am.policy.config.realm.ssoCacheCleanupBoundSize
説明 : このプロパティは、クリーンアッププロセスの実行時に確認される、エージェントレルム SSO キャッシュの最大エントリ数を指定します。このプロパティに適切な値を設定すると、キャッシュクリーンアップの実行時にシステムの応答時間が全体的に向上します。
有効な値 : 任意の正の整数値です。クリーンアップの実行時にクリーンアッププロセスが調べる SSO キャッシュ内のエントリ数を表します。この値は、com.sun.am.policy.config.realm.ssoCacheCleanupSize プロパティの値に関係なく設定できます。
注
例 :
com.sun.am.policy.config.realm.ssoCacheCleanupBoundSize = 50
グローバルフィルタの設定
このカテゴリの設定は、エージェントフィルタコンポーネントの設定に使われます。
SSO トークン名
キー : com.sun.am.policy.config.filter.ssoTokenName
説明 : このプロパティは、SSO トークンを表す Cookie の名前を指定します。
有効な値 : Sun ONE Identity Server の認証サービスが発行する SSO トークン Cookie の名前を表す文字列です。このプロパティは、エージェントのインストール時に設定され、特別に必要な場合を除いて変更の必要はありません。
例 : com.sun.am.policy.config.filter.ssoTokenName=iPlanetDirectoryPro
FQDN マップ
キー :
com.sun.am.policy.config.filter[invalid-name]
説明 : FQDN マップは、ホスト名の一部だけを指定したり、IP アドレスを入力した場合など、ユーザが保護されたリソースにアクセスするときに誤った URL を入力した場合にエージェントが対応するための簡単なマップです。
有効な値 : 有効な値は、無効な FQDN 値を対応する有効な値にマッピングするこのプロパティの構文に準拠している必要があります。
このプロパティを指定する書式は次のとおりです。
com.sun.am.policy.config.filter.fqdnMap[invalid-name]=valid-name
invalid-name は、ユーザが入力すると考えられる無効な FQDN ホスト名、valid-name はフィルタがユーザをリダイレクトする FQDN ホスト名です。
例 :
com.sun.am.policy.config.filter[myserver]=myserver.mydomain.com
com.sun.am.policy.config.filter[myserver.mydomain]=myserver.mydomai n.com
com.sun.am.policy.config.filter[IP]=myserver.mydomain.com
com.sun.am.policy.config.filter[invalid-name]=valid-name
ログイン URL
キー : com.sun.am.policy.config.filter.loginURL
説明 : このプロパティは、適切な証明情報を持たないユーザをエージェントが Sun ONE Identity Server の認証サービスにリダイレクトするときに使われるログイン URL を指定します。
有効な値 : 完全な URL を指定します。適切な証明情報を持たないユーザを Sun ONE Identity Server の認証サービスにリダイレクトする場合のリダイレクト先 URL として使われます。このプロパティは、エージェントのインストール時に設定され、特別に必要な場合を除いて変更の必要はありません。
例 : com.sun.am.policy.config.filter.loginURL=http://myserver.mydomain.com:58080/amserver/login
ホスト URL
キー : com.sun.am.policy.config.filter.hostURL
説明 : このプロパティは、ブラウザから発行された要求をエージェントが再構築するときに使われるホスト URL を指定します。この値は、認証後に Sun ONE Identity Server の認証サービスがユーザを元の要求先にリダイレクトするために使われます。
有効な値 : エージェントが介入できるように、ユーザのアクセス先となるホストの URL を指定します。この値は、このプロパティの書式に準拠する必要があります。このプロパティの値の書式は次のとおりです。
protocol://hostname.optional-sub-domain.domain:port
protocol には http または https を指定できます。
hostname.optional-sub-domain.domain には、エージェントが介入できるように、ユーザのアクセス先となるホストの名前を完全指定名で指定します。
port は、受信側 Web サーバが待機するポートの番号です。
指定しない場合は、エージェントは要求に含まれるホスト URL を使って再構築を試みます。
例 : com.sun.am.policy.config.filter.hostURL=http://www.iplanet.com:80
goto パラメータ
キー : com.sun.am.policy.config.filter.gotoParameter
説明 : このプロパティは、エージェントがユーザを適切な認証サービスにリダイレクトするときに使う goto パラメータの値を指定します。このパラメータの値は、認証サービスがユーザを元の要求先にリダイレクトするために使われます。
有効な値 : 認証サービスが認識できる goto パラメータの名前を示す文字列です。
例 : com.sun.am.policy.config.filter.gotoParameter=goto
ログイン試行制限
キー : com.sun.am.policy.config.filter.loginAttemptLimit
説明 : このプロパティは、1 回のブラウザセッションでユーザが実行できるログイン試行回数を指定します。
有効な値 : 0 を含む符号なし整数値です。これは、保護されているリソースにアクセスしようとするユーザが、ログインを何回試みることができるかを表します。
注
例 : com.sun.am.policy.config.filter.loginAttemptLimit=5
ログインカウンタの Cookie 名
キー : com.sun.am.policy.config.filter.loginCounterCookieName
説明 : このプロパティは、ユーザが試行し、ログインに失敗した回数の追跡に使われる Cookie の名前を指定します。
有効な値 : ユーザが試行し、ログインに失敗した回数を追跡するためにエージェントが発行する Cookie の名前を示す文字列です。このプロパティは、エージェントのインストール時に設定され、特別に必要な場合を除いて変更の必要はありません。
例 : com.sun.am.policy.config.filter.loginCounterCookieName=iPlanetLoginAttemptID
不適用リストキャッシュの有効化フラグ
キー : com.sun.am.policy.config.filter.notEnforcedList.cache
説明 : このプロパティは、システムのパフォーマンスを向上させるために、適用または不適用と評価された要求 URI をキャッシュするかどうかを指定します。
有効な値 : true または false。このプロパティのデフォルト値は true です。
例 : com.sun.am.policy.config.filter.notEnforcedList.cache=true
不適用リストのキャッシュサイズ
キー : com.sun.am.policy.config.filter.notEnforcedList.cacheSize
説明 : このプロパティは、エージェントが認証を適用しない URI のキャッシュと適用する URI のキャッシュに保持できるエントリの最大数を指定します。
有効な値 : 0 以外の符号なし整数値を指定します。実行時にキャッシュされる、認証が適用されない要求 URI と、認証が適用される要求 URI の数を表します。
注
例 : com.sun.am.policy.config.filter.notEnforcedList.cacheSize=1000
不適用リストキャッシュの有効期限
キー : com.sun.am.policy.config.filter.notEnforcedList.cacheTime
説明 : このプロパティは、新しいキャッシュエントリ用にリソースを解放できるように、キャッシュされたエントリをキャッシュから削除するかどうかを評価する場合に使用される時間を秒単位で指定します。
有効な値 : 0 以外の符号なし整数値を指定します。クリーンアップの実行時に適用され、エントリがキャッシュ内に存在できる時間を秒単位で表します。
注
例 : com.sun.am.policy.config.filter.notEnforcedList.cacheTime=60
LDAP 属性ヘッダーの有効化フラグ
キー : com.sun.am.policy.config.filter.enableLDAPAttributeHeaders
説明 : このプロパティは、現在の認証済みユーザに関連する LDAP 属性を使って、エージェントが HttpServletRequest を生成するかどうかを指定します。
有効な値 : true または false。このプロパティのデフォルト値は false です。必要に応じて変更してください。
例 : com.sun.am.policy.config.filter.enableLDAPAttributeHeaders=true
LDAP 属性のヘッダーマップ
キー : com.sun.am.policy.config.filter.ldapAttribute[attr-name]
説明 : このプロパティは、指定したヘッダー名で現在の認証済みユーザの LDAP 属性を生成することを指定します。
有効な値 : 有効な値は、このプロパティの構文に準拠している必要があります。指定する LDAP 属性は、有効な属性である必要があります。指定する HTTP ヘッダーの名前は、HTTP ヘッダーのネーミング規約に準拠している必要があります。このプロパティを指定する書式は次のとおりです。
com.sun.am.policy.config.filter.ldapAttribute[attr-name]=header-name
attr-name は、認証済みユーザを検索するための LDAP 属性の名前、header-name はこの値の格納に使われるヘッダーの名前です。
注
例 :
com.sun.am.policy.config.filter.ldapAttribute[cn]=CUSTOM-Common-Name
com.sun.am.policy.config.filter.ldapAttribute[ou]=CUSTOM-Organizati on-Unit
com.sun.am.policy.config.filter.ldapAttribute[o]=CUSTOM-Organization
com.sun.am.policy.config.filter.ldapAttribute[c]=CUSTOM-Country
com.sun.am.policy.config.filter.ldapAttribute[mail]=CUSTOM-Email
com.sun.am.policy.config.filter.ldapAttribute[employeenumber]=CUSTO M-Employee-Number
LDAP 日時ヘッダー属性の書式文字列
キー : com.sun.am.policy.config.filter.ldapAttributeDateHeaderFormat
説明 : このプロパティは、属性ルックアップの結果として生成される日付と時刻の書式を指定します。ヘッダーの日時の値を返す javax.servlet.http.HttpServletReqeust インタフェースの特殊な get メソッドを使う場合は、これを指定する必要があります。
有効な値 : 有効な java.text.SimpleDateFormat Time Format Syntax 文字列です。詳細は、次の Web サイトを参照してください。http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html
このプロパティのデフォルト値は、EEE, d MMM yyyy hh:mm:ss z です。必要に応じて変更してください。
注 このプロパティに無効な値を設定すると、アプリケーションが実行時例外をスローすることがあります。
例 :
com.sun.am.policy.config.filter.ldapAttributeDateHeaderFormat=
EEE, d MMM yyyy hh:mm:ss z認証セッションのバインドフラグ
キー : com.sun.am.policy.config.filter.authSessionBinding
説明 : このプロパティは、エージェントが認証にセッションバインドを適用するかどうかを指定します。
有効な値 : true または false。このプロパティのデフォルト値は false です。
例 : com.sun.am.policy.config.filter.authSessionBinding=false
SSO トークン URL のデコードフラグ
キー : com.sun.am.policy.config.filter.urlDecodeSSOToken
説明 : このプロパティは、SSO トークンを使う前に、エージェントによる URL デコードが必要であるかどうかを指定します。
有効な値 : true または false。このプロパティのデフォルト値は true です。
注 有効ではあるが、適切でない値をこのプロパティに設定すると、ユーザがアプリケーションにアクセスできなくなることがあります。
例 : com.sun.am.policy.config.filter.urlDecodeSSOToken=true
デフォルト Web アプリケーション名
キー : com.sun.am.policy.config.filter.defaultWebAppName
説明 : このプロパティは、アプリケーションサーバに配備されるデフォルトの Web アプリケーションの名前を指定します。
有効な値 : デフォルトの Web アプリケーションの名前に使用できる、大文字と小文字のアルファベットで構成される文字列です。このプロパティのデフォルト値は DefaultWebApp です。
注 保護されたアプリケーションをデフォルトの Web アプリケーションとして配備するときは、このプロパティを設定する必要があります。
例 : com.sun.am.policy.config.filter.defaultWebAppName=DefaultWebApp
グローバル不適用リスト
キー : com.sun.am.policy.config.filter.global.notEnforcedList[index]
説明 : このプロパティは、要求された URI がエージェントによる認証を必要とするかどうかを評価するときに使われるパターンのリストを指定します。
有効な値 : 有効な値は、このプロパティの構文に準拠している必要があります。具体的な URI、またはワイルドカード文字「*」を使って、0 以上の文字と一致するパターンを指定できます。このプロパティの構文は次のとおりです。
com.sun.am.policy.config.filter.global.notEnforcedList[index]=pattern
index は、0 から始まり、このプロパティリストのエントリが増えるごとに 1 つずつ繰り上がる整数です。
pattern は、エージェントによる認証が適用されない要求 URI を表す文字列です。
pattern は、0 文字以上との一致を意味するワイルドカード文字「*」を含むことがあります。
index は、最初のエントリには 0、それ以降のエントリには順番に数字を割り当てる必要があります。index 値の割り当てに欠落があると、リストに含まれる一部のエントリ、またはすべてのエントリが認識されなくなります。
注 このプロパティにどのような値を設定しても、グローバル不適用リストが空として認識されることはありません。
例 :
com.sun.am.policy.config.filter.global.notEnforcedList[0]=*.gif
com.sun.am.policy.config.filter.global.notEnforcedList[1]= public/*
com.sun.am.policy.config.filter.global.notEnforcedList[2]= /images/*
アプリケーションフィルタの設定
このカテゴリの設定は、特定のアプリケーションのエージェントフィルタの設定に使われます。
アクセス拒否 URI
キー : com.sun.am.policy.config.filter.AppName.accessDeniedURI
説明 : このプロパティは、保護されているアプリケーション用にアプリケーション固有アクセス拒否 URI を指定します。
有効な値 : 必要に応じて要求をブロックするアクセス拒否 URI として使われる、配備されたアプリケーション内の URIです。
例 :
com.sun.am.policy.config.filter.Portal.accessDeniedURI=/Portal/Acce ssDenied.html
com.sun.am.policy.config.filter.BankApp.accessDeniedURI=/BankApp/Bl ock.jsp
com.sun.am.policy.config.filter.DefaultWebApp.accessDeniedURI=/URLA ccessDenied.htm
アプリケーションの不適用リスト
キー : com.sun.am.policy.config.filter.AppName.notEnforcedList[index]
説明 : このプロパティは、特定のアプリケーションにおいて、要求された URI がエージェントによる認証を必要とするかどうかを評価するときに使われるパターンのリストを指定します。
有効な値 : 有効な値は、このプロパティの構文に準拠している必要があります。具体的な URI、またはワイルドカード文字「*」を使って、0 以上の文字と一致するパターンを指定できます。このプロパティの構文は次のとおりです。
com.sun.am.policy.config.filter.AppName.notEnforcedList[index]= pattern
AppName は、配備されたアプリケーションのコンテキストパス名から最初のスラッシュ (/) を除いた文字列です。
index は、0 から始まり、特定アプリケーションに指定されるプロパティが増えるごとに 1 つずつ繰り上がる整数です。
pattern は、エージェントによる認証が適用されない URI を表す文字列です。
例 :
com.sun.am.policy.config.filter.Portal.notEnforcedList[0]= /Portal/GuestPages/*
com.sun.am.policy.config.filter.Portal.notEnforcedList[1]= /Portal/Registration/*
com.sun.am.policy.config.filter.Portal.notEnforcedList[2]= /Portal/WebServices/PollServlet
com.sun.am.policy.config.filter.BankApp.notEnforcedList[0]= /BankApp/ModuleGuestTour/*
com.sun.am.policy.config.filter.BankApp.notEnforcedList[1]= /BankApp/index.html
com.sun.am.policy.config.filter.DefaultWebApp.notEnforcedList0]=/index.html
com.sun.am.policy.config.filter.DefaultWebApp.notEnforcedList[1]=/about.html
デバッグエンジンの設定
このカテゴリの設定は、診断情報を生成するデバッグエンジンの設定に使われます。
デバッグレベル
キー : com.sun.am.policy.config.debug.level
説明 : このプロパティは、エージェントのデバッグエンジンが生成するデバッグメッセージの量を指定します。
有効な値 : 0、1、3、7、15、31 のいずれかです。これらの値の意味は次のとおりです。
例 : com.sun.am.policy.config.debug.level=7
デバッグログファイル
キー : com.sun.am.policy.config.debug.logfile.name
説明 : このプロパティは、デバッグメッセージの記録に使われるデバッグログファイルを指定します。
有効な値 : エージェントがデバッグメッセージの記録に使うログファイルの完全パスです。
注
例 :
com.sun.am.policy.config.debug.logfile.name=/debug/agent_debug.log
デバッグログファイルのローテーションフラグ
キー : com.sun.am.policy.config.debug.logfile.rotate
説明 : このプロパティは、エージェントがデバッグログファイルをローテーションするかどうかを指定します。
有効な値 : true または false。このプロパティのデフォルト値は false です。必要に応じて変更してください。
例 :
com.sun.am.policy.config.debug.logfile.rotate=false
デバッグログファイルのローテーションサイズ
キー : com.sun.am.policy.config.debug.logfile.rotate.size
説明 : このプロパティは、デバッグログファイルのおよそのサイズをバイト数で指定します。ログファイルのローテーションの必要性を評価するときに使われます。
有効な値 : ローテーションが必要なログファイルのサイズをバイト数で表す 0 以外の符号なし整数値です。このプロパティのデフォルト値は 52428800 バイト (50M バイト) です。必要に応じて変更してください。
注 デバッグログファイルのローテーションフラグが false に設定されている場合は、このプロパティは使われません。
例 :
com.sun.am.policy.config.debug.logfile.rotate.size=52428800
デバッグ日時の書式文字列
キー : com.sun.am.policy.config.debug.date.format
説明 : このプロパティは、デバッグメッセージが記録された日時の特定に使われるタイムスタンプの書式を指定します。
有効な値 : 有効な java.text.SimpleDateFormat Time Format Syntax 文字列です。詳細は、次の Web サイトを参照してください。
http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html
注
例 :
com.sun.am.policy.config.debug.date.format=[yyyy/MM/dd HH:mm:ss zzz]
デバッグ出力の STDOUT フラグ
キー : com.sun.am.policy.config.debug.print.stdout
説明 : このプロパティは、デバッグエンジンがデバッグメッセージを標準の出力ストリームに出力するかどうかを指定します。
有効な値 : true または false。このプロパティのデフォルト値は true です。必要に応じて変更してください。
注
例 : com.sun.am.policy.config.debug.print.stdout=true
エージェントと Sun ONE Identity Server SDK API の使用
Sun ONE Identity Server SDK API を使って、セキュリティと ID を認識するアプリケーションを作成できます。これらのアプリケーションは、Sun ONE Identity Server が提供する豊富なセキュリティおよびポリシーのインフラストラクチャを使って、アプリケーションレベルのポリシーの適用など、セキュリティと ID に関連するカスタムタスクを実行できます。WebLogic Server 向け Sun ONE Identity Server ポリシーエージェントをインストールすると、アプリケーションで Sun ONE Identity Server SDK を使用できるようになります。
SDK の存在だけでは、セキュリティの保護されたアプリケーションの開発には不十分ですが、WebLogic 向けのポリシーエージェントを併用することで、開発したシステムにログオンしているユーザは、いつでもシングルサインオン (SSO) トークンを利用できるようになります。
ログオンユーザが保護されたリソースにアクセスすると、そのユーザが適切に認証されていること、および対応する主体がシステムで利用可能であることをエージェントフィルタが確認します。主体のインスタンスには、HttpServletRequest.getUserPrincipal() や EJBContext.getCallerPrincipal() など、J2EE のプログラムによるセキュリティ呼び出しでアクセスすることができます。これらのメソッドが返す主体インスタンスは、Sun ONE Identity Server の認証サービスによって認証されたユーザを表します。この主体インスタンスを使うことで、アプリケーション内のどの場所からでも、次の簡単な手順でユーザの SSO トークンにアクセスできるようになります。
- 次のクラスに主体をダウンキャストします。com.iplanet.amagent.weblogic.realm.AgentUser
次に例を示します。
....
import java.security.Principal;
import com.iplanet.amagent.weblogic.realm.AgentUser;
....
Principal principal = getEJBContext().getCallerPrincipal();
AgentUser user = null;
if (principal instanceof AgentUser) {
user = (AgentUser) principal;
}
...
- AgentUser API を使って、この主体に関連づけられた SSO トークンを取得します。次に例を示します。
...
String ssoTokenId = null;
if (user != null) {
ssoTokenId = user.getSSOTokenID();
}
...
取得した SSO トークンは、Identity Server SDK API に対するそれ以後の呼び出しにも利用できます。
注 エージェントはこれらの設定情報を利用することで、エージェントレルムに含まれるユーザと関連した SSO トークンをいつでも利用できます。これらの値の設定が配備環境に適さない場合は、システム全体のパフォーマンスが低下することがあります。「エージェントの設定」を参照してください。
エージェントのアンインストール
WebLogic Server 用に Sun ONE Identity Server ポリシーエージェントをインストールすると、インストールディレクトリ内にアンインストールプログラムが作成されます。エージェントをシステムから完全に削除するときは、このアンインストールプログラムを使います。アンインストールプログラムは、システムにインストールされているすべてのファイルを削除しますが、監査ログメッセージなど、一部のファイルは削除されません。これらのファイルは、手動で削除できます。
アンインストール前のタスク
アンインストールプログラムを起動する前に、次のタスクを次の順序で実行する必要があります。これらのタスクのすべて、または一部を実行しない場合、アプリケーションを利用できなくなったり、システム全体が不安定になるか、利用できなくなることがあります。
- エージェントフィルタの削除 : 保護されているすべてのアプリケーションを WebLogic Server から削除し、それぞれの配備記述子を編集して、エージェントのインストール時に追加したエージェントフィルタへのすべての参照を削除します。また、これらのアプリケーション用にロールから主体へのマッピングを作成した場合は、これも削除します。配備記述子の編集が完了すると、アプリケーションを WebLogic Server に再配備できるようになります。すでにシステムに配備されているアプリケーションを削除し、再配備する方法については、WebLogic Server のマニュアルを参照してください。
- エージェントレルムの削除 : エージェントを正しくアンインストールするには、次にエージェントレルムの設定を削除します。これは、次の手順で行います。
- WebLogic Server の管理コンソールにログオンします。コンソールにログインするには、設定されているシステムユーザ名とパスワードを入力します。
- 左ペインの「Security」ノードをクリックします。これにより、コンソールの右ペインには WebLogic Server のセキュリティ設定が表示されます。
- 右ペインの「Filerealm」タブをクリックします。現在のファイルレルムの詳細がコンソールに表示されます。
- 右ペインに表示される書式の「Caching Realm」の下で、使用するエージェントキャッシングレルム以外の適切なキャッシングレルムを選択します。その他のキャッシングレルムが設定されていない場合は、「defaultCachingRealm」を選択します。
- 「Apply」ボタンをクリックします。
- WebLogic Server を再起動します。
ファイルレルムの設定が完了し、WebLogic Server を再起動すると、WebLogic Server はそのエージェントレルムを使用しなくなります。この時点で、アンインストールプログラムを使ってエージェントをアンインストールできます。アンインストールプログラムの使用方法を説明している次の項に進んでください。ただし、この項の残りの手順を実行し、エージェントのインストール時に作成したカスタムレルムとキャッシングレルムを削除することをお勧めします。
- エージェントキャッシングレルムの削除 : エージェントキャッシングレルムを使わないようにファイルレルムを設定すると、システムからエージェントキャッシングレルムを削除できるようになります。これは、次の手順で行います。
- WebLogic Server の管理コンソールにログオンします。コンソールにログインするには、設定されているシステムユーザ名とパスワードを入力します。
- 管理コンソールの左ペインで、「+」記号をクリックして「Security」ノードを展開します。
- 左ペインの「Security」ノードの下にある「Caching Realms」をクリックします。これにより、システムで使用できるキャッシングレルムがコンソールの右ペインに表示されます。
- 右ペインで、エージェントキャッシングレルムに対応する行を探します。この行の最後の列にある削除ボタンをクリックします。エージェントキャッシングレルムの削除を確認するメッセージが表示されます。このメッセージを読み、削除するキャッシングレルムがエージェントキャッシングレルムであることを確認します。「Yes」をクリックして処理を確定します。コンソールに確認メッセージが表示されます。このメッセージの下に表示される「Continue」リンクをクリックします。
- キャッシングレルムのリストが更新され、右ペインに表示されます。このリストにエージェントキャッシングレルムが表示されていないことを確認します。
- WebLogic Server を再起動します。
WebLogic Server を再起動すると、エージェントのインストール時に設定したエージェントレルムを削除できるようになります。
- エージェントレルムの削除 : エージェントキャッシングレルムを削除すると、これに関連するカスタムレルムであるエージェントレルムを削除できます。これは、次の手順で行います。
- WebLogic Server の管理コンソールにログオンします。コンソールにログインするには、設定されているシステムユーザ名とパスワードを入力します。
- 管理コンソールの左ペインで、「+」記号をクリックして「Security」ノードを展開します。
- 左ペインの「Security」ノードの下にある「Realms」をクリックします。これにより、システムで使用できるレルムがコンソールの右ペインに表示されます。
- 右ペインで、エージェントレルムに対応する行を探します。この行の最後の列にある削除ボタンをクリックします。エージェントレルムの削除を確認するメッセージが表示されます。このメッセージを読み、削除するレルムがエージェントレルムであることを確認します。「Yes」をクリックして処理を確定します。コンソールに確認メッセージが表示されます。このメッセージの下に表示される「Continue」リンクをクリックします。
- レルムのリストが更新され、右ペインに表示されます。このリストにエージェントレルムが表示されていないことを確認します。
- WebLogic Server を再起動します。
WebLogic Server を再起動すると、エージェントのインストール時にシステムに設定したすべての内容が削除されます。次の項に進み、エージェントのアンインストールプログラムの使用方法を参照して、システムからエージェントライブラリを削除してください。
アンインストールプログラムの起動
アンインストールプログラムを起動する前に、WebLogic Server が稼働していないことを確認します。WebLogic Server を終了していないと、WebLogic Server が起動しなくなり、システムを利用できなくなることがあります。WebLogic Server が稼働していないことを確認したら、アンインストールプログラムを起動して、システムからエージェントライブラリとその他のファイルを削除してください。
WebLogic Server 向け Sun ONE Identity Server ポリシーエージェントのアンインストールプログラムは、使っているプラットフォームの種類 (Solaris、Windows、HP-UX) により、それぞれ次の手順に従って起動する必要があります。
Solaris 8 でのアンインストールプログラムの起動
Solaris プラットフォームのアンインストールプログラムは、インストールディレクトリに生成されているアンインストールスクリプトを実行することで起動できます。エージェントをアンインストールする手順は次のとおりです。
- root としてログインします。
- エージェントがインストールされているディレクトリに移動します。
- JAVA_HOME 環境変数をバージョン 1.3.1 以降の JDK に設定します。必要なバージョンの JDK がシステムに用意されていない場合は、WebLogic Server 6.1 SP2 サーバに付属する JDK を使用します。この JDK は、次の場所に保存されています。
WebLogic_Install_Dir/bea/jdk131
- アンインストールプログラムには、グラフィカルユーザインタフェース (GUI) とコマンド行インタフェースが用意されています。ほとんどの場合、エージェントのアンインストールには GUI 形式のアンインストールプログラムを使います。ただし、リモートサーバの telnet セッションでアンインストールを行う場合にウィンドウ機能を利用できない場合は、コマンド行形式のアンインストールプログラムを使ってエージェントをアンインストールします。アンインストールプログラムを起動するには、次のコマンドを実行します。
#./uninstall_wlagent -nodisplay
ただし、GUI 形式のアンインストールプログラムを利用する場合は、GUI アンインストールプログラムウィンドウが正しいコンソールに表示されるように DISPLAY 環境変数を設定する必要があります。
注 -nodisplay オプションを指定してコマンド行形式のアンインストールプログラムを使用する場合は、次の手順を省略し、アンインストール手順を詳しく説明している次の項に進んでください。
- 次のアンインストールスクリプトを呼び出して GUI 形式のアンインストールプログラムを起動します。
# ./uninstall_wlagent
アンインストールプログラムを利用するには、手順 3 で説明した方法で JAVA_HOME 変数が正しく設定されている必要があります。JAVA_HOME 変数が正しく設定されていない状態でアンインストールスクリプトを実行すると、JAVA_HOME の正しい値を入力するように求められます。
Enter JAVA_HOME location (Enter "." to abort):
アンインストールプログラムの起動に使う JDK インストールディレクトリの完全パスを入力します。アンインストールを中止するときは、ピリオド (.) を入力します。
GUI 形式のアンインストールプログラムをコンソールに表示するには、シェルの DISPLAY 環境変数を正しく設定する必要があります。DISPLAY 環境変数が正しく設定されていない状態でアンインストールスクリプトを実行すると、DISPLAY の正しい値を入力するように求められます。
Please enter the value of DISPLAY variable (Enter "." to abort):
上記プロンプトに DISPLAY 変数の正しい値を入力します。インストールを中止するときは、ピリオド (.) を入力します。
注 uninstall_Sun_ONE_Identity_Server_Policy_Agent.class ファイルを使ってエージェントをアンインストールすることもできます。このファイルは、エージェントのインストールディレクトリにあります。
Windows 2000 Server でのアンインストールプログラムの起動
Windows プラットフォームのアンインストールプログラムは、インストールディレクトリに生成されているアンインストールスクリプトを実行することで起動できます。
- アンインストールプログラムを実行するには、管理者特権が必要です。管理者特権がない場合は、管理者ユーザとしてログインするか、マシンまたはドメインのシステム管理者に依頼して、使用アカウントに適切な権限を付与してもらいます。
- エージェントがインストールされているディレクトリに移動します。
- アンインストールスクリプト uninstall_wlagent.bat はこのディレクトリにあります。uninstall_wlagent.bat スクリプトを使ってアンインストールプログラムを起動するには、バージョン 1.3.1 以降の JDK が必要です。これは、コマンドプロンプトウィンドウで次のコマンドを実行することで確認できます。
C:¥> java -version
java version "1.3.1_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02)
Java HotSpot(TM) Client VM (build 1.3.1_02-b02, mixed mode)
必要なバージョンの JDK をシステムパスから利用できない場合は、WebLogic Server 6.1 SP2 サーバに付属する JDK を使用します。これは次の場所にあります。
WebLogic_Install_Dir¥bea¥jdk131
uninstall_wlagent.bat を実行するには、コマンドプロンプトウィンドウでファイルが保存されている場所まで移動してからファイル名を入力するか、Windows Explorer 上でファイルをダブルクリックします。次に例を示します。
C:¥Sun>uninstall_wlagent.bat
アンインストールプログラムには、グラフィカルユーザインタフェース (GUI) とコマンド行インタフェースが用意されています。前述の方法でコマンドプロンプトウィンドウから uninstall_wlagent.bat ファイルを呼び出すか、Windows Explorer 上でこのファイルをダブルクリックすると、GUI 形式のアンインストールプログラムが起動します。ただし、コマンド行形式のアンインストールプログラムを使ってエージェントをアンインストールする必要があるときは、次のように、引数 -nodisplay を指定して uninstall_wlagent.bat ファイルを実行します。
C:¥Sun>uninstall_wlagent.bat -nodisplay
このコマンドは、コマンドプロンプトウィンドウ上で、このファイルがあるディレクトリで実行します。
HP-UX 11 でのアンインストールプログラムの起動
HP-UX プラットフォームのアンインストールプログラムは、インストールディレクトリに生成されているアンインストールスクリプトを実行することで起動できます。実行手順は次のとおりです。
- root としてログインします。
- エージェントがインストールされているディレクトリに移動します。
- JAVA_HOME 環境変数をバージョン 1.3.1 以降の JDK に設定します。必要なバージョンの JDK がシステムに用意されていない場合は、WebLogic Server 6.1 SP2 サーバに付属する JDK を使用します。この JDK は、次の場所に保存されています。
WebLogic_Install_Dir/bea/jdk131
- アンインストールプログラムには、グラフィカルユーザインタフェース (GUI) とコマンド行インタフェースが用意されています。ほとんどの場合、エージェントのアンインストールには GUI 形式のアンインストールプログラムを使います。ただし、リモートサーバの telnet セッションでアンインストールを行う場合にウィンドウ機能を利用できないときは、コマンド行形式のアンインストールプログラムを使ってエージェントをアンインストールします。この場合は次のように、コマンド行に引数 -nodisplay を指定してアンインストールスクリプトを実行します。
#./uninstall_wlagent -nodisplay
ただし、GUI 形式のアンインストールプログラムを利用する場合は、GUI プログラムウィンドウが正しいコンソールに表示されるように DISPLAY 環境変数を設定する必要があります。
注 -nodisplay オプションを指定してコマンド行形式のアンインストールプログラムを使用する場合は、次の手順を省略し、アンインストール手順を詳しく説明している次の項に進んでください。
- 次のアンインストールスクリプトを呼び出して GUI 形式のアンインストールプログラムを起動します。
# ./uninstall_wlagent
アンインストールプログラムを利用するには、手順 3 で説明した方法で JAVA_HOME 変数が正しく設定されている必要があります。JAVA_HOME 変数が正しく設定されていない状態でアンインストールスクリプトを実行すると、JAVA_HOME の正しい値を入力するように求められます。
Enter JAVA_HOME location (Enter "." to abort):
アンインストールプログラムの起動に使う JDK インストールディレクトリの完全パスを入力します。アンインストールを中止するときは、ピリオド (.) を入力します。
GUI 形式のアンインストールプログラムをコンソールに表示するには、シェルの DISPLAY 環境変数を正しく設定する必要があります。DISPLAY 環境変数が正しく設定されていない状態でアンインストールスクリプトを実行すると、DISPLAY の正しい値を入力するように求められます。
Please enter the value of DISPLAY variable (Enter "." to abort):
上記プロンプトに DISPLAY 変数の正しい値を入力します。アンインストールを中止するときは、ピリオド (.) を入力します。
GUI によるエージェントのアンインストール
アンインストールプログラムを起動すると、初期画面が表示されます。質問に答えながら、「Next」をクリックして画面を切り替えます。
- 「Uninstall Type Selection」画面で「Full」を選択し、「Next」をクリックします。
- 「Ready to Uninstall」画面で、アンインストール情報を確認します。変更が必要な場合は、「Back」をクリックします。それ以外の場合は「Uninstall Now」をクリックします。
- アンインストールの進捗状況が「Uninstall Progress」画面に表示されます。
- 「Uninstallation Summary」画面で、「Details」をクリックすると、アンインストール中に処理された設定情報の詳細を参照できます。「Exit」をクリックしてプログラムを終了します。
注 アンインストールの状態が「Failed」と表示されるときは、「Details」ボタンをクリックしてアンインストールのログファイルの内容を確認し、問題のあったタスクを特定する必要があります。状況によっては、これらの失敗を復旧し、システムを元の状態に戻すことができます。システムを元の状態に戻す方法については、次の項を参照してください。
アンインストールのトラブルシューティング
インストール時に、エージェントのインストールプログラムはシステム上のいくつかの既存ファイルに変更を加えます。これらの変更を完全に元の状態に戻すため、変更時に対象ファイルのバックアップが作成されます。アンインストール時に問題が生じた場合は、これらのバックアップファイルを使ってシステムを手動で元の状態に戻すことができます。
エージェントのインストール時にバックアップされ、アンインストール時に復元されるファイルは、次のとおりです。
WebLogic Server の起動スクリプト
WebLogic Server の起動スクリプトは、インストール時に変更され、同じディレクトリにバックアップが作成されます。バックアップファイルの名前は WebLogic_Startup_Script_Name-preAgent です。たとえば、WebLogic Server のインストール時に起動スクリプトの名前を次のように指定したとします。
/bea/wlserver6.1/config/examples/startExamplesServer.sh
この場合、バックアップファイルの名前は次のようになります。
/bea/wlserver6.1/config/examples/startExamplesServer.sh-preAgent
java.security ファイル
エージェントのインストールプログラムは、JDK のインストールに WebLogic Server が使用する JCE および JSSE 拡張機能をインストールします。これらの拡張機能を実行時に利用するには、JDK インストールのセキュリティファイルに具体的なプロバイダが指定されている必要があります。エージェントのアンインストール時に元の状態に復元できるように、プロバイダがセキュリティファイルに記録される前にセキュリティファイルのバックアップが作成されます。バックアップファイルの名前は java.security-preAgent で、JDK のインストールディレクトリ内の jre/lib/security ディレクトリに保存されます。たとえば、インストール時に WebLogic JAVA_HOME の値を /bea/jdk131 に設定した場合は、java.security ファイルの名前は次のようになります。
/bea/jdk131/jre/lib/security/java.security
この場合、バックアップファイルの名前は次のようになります。
/bea/jdk131/jre/lib/security/java.security-preAgent