アプリケーション運用管理者が行うアプリケーションの実行に必要な環境設定について説明します。
アプリケーションが動作するために必要な環境変数CLASSPATHに以下のパス(ディレクトリ名/ファイル名)を設定してください。
環境変数CLASSPATHの設定は、Interstage管理コンソールを使用して、[システム] > [ワークユニット] > [IJServer] > [環境設定]タブを選択し、[ワークユニット]のクラスパスに設定してください。設定は以下のとおりです。
定義名 | 設定する値 |
クラスパス | 以下のJava Archive(jar)ファイルを指定します。
|
環境変数はシステム環境変数に設定されます。システム環境変数を変更した場合は、システムを再起動してください。
定義名 | 設定する値 |
クラスパス | 以下のJava Archive(jar)ファイルを指定します。
|
アプリケーション運用管理者は、アプリケーションの実行に必要なログイン構成ファイルを作成します。ログイン構成ファイルのファイル名は任意で作成でき、アプリケーション実行時にシステムプロパティjava.security.auth.login.configでファイル名を指定します。ログイン構成ファイルにはシングル・サインオンJavaAPIが提供するLoginModuleが設定されているログイン構成を記述します。ログイン構成ファイルの詳細については、オラクル社から提供されているJ2SDKやJAASのドキュメントを参照してください。
ログイン構成は以下の形式で記述します。
<エントリ名> { <LoginModuleクラス名> <フラグ> <モジュールオプション>; }; |
<エントリ名>には、LoginContextのインスタンス化時に指定する名前を記述します。エントリ名を二重引用符(“)、または一重引用符(‘)で括ることですべての記号を指定できるようになります。括らない場合には使用できる記号に制限があります。
■エントリ名に二重引用符(“)、または一重引用符(‘)で括らないでも使用できる記号
ドルマーク($)
ハイフン(-)
ピリオド(.)
アンダースコア(_)
<LoginModuleクラス名>には、シングル・サインオンJavaAPIで提供する次のLoginModuleを設定します。
com.fujitsu.interstage.sso.auth.module.ISCredentialLoginModule
<フラグ>には通常“required”を設定します。それ以外にも、“requisite”、“sufficient”、“optional”が使用できます。フラグの詳細については、オラクル社から提供されているJ2SDKやJAASのドキュメントを参照してください。
<モジュールオプション>は、認証先の認証基盤情報など、LoginModuleが使用する情報を空白文字で区切ったリスト形式で記述します。オプション名と値は等号記号(=)で区切り、値は二重引用符(“)で括る必要があります。シングル・サインオンJavaAPIで提供するLoginModuleが使用するオプション名はすべて英小文字で指定してください。オプション名に英大文字が使用された場合、またはオプション名を誤った場合は省略されたものとして動作します。LoginModule指定項目の末尾にはセミコロン(;)をつけます。
com.fujitsu.interstage.sso.auth.module.ISCredentialLoginModuleでは以下のオプションを使用してください。
オプション名 | 説明 |
business-system-name | Javaアプリケーションを運用する業務サーバの業務システム名を設定します。 |
■ログイン構成ファイルのファイルエンコーディングについて
ログイン構成ファイルに英数字と記号以外の文字を使用する場合、ファイルエンコーディングを以下のようにしてログイン構成ファイルのファイルを保存してください。
UTF-8エンコーディング形式
ログイン構成ファイルの例を以下に示します。なお、以下の例では、ログイン構成のエントリ名は“com.fujitsu.interstage.sso”を使用しています。
業務サーバの業務システム名:Business001
com.fujitsu.interstage.sso { com.fujitsu.interstage.sso.auth.module.ISCredentialLoginModule required business-system-name=”Business001” ; }; |
定義ファイルなどは、Javaアプリケーションを運用するために必要な資源であり、安全に保護されている必要があります。運用資源を保護するためのアクセス権限の設定について説明します。
具体的なアクセス権限の設定方法を以下に説明します。
業務サーバの定義を使用するJavaアプリケーションは、Administratorsグループに所属するユーザで実行してください。
IJServerの運用ユーザに対しても、業務サーバの定義に対する読み込みができるように、IJServerの運用ユーザとInterstage HTTP Serverの環境定義ファイル(httpd.conf)のUserディレクティブに指定するユーザを一致させてください。
■IJServerの運用ユーザをnobodyにする場合、以下の手順で環境設定を行ってください。
ワークユニット自動起動を利用してIJServerをユーザnobodyで起動するようにしてください。
■IJServerの運用ユーザをnobody以外にする場合には、以下の手順で環境設定を行ってください。
useraddコマンドなどでIJServerの運用ユーザを新規作成してください。作成したユーザにはhttpd.confのUserディレクティブに指定されているユーザのファイルアクセス権限と同等のユーザ権限を与えるようにしてください。
1.で作成したユーザに次項で説明しているファイルに対するアクセス権限の設定を行ってください。
httpd.confのUserディレクティブに1.で作成したユーザを指定してください。(注1)
Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブで[適用]ボタンをクリックしてください。(注2)
注1)Interstage HTTP Serverの環境定義ファイルの詳細については、“Interstage HTTP Server 運用ガイド”-“環境設定”-“環境定義ファイル”を参照してください。
注2)詳細は“4.3.2 Webサーバの実効ユーザを変更する場合の注意事項”を参照してください。
エクスプローラを使用して、ユーザやグループのアクセス許可を変更してください。アクセス権限の設定は、Administrator権限を持ったユーザで行ってください。
資源 | アクセス権限の設定内容 |
ログイン構成ファイル | Javaアプリケーションを実行するユーザ(サーブレットの場合はIJServerの運用ユーザ)に対してだけ読み取りを許可してください。 |
chmodコマンドや、chownコマンドを使用します。アクセス権限の設定は、スーパユーザ(root)で行ってください。
資源 | アクセス権限の設定内容 |
ログイン構成ファイル | Javaアプリケーションを実行するユーザ(サーブレットの場合はIJServerの運用ユーザ)に対しだけreadを許可してください。 |
SSO管理者はサーブレットアプリケーションのパスを保護リソースとしてSSOリポジトリへ登録してください。その際に保護リソースを利用可能にするロール名、またはロールセット名も併せて設定してください。詳細については“2.6.3 保護リソースなどの登録”、“2.3.2.3 LDIFファイルを使用する場合”を参照してください。
その後、登録した保護リソースの情報を業務サーバに格納します。業務サーバ管理者はInterstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [アクセス制御情報の更新]タブの[更新]ボタンをクリックしてください。Interstage管理コンソールの定義詳細については、Interstage管理コンソールのヘルプを参照してください。アクセス制御情報の更新については“4.6.1 ロール定義の変更、追加”、および“4.6.2 保護リソースの変更”を参照してください。
登録する保護リソース
業務サーバ名:ポート番号/サーブレットアプリケーションのパス |
セションの管理を行う場合は、業務サーバ管理者は、Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[シングル・サインオンJavaAPI]の[シングル・サインオンJavaAPIの使用]の設定を“使用する”に変更して[適用]ボタンをクリックしてください。
シングル・サインオンJavaAPIで例外が発生した場合は、例外オブジェクトの型、および例外オブジェクトのgetMessageメソッドで取得できる例外の詳細メッセージから、“メッセージ集”を参照し対処を行ってください。
認証に失敗した場合の例外メッセージ
Error: Authentication failed |
なお、OutOfMemoryErrorが発生した場合には、“チューニングガイド”の“JDK/JREのチューニング”-“異常発生時の原因振り分け”-“java.lang.OutOfMemoryErrorがスローされた場合”を参照し対処を行ってください。