この情報は、セキュリティーを使用可能にした後でエラーが発生した場合に使用します。
IBM からのトラブルシューティングのヘルプ
の説明のとおり、IBM サポートが提供する資料およびツールを利用することによって、問題の解決に必要な情報収集の時間が節約できます。
問題報告書を開く前に、以下のサポート・ページを参照してください。
Web ページにアクセスする際の認証エラー
考えられる認証エラーの原因は、
以下のとおりです。
- ユーザー名またはパスワードが間違っている。 ユーザー名とパスワードを確認して、
それらが正しいことを確認してください。
- セキュリティー構成エラー: ユーザー・レジストリー・タイプが正しく設定されていない。管理コンソールで、管理セキュリティー設定のユーザー・レジストリー・プロパティーを確認してください。
ユーザー・レジストリー・プロパティーが目的のユーザー・レジストリーであることを確認してください。
- 内部プログラム・エラー。クライアント・アプリケーションが Java スタンドアロン・プログラムである場合、
このプログラムが、クレデンシャル情報を正しく収集していないか、正しく送信していない可能性があります。
Web ページにアクセスする際の認証エラー
リソースへのアクセス権を持つべきユーザーが、
それを持っていない場合は、構成時に何らかのステップをスキップした可能性があります。
管理の役割へのアクセスの許可
を参照してください。
具体的には、以下のようにします。
- アクセスしている Web リソースに対する必要な役割を確認する。
- 許可表をチェックして、ユーザーまたはユーザーが属するグループに、
必要な役割のいずれかが割り当てられていることを確認する。
- Web リソースに必要な役割を、その Web リソースのデプロイメント記述子に表示する。
- Web リソースを含むアプリケーションの許可表を、管理コンソールを使用して表示する。
- 必要な役割を付与されたユーザーを使用して、
そのユーザーが問題のリソースにアクセスできるかを確かめる。
- ユーザーが、必要な役割を 1 つ以上備えている必要がある場合は、
管理コンソールを使用して、そのユーザーを必要な役割に割り当て、アプリケーションを停止してから再始動する。
エラー・メッセージ: CWSCJ0314E:
Current Java 2 security policy reported a potential violation on server
サーバー上で次のようなエラーが見つかる場合、
エラー・メッセージ: CWSCJ0314E: 現行の Java 2 セキュリティー・ポリシーが、
Java 2 セキュリティー許可違反の可能性があることを報告しました。
詳しくは、『問題判別ガイド』を参照してください。
{0}Permission/:{1}Code/:{2}{3}Stack Trace/:{4}Code Base Location/:{5}
Java セキュリティー・マネージャーの
checkPermission メソッドが、
SecurityException 例外を報告しました。
報告された例外は、
セキュア・システムにとって重大な場合があります。 セキュリティー・トレースをオンにして、
セキュリティー・ポリシーを違反した可能性のあるコードを判別してください。
違反コードが判別されたら、
該当するすべての Java 2 セキュリティー・ポリシー・ファイルおよびアプリケーション・コードを調べることによって、
試行した操作が Java 2 セキュリティーに関して許可されているかどうかを確認します。
RAS トレースをデバッグ・モードに構成するか、Java プロパティーを指定することによって、より詳細なレポートを使用できるようになります。
- 管理コンソールの「汎用 JVM 引数」パネルから、
「アプリケーション・サーバー」>「server_name」>「
ProcessDefinition」>「Java 仮想マシン」パネルと選択して、次のプロパティーを指定します。
- java.security.debug ランタイム・フラグを追加します。
- 有効な値:
- access
- 必要な許可、コード、スタック、およびコード・ベースの場所など、
すべてのデバッグ情報を出力します。
- stack
- デバッグ情報 (必要なアクセス権、コード、スタックなど) を印刷します。
- failure
- デバッグ情報 (必要なアクセス権、コードなど) を印刷します。
Java セキュリティー・ポリシーを確認するには、http://java.sun.com/j2se/1.3/docs/guide/security/index.html にある Java 2 セキュリティー文書を参照してください。
ヒント: アプリケーションが JavaMail アプリケーション・プログラミング・インターフェース (API) を使用して実行されている場合、このメッセージは無害です。
installed Enterprise Application root/META-INF/was.policy ファイルを更新して、以下のアクセス権をアプリケーションに付与することができます。
- permission java.io.FilePermission "${user.home}${/}.mailcap",
"read";
- permission java.io.FilePermission "${user.home}${/}.mime.types",
"read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mailcap",
"read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mime.types",
"read";
アプリケーション・サーバーの始動時に、
「CWMSG0508E: The JMS Server security service was unable to
authenticate user ID:」というエラーが SystemOut.log に表示される
このエラーは、Java Message Service (JMS) API サンプルをインストールしてからセキュリティーを使用可能にすると発生することがあります。
対応する JMS サンプル資料の「構成と実行」ページの指示に従って、WebSphere Application Server セキュリティーで扱うサンプルを構成できます。
メッセージ駆動型 Bean のサンプルがインストールされているかどうかを調べるには、インストール・プログラムを起動し、「カスタム」を選択して、「Select the features you like to install」パネルで既にインストールされているコンポーネントを確認します。
JMS サンプルは、「Embedded Messaging」の下に「Message-Driven Bean Sample」として示されます。
このインストールは、管理コンソールを使用してサンプルを含むアプリケーション・サーバーのプロパティーを開くことでも確認することができます。
「MDBSamples」を選択して、
「アンインストール」をクリックしてください。
セキュリティーを使用可能にして
アプリケーション・サーバーを始動すると、「CWSCJ0237E: 1 つまたは複数の重要 LTPAServerObject 構成属性が
ヌルまたは利用不能です」というエラー・メッセージが表示される
このエラー・メッセージは、
認証メカニズムとして Lightweight Third Party Authentication (LTPA) を選択したのに LTPA 鍵を生成していない場合に表示されることがあります。
LTPA 鍵は LTPA トークンを暗号化します。
この問題を解決するには、以下を行います。
- 「セキュリティー」>「管理、アプリケーション、およびインフラストラクチャーの保護
」>「認証メカニズムおよび有効期限」>「LTPA」とクリックします。
- パスワード (何でもよい) を入力する。
- 「確認パスワード」に同じパスワードを入力する。
- 「適用」をクリックします。
- 「キーの生成」をクリックする。
- 「保管」をクリックします。
SystemOut.log に、AccessControlException 例外が報告される
この問題は
、WebSphere Application Server の Java 2 セキュリティー・フィーチャーに関連しています。
このフィーチャーは、WebSphere Application Server で実装された API レベルのセキュリティー・フレームワークです。
以下の例のような例外が表示されます。
このエラー・メッセージと番号は、変わる場合があります。
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet:
java.security.AccessControlException: access denied
(java.io.FilePermission
/WebSphere/V6R0M0/AppServer/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
これらのエラーの原因としては、以下のことが考えられます。
- ポリシー・ファイル内の構文エラー。
- .rar ファイルにバンドルされた ra.xml ファイル内の許可指定の構文エラー。
このケースは、CICS またはその他のリソースへのコネクター・アクセスをサポートするリソース・アダプターに該当します。
- ポリシー・ファイル、または .rar ファイルにバンドルされた ra.xml ファイルで許可の指定が行われていない。
- クラスパスが正しく設定されていないため、Service Provider Programming Interface (SPI) 用の resource.xml ファイルに対する許可が正しく作成できない。
- アプリケーションによって呼び出されたライブラリー、またはそのアプリケーションに、
リソースへのアクセスをサポートする doPrivileged ブロックが欠落している。
- 誤ったポリシー・ファイルに許可が指定されている。
以下の方法で、これらの問題を解決します。
- すべての関連ポリシー・ファイルをチェックし、
例外に示された許可 (例えば java.io.FilePermission) が指定されていることを確認する。
- SystemOut.log ファイルで、
構文エラーの詳細を報告する関連 ParserException 例外を探す。
CWSCJ0189E: Caught ParserException while creating template for application policy
/WebSphere/V6R0M0/AppServer1/profiles/profile_name/config/cells/cell_name/nodes/node_name/app.policy.
各部の意味は、次のとおりです。
- V6R0M0 は、使用している WebSphere Application Server のバージョンを表します。
- cell_name は、セルの名前を表します。
- profile_name は、プロファイルの名前を表します。
- node_name は、ノードの名前を表します。
例外は com.ibm.ws.security.util.ParserException です: 行番号 18: expected ';', found 'grant'
- 「CWSCJ0325W: The permission permission specified in the policy file is unresolved.」のようなメッセージを探します。
- 呼び出しスタックをチェックし、許可のないメソッドを判別する。このメソッドのクラスパスを確認します。
メソッドの確認が困難な場合は、「Java2 security Report」を使用可能にします。
- レポートには、以下のことが示されています。
- Permission
- 欠落している許可。
- Code
- 問題が発生しているメソッド。
- Stack Trace
- アクセス違反が発生した場所。
- CodeBaseLocation
- 各スタック・フレームの詳細。
各部の意味は、次のとおりです。
- app1 は、アプリケーションの名前を表します。
- app_server_root は、WebSphere Application Server Network Deployment のインストール・ルート・ディレクトリーを表します。
- profile_root は、システムにおける特定のプロファイルのロケーションと名前を表します。
- profile1 または profile_name は、プロファイルの名前を表します。
- server1 または server_name は、アプリケーション・サーバーの名前を表します。
- メソッドが SPI の場合は、resources.xml ファイルをチェックして、
クラスパスが正しいことを確認します。
- すべてのポリシー・ファイルが正しくロードされていることを確認する、
または各クラスパスに付与されている許可を確認するには
、com.ibm.ws.security.policy.*=all=enabled でトレースを使用可能にします。
ロードされている許可は、すべて trace.log ファイルにリストされます。
app.policy、was.policy および ra.xml ファイルを検索してください。
クラスパスの許可リストを確認するには、Effective Policy for classpath を検索します。
ポリシー・ファイルまたは ra.xml ファイル内に構文エラーがある場合は
、ポリシー・ツールを使用して訂正します。
構文エラーが発生する可能性があるため、手動でポリシーを編集しないようにしてください。
- 「Unresolved」とリストされている許可は有効になりません。
指定した許可名が正しいことを確認してください。
- resource.xml ファイルで指定したクラスパスが正しくない場合は、訂正します。
- 必要な許可がポリシー・ファイルまたは ra.xml ファイルに存在しない場合は、
アプリケーション・コードを調べて、この許可を追加する必要があるかどうかを確認します。必要があれば、
適切なポリシー・ファイルまたは ra.xml ファイルに追加します。
- このリソースにアクセスする特定のメソッド以外に許可が付与されていない場合は
、doPrivileged ブロックを使用するようにコードを変更します。
ヒント: アプリケーションが JavaMail API で実行されている場合は、
installed Enterprise Application root/META-INF/was.policy ファイルを更新して、アプリケーションに次の許可を付与することができます。
- permission java.io.FilePermission "${user.home}${/}.mailcap",
"read";
- permission java.io.FilePermission "${user.home}${/}.mime.types",
"read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mailcap",
"read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mime.types",
"read";
エラー・メッセージ:
「CWSCJ0336E: 続く例外 {1} により、ユーザー {0} に対して認証が失敗しました」
このエラー・メッセージは、示されたユーザー ID が LDAP ユーザー・レジストリーに見つからない場合に表示されます。
この問題を解決するには、以下を行います。
- ユーザー ID とパスワードが正しいことを確認します。
- そのユーザー ID がレジストリー内に存在することを確認します。
- 基本識別名 (DN) が正しいことを確認します。
- ユーザー・フィルターが正しいことを確認します。
- バインド DN と、そのバインド DN 用のパスワードが正しいことを確認します。
バインド DN とパスワードが指定されていない場合は、
欠落情報を追加して再試行してください。
- ホスト名と LDAP タイプが正しいことを確認します。
これでも問題が解決しない場合は、
ユーザー・レジストリーの管理者に連絡してください。
プロファイル管理ツールを使用して新規プロファイルを作成すると、
鍵の生成エラーが発生する
プロファイル管理ツールまたは
コマンド行の manageprofiles ユーティリティーを使用して新規プロファイルを作成すると、
部分的な成功あるいは失敗を示すエラー・メッセージが表示されます。
このエラー・メッセージは install_dir/logs/manageprofiles/profile_name_create.log
ファイルにあり、generateKeysforSingleProfile タスクまたは generateKeysForCellProfile タスクの
エラーを指している可能性があります。
プロファイル作成ツールや
manageprofiles ユーティリティーは、複数のタスクを呼び出します。generateKeysForSingleProfile タスクが
呼び出されるのは、スタンドアロンのアプリケーション・サーバーまたはデプロイメント・マネージャーのプロファイルを
作成する場合です。generateKeysForCellProfile タスクが呼び出されるのは、セル・プロファイルを
作成する場合です。どちらのタスクも、wsadmin コマンドを呼び出す
最初のタスクです。どちらかのタスクでログにエラーが記録されても、
そのエラーは実際には wsadmin コマンドの失敗が原因であり、セキュリティー・タスクのエラーではない
場合があります。
この問題の実際の原因を突き止めるには、
以下のログ・ファイルの情報を確認します。
- install_dir/logs/manageprofiles/profile_name_create.log ファイル (障害の
エラー・コードがわかります)
- install_dir/logs/manageprofiles/profile_name/keyGeneration.log ファイル
- install_dir/logs/manageprofiles/profile_name/wsadminListener.log ファイル