セキュリティーを使用可能にした後のエラー発生

この情報は、セキュリティーを使用可能にした後でエラーが発生した場合に使用します。

注: このトピックでは、 1 つ以上のアプリケーション・サーバー・ログ・ファイルを参照します。推奨される代替案として、分散システムや IBM® i システムの SystemOut.logSystemErr.logtrace.logactivity.log ファイルではなく、High Performance Extensible Logging (HPEL) ログおよびトレース・インフラストラクチャーを使用するようにサーバーを構成できます。また HPEL は、ネイティブ z/OS® ロギング機能と連携させて使用することができます。HPEL を使用する場合、LogViewer コマンド・ライン・ツールを サーバー・プロファイルの bin ディレクトリーから使用して、すべてのログ・ファイルにアクセスし、 情報をトレースできます。HPEL の使用について詳しくは、HPEL を使用してのアプリケーションの トラブルシューティングに関する情報を参照してください。
どのようなエラーが発生しましたか?

[AIX Solaris HP-UX Linux Windows][IBM i]セキュリティー関連の問題を診断および解決するための一般的なヒントについては、セキュリティー・コンポーネントのトラブルシューティングを参照してください。

IBM サポートが提供する資料とツールを利用すれば、 問題解決に必要な情報を集める時間を節約できます。 問題報告書を開く前に、以下のサポート・ページを参照してください。

Web ページにアクセスする際の認証エラー

考えられる認証エラーの原因は、 以下のとおりです。
  • ユーザー名またはパスワードが間違っている。ユーザー名とパスワードを確認して、 それらが正しいことを確認してください。
  • セキュリティー構成エラー: ユーザー・レジストリー・タイプが正しく設定されていない。 管理コンソールで、管理セキュリティー設定のユーザー・レジストリー・プロパティーを確認してください。 ユーザー・レジストリー・プロパティーが目的のユーザー・レジストリーであることを確認してください。
  • 内部プログラム・エラー。クライアント・アプリケーションが Java™ スタンドアロン・プログラムである場合、このプログラムが、クレデンシャル情報を正しく収集していないか、正しく送信していない可能性があります。

[AIX Solaris HP-UX Linux Windows][IBM i]ユーザー・レジストリー構成、 およびユーザー ID とパスワードが正しい場合は、WebSphere Application Server のトレースを使用して、問題の原因を判別します。セキュリティー・トレースを使用可能にするには、com.ibm.ws.security.*=all=enabled トレース仕様を使用します。

Web ページにアクセスする際の許可エラー

リソースへのアクセス権を持つべきユーザーが、 それを持っていない場合は、構成時に何らかのステップをスキップした可能性があります。 管理ロールへのアクセスの許可を参照してください。

具体的には、以下のようにします。
  • アクセスしている Web リソースに対する必要なロールを確認する。
  • 許可表をチェックして、ユーザーまたはユーザーが属するグループに、 必要なロールのいずれかが割り当てられていることを確認する。
  • Web リソースに必要なロールを、その Web リソースのデプロイメント記述子に表示する。
  • Web リソースを含むアプリケーションの許可表を、管理コンソールを使用して表示する。
  • 必要なロールを付与されたユーザーを使用して、 そのユーザーが問題のリソースにアクセスできるかを確かめる。
  • ユーザーが、必要なロールを 1 つ以上備えている必要がある場合は、 管理コンソールを使用して、そのユーザーを必要なロールに割り当て、アプリケーションを停止してから再始動する。

[AIX Solaris HP-UX Linux Windows][IBM i]ユーザーに必要なロールが付与されているにもかかわらず、 セキュア・リソースにアクセスできない場合は 、com.ibm.ws.security.*=all=enabled をトレース仕様として使用して 、セキュリティー・トレースを使用可能にしてください。 トレース情報を収集して、さらに解決を図ってください。

クライアントとサーバーでコード・ページが違うと、 認証に失敗する

クライアントが サーバーとは異なるコード・ページを使用し、基本認証時のユーザー ID と パスワードに US-ASCII 以外の文字が使用されている場合は、ログインに 失敗します。HTTP ヘッダーに、エンコードされたデータの変換に必要な エンコード方式情報が含まれていないため、サーバーには、その情報を正しくデコードする方法が わかりません。
POST パラメーターに依存するログイン・フォームが HTML 本体テキストにあるので、 それを使用してください。このテキストのエンコードはブラウザーによって送信されるので、 正しくデコードすることができます。
注: Web サービス・カスタマーは、フォーム・ログインを使用してこの問題を 解決することはできません。ユーザーは、クライアントおよびサーバーのコード・ページに一貫性があることを 確認する必要があります。

エラー・メッセージ: CWSCJ0314E: Current Java 2 security policy reported a potential violation on server

サーバー上で次のようなエラーが見つかる場合、
エラー・メッセージ: CWSCJ0314E: Current 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 プロパティーを指定すれば、より詳細なレポートを 使用できるようになります。
  • [AIX Solaris HP-UX Linux Windows][IBM i]Reliability Availability Serviceability (RAS) トレースをデバッグ・モードに構成する方法については、『トレースおよびロギングの構成』の項目を参照するか、次のようにします。
  • 管理コンソールの「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > 「server_name」 > 「Java およびプロセス管理」 > 「プロセス定義」 > 「Java 仮想マシン」ペインの「汎用 JVM 引数」フィールドに、以下のプロパティーを指定します。
    • java.security.debug ランタイム・フラグを追加します。
    • 有効な値:
      access
      必要な許可、コード、スタック、およびコード・ベースの場所など、 すべてのデバッグ情報を出力します。
      stack
      デバッグ情報 (必要なアクセス権、コード、スタックなど) を印刷します。
      failure
      デバッグ情報 (必要なアクセス権、コードなど) を印刷します。

Java セキュリティー・ポリシーを確認するには、 http://www.ibm.com/developerworks/java/jdk/security/ に ある 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 トークンを暗号化します。

この問題を解決するには、以下を行います。
  1. 「セキュリティー」 > 「グローバル・セキュリティー」 > 「認証」 > 「認証メカニズムおよび有効期限」 > 「LTPA」をクリックします。
  2. パスワード (何でもよい) を入力する。
  3. 「確認パスワード」に同じパスワードを入力します。
  4. 「適用」をクリックします。
  5. 「鍵の生成」をクリックします。
  6. 「保存」をクリックします。

SystemOut.log に、AccessControlException 例外が報告される

この問題は 、WebSphere Application Server の Java 2 セキュリティー・フィーチャーに関連しています。 このフィーチャーは、WebSphere Application Server で実装された API レベルのセキュリティー・フレームワークです。 以下の例のような例外が表示されます。 このエラー・メッセージと番号は、変わる場合があります。
[AIX Solaris HP-UX Linux Windows]
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet: 
java.security.AccessControlException: access denied 
(java.io.FilePermission 
app_server_root/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read) 
[z/OS]
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet:
java.security.AccessControlException: access denied 
(java.io.FilePermission 
/WebSphere/V6R1M0/AppServer/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
[IBM i]
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet: 
java.security.AccessControlException: access denied 
(java.io.FilePermission 
app_server_root/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)

[AIX Solaris HP-UX Linux Windows][IBM i]Java 2 セキュリティーの説明、 それを使用可能または使用不可にする方法および理由、Java 2 セキュリティーとポリシー・ファイルとの関係、 ならびにポリシー・ファイルを編集する方法については、インフォメーション・センター・ナビゲーションのトピック、Java 2 セキュリティーを参照してください。 このトピックでは、Java 2 セキュリティーはこの製品で使用されるだけでなく、開発者がそのビジネス・アプリケーションに実装することもできるということが説明されています。WebSphere Application Server がホストするリソースに対してクライアントがアクセスしようとする際にこの例外が発生した場合は、 管理者に開発者の支援が必要になることがあります。

これらのエラーの原因としては、以下のことが考えられます。
  • ポリシー・ファイル内の構文エラー。
  • .rar ファイルにバンドルされた ra.xml ファイル内の許可指定の構文エラー。 このケースは、CICS® またはその他のリソースへのコネクター・アクセスをサポートするリソース・ アダプターに該当します。
  • ポリシー・ファイル、または .rar ファイルにバンドルされた ra.xml ファイルで許可の指定が行われていない。
  • クラスパスが正しく設定されていないため、Service Provider Programming Interface (SPI) 用の resource.xml ファイルに対する許可が正しく作成できない。
  • アプリケーションによって呼び出されたライブラリー、またはそのアプリケーションに、 リソースへのアクセスをサポートする doPrivileged ブロックが欠落している。
  • 誤ったポリシー・ファイルに許可が指定されている。
以下の方法で、これらの問題を解決します。
  • すべての関連ポリシー・ファイルをチェックし、 例外に示された許可 (例えば java.io.FilePermission) が指定されていることを確認する。
  • SystemOut.log ファイルで、 構文エラーの詳細を報告する関連 ParserException 例外を探す。
    [AIX Solaris HP-UX Linux Windows]以下に例を示します。
    CWSCJ0189E: Caught ParserException while creating template for application policy
    
    profile_root/config/cells/cell_name/nodes/node_name/app.policy
    [z/OS]
    CWSCJ0189E: Caught ParserException while creating template for application policy
    
    /WebSphere/V6R1M0/AppServer1/profiles/profile_name/config/cells/cell_name/nodes/node_name/app.policy.
    [IBM i]
    CWSCJ0189E: Caught ParserException while creating template for application policy
    
    profile_root/config/cells/cell_name/nodes/node_name/app.policy
    各部の意味は、次のとおりです。
    • [z/OS]V6R1M0 は、使用している WebSphere Application Server のバージョンを表します。
    • cell_name は、セルの名前を表します。
    • profile_name は、プロファイルの名前を表します。
    • node_name は、ノードの名前を表します。
    例外は com.ibm.ws.security.util.ParserException: line 18: expected ';', found 'grant' です。
  • CWSCJ0325W: The permission permission specified in the policy file is unresolved.」のようなメッセージを探します。
  • 呼び出しスタックをチェックし、許可のないメソッドを判別する。このメソッドのクラスパスを確認します。 メソッドの確認が困難な場合は、「Java2 security Report」を使用可能にします。
    • [AIX Solaris HP-UX Linux Windows][IBM i]com.ibm.ws.security.core.*=all=enabled を指定するか、または Java property.java.security.debug プロパティーを指定して 、RAS トレースを構成する。 java.security.debug プロパティーの有効値は次のとおりです。
      access
      必要な許可、コード、スタック、およびコード・ベースの場所を含む、 すべてのデバッグ情報を出力します。
      stack
      デバッグ情報 (必要な許可、コード、スタックなど) を出力します。
      failure
      デバッグ情報 (必要な許可、コードなど) を出力します。
    • レポートには、以下のことが示されています。
      Permission
      欠落している許可。
      Code
      問題が発生しているメソッド。
      Stack Trace
      アクセス違反が発生した場所。
      CodeBaseLocation
      各スタック・フレームの詳細。
      [AIX Solaris HP-UX Linux Windows]通常、「Permission」と「Code」で十分問題を特定できます。 以下は、レポートの例です。
      Permission: 
      app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission
      app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code:
       com.ibm.ejs.ras.RasTestHelper$7  in
      {file:app_server_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar
      } 
      
      Stack Trace:
      
      java.security.AccessControlException: access denied (java.io.FilePermission
      app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete
      ) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code))        
                                     . 
      Code Base Location:
      
      com.ibm.ws.security.core.SecurityManager :
      file:/app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar
      
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader
        Permissions granted to CodeSource
      (file:/app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates>
      
        { 
          (java.util.PropertyPermission java.vendor read);
          (java.util.PropertyPermission java.specification.version read);
          (java.util.PropertyPermission line.separator read);
          (java.util.PropertyPermission java.class.version read);
          (java.util.PropertyPermission java.specification.name read);
          (java.util.PropertyPermission java.vendor.url read);
          (java.util.PropertyPermission java.vm.version read);
          (java.util.PropertyPermission os.name read);
          (java.util.PropertyPermission os.arch read);
         } 
         (このリストは続きます。)
      [z/OS]
      Permission: 
      /WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission
      WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code:
       com.ibm.ejs.ras.RasTestHelper$7  in
      {file:/WebSphere/AppServer/installedApps/app1/JrasFVTApp.ear/RasLib.jar} 
      
      Stack Trace:
      
      java.security.AccessControlException: access denied (java.io.FilePermission
      
      /WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code))        
                                     . 
      Code Base Location:
      
      com.ibm.ws.security.core.SecurityManager :
      
      file:/WebSphere/AppServer/lib/securityimpl.jar
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader
        Permissions granted to CodeSource
      (file:/WebSphere/AppServer/lib/securityimpl.jar <no certificates>
        { 
          (java.util.PropertyPermission java.vendor read);
          (java.util.PropertyPermission java.specification.version read);
          (java.util.PropertyPermission line.separator read);
          (java.util.PropertyPermission java.class.version read);
          (java.util.PropertyPermission java.specification.name read);
          (java.util.PropertyPermission java.vendor.url read);
          (java.util.PropertyPermission java.vm.version read);
          (java.util.PropertyPermission os.name read);
          (java.util.PropertyPermission os.arch read);
         } 
         (このリストは続きます。)
      [IBM i]
      Permission: 
      profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission
      profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code:
       com.ibm.ejs.ras.RasTestHelper$7  in
      {file:profile_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar
      } 
      
      Stack Trace:
      
      java.security.AccessControlException: access denied (java.io.FilePermission
      profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete
      ) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code))        
                                     . 
      Code Base Location:
      
      com.ibm.ws.security.core.SecurityManager :
      file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar
      
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader
        Permissions granted to CodeSource
      (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates>
        { 
          (java.util.PropertyPermission java.vendor read);
          (java.util.PropertyPermission java.specification.version read);
          (java.util.PropertyPermission line.separator read);
          (java.util.PropertyPermission java.class.version read);
          (java.util.PropertyPermission java.specification.name read);
          (java.util.PropertyPermission java.vendor.url read);
          (java.util.PropertyPermission java.vm.version read);
          (java.util.PropertyPermission os.name read);
          (java.util.PropertyPermission os.arch read);
         } 
         (このリストは続きます。)
      Permission:
      profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission
      profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code:
       com.ibm.ejs.ras.RasTestHelper$7  in
      {file:profile_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar} 
      
      Stack Trace:
      
      java.security.AccessControlException: access denied (java.io.FilePermission
      
      profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code))        
                                     . 
      Code Base Location:
      
      com.ibm.ws.security.core.SecurityManager :
      
      file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader
        Permissions granted to CodeSource
      (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates>
        { 
          (java.util.PropertyPermission java.vendor read);
          (java.util.PropertyPermission java.specification.version read);
          (java.util.PropertyPermission line.separator read);
          (java.util.PropertyPermission java.class.version read);
          (java.util.PropertyPermission java.specification.name read);
          (java.util.PropertyPermission java.vendor.url read);
          (java.util.PropertyPermission java.vm.version read);
          (java.util.PropertyPermission os.name read);
          (java.util.PropertyPermission os.arch read);
         } 
         (このリストは続きます。)
      Permission:
      profile_root
      /logs/server1/SystemOut_02.08.20_11.19.53.log : 
      access denied (java.io.FilePermission
      profile_root
      /logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
      
      Code:
       com.ibm.ejs.ras.RasTestHelper$7  in
      {file:profile_root
      /installedApps/app1/JrasFVTApp.ear/RasLib.jar} 
      
      Stack Trace:
      
      java.security.AccessControlException: access denied (java.io.FilePermission
      
      profile_root
      /logs/server1/SystemOut_02.08.20_11.19.53.log delete) 
              at java.security.AccessControlContext.checkPermission
                                    (AccessControlContext.java(Compiled Code)) 
              at java.security.AccessController.checkPermission
                                    (AccessController.java(Compiled Code))
              at java.lang.SecurityManager.checkPermission
                                    (SecurityManager.java(Compiled Code))        
                                     . 
      Code Base Location:
      
      com.ibm.ws.security.core.SecurityManager :
      
      file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar
        ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader
        Permissions granted to CodeSource
      (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates>
        { 
          (java.util.PropertyPermission java.vendor read);
          (java.util.PropertyPermission java.specification.version read);
          (java.util.PropertyPermission line.separator read);
          (java.util.PropertyPermission java.class.version read);
          (java.util.PropertyPermission java.specification.name read);
          (java.util.PropertyPermission java.vendor.url read);
          (java.util.PropertyPermission java.vm.version read);
          (java.util.PropertyPermission os.name read);
          (java.util.PropertyPermission os.arch read);
         } 
         (このリストは続きます。)
      各部の意味は、次のとおりです。
      • app1 は、アプリケーションの名前を表します。
      • app_server_root は、WebSphere Application ServerWebSphere 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.policywas.policy および ra.xml ファイルを検索してください。 クラスパスの許可リストを確認するには、Effective Policy for classpath を検索します。
  • ポリシー・ファイルまたは ra.xml ファイル内に構文エラーがある場合は 、ポリシー・ツールを使用して訂正します。 構文エラーが発生する可能性があるため、手動でポリシーを編集しないようにしてください。

  • Unresolved」とリストされている許可は有効になりません。 指定した許可名が正しいことを確認してください。
  • resource.xml ファイルで指定したクラスパスが正しくない場合は、訂正します。
  • 必要な許可がポリシー・ファイルまたは ra.xml ファイルに存在しない場合は、 アプリケーション・コードを調べて、この許可を追加する必要があるかどうかを確認します。必要があれば、 適切なポリシー・ファイルまたは ra.xml ファイルに追加します。
  • このリソースにアクセスする特定のメソッド以外に許可が付与されていない場合は 、doPrivileged ブロックを使用するようにコードを変更します。
  • [AIX Solaris HP-UX Linux Windows][IBM i]この許可がポリシー・ファイル内または ra.xml ファイル内に存在していて、許可が正しくロードされたにもかかわらず、クラスパスのリストに表示されていない場合は、 許可のロケーションが間違っている可能性があります。 インフォメーション・センター・ナビゲーションの Java 2 セキュリティーをよく読み、どのポリシー・ファイルまたは ra.xml ファイルで その許可を指定する必要があるかを判別してください。
ヒント: アプリケーションが Java Mail 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 ユーザー・レジストリーに見つからない場合に表示されます。 この問題を解決するには、以下を行います。
  1. ユーザー ID とパスワードが正しいことを確認します。
  2. そのユーザー ID がレジストリー内に存在することを確認します。
  3. 基本識別名 (DN) が正しいことを確認します。
  4. ユーザー・フィルターが正しいことを確認します。
  5. バインド DN と、そのバインド DN 用のパスワードが正しいことを確認します。 バインド DN とパスワードが指定されていない場合は、 欠落情報を追加して再試行してください。
  6. ホスト名と LDAP タイプが正しいことを確認します。
これでも問題が解決しない場合は、 ユーザー・レジストリーの管理者に連絡してください。

エラー・メッセージ: セキュリティー collaborator.java.lang.SecurityException の初期化中に予期しない例外が発生しました: AuthConfigFactory エラー: java.lang.ClassNotFoundException: org.apache.geronimo.components.jaspi.AuthConfigFactoryImpl

このエラー・メッセージは、java.security ファイルに JASPI プロバイダーのエントリーが欠落しているときに生じます。 java.security ファイルのデフォルトの場所は、install_dir/properties です。 java.security ファイルを編集して、そこに以下の行を追加します。
#
# The fully qualified class name of the default JASPI factory implementation class.
#
authconfigprovider.factory=com.ibm.ws.security.jaspi.ProviderRegistry
注: このエラーが生じるのは、 このクラスを使用するように明示的に構成を設定した場合だけです。 それ以外の場合は、次のエラー・メッセージ SECJ8032W が表示されることがあります。

エラー・メッセージ: SECJ8032W: デフォルトの JASPI ファクトリー実装クラスを使用する AuthConfigFactory は未定義です

このエラー・メッセージが生じるのは、JASPI ファクトリー実装が定義されていない場合です。 デフォルトの JASPI ファクトリー実装は、サーバー・ランタイムで設定されています。 ただし、JASPI はクライアントに対して機能しない可能性があります。

解決するには、以下の例のように java.security ファイル内の authconfigprovider.factory プロパティーの値として、デフォルト JASPI ファクトリー実装クラスの完全修飾クラス名を設定します。
#
# The fully qualified class name of the default JASPI factory implementation class.
#
authconfigprovider.factory=com.ibm.ws.security.jaspi.ProviderRegistry

エラー・メッセージ: SECJ0352E: 次の例外 {1} によって、パターン {0} に一致するユーザーを 取得できませんでした

この認証失敗メッセージが表示されるのは、 外部のユーザー・アカウント・リポジトリーが破損しているか使用不可になっているために、 WebSphere Application Server がリポジトリー内のユーザー名を認証できない 場合です。通常は、認証エラー・メッセージに続いて、例えば次のように、 問題の本質的な原因すなわち根本原因を示す追加情報が表示されます。

パターンに一致するユーザーがレジストリーに存在することを確認してください。問題が続く場合は、サービス担当者に連絡してください。

ユーザー・アカウント・リポジトリーが 破損している場合、またはユーザーが WebSphere Application Server と外部ユーザー・アカウント・リポジトリー間の 接続を切断した場合は、この追加情報では明確なユーザー処置が提供されないことがあります。 外部ユーザー・アカウント・リポジトリー (ここではリポジトリーと 呼びます) は、Lightweight Directory Access Protocol (LDAP) 製品などです。
この問題を解決するには、リポジトリーを再インストールして、接続テストを行って インストールが正常に行われたことを確認する必要があります。
注意:
WebSphere Application Server に関連するすべての構成設定が正しいことを確認した場合にのみ、 次のステップに進んでください。
問題を解決するには 以下のステップに従います。
  1. リポジトリーと WebSphere Application Server の両方を再始動します。
  2. リポジトリーへの接続をテストします。それでも接続に失敗する場合は、 リポジトリーの再インストールが必要かもしれません。
  3. リポジトリーに関する診断が出る場合は、リポジトリーを再インストールしなくてもよいように、 それを実行してみてください。
    重要: それでも問題が 解決しない場合は、リポジトリーを再インストールする必要があるかもしれません。先に進む前に、 構成済みのすべてのユーザーおよびグループの完全なリストを生成してください。 再インストール後は、これらのフィールドを再設定する必要があります。
  4. 必要に応じて、破損したリポジトリーを再インストールします。
  5. ユーザーおよびグループを、リストから新しくインストールしたリポジトリーに 取り込みます。
  6. リポジトリーと WebSphere Application Server の両方を再始動します。
  7. 管理コンソールで、「セキュリティー」 > 「グローバル・セキュリティー」に移動し、該当するユーザー・アカウント・リポジトリーを 選択します。例えば、スタンドアロンの Lightweight Directory Access Protocol リポジトリーを 使用する場合は「スタンドアロン LDAP レジストリー」を選択します。
  8. テスト接続」をクリックして、WebSphere Application Server がリポジトリーに 接続できることを確認します。

LTPA トークンの妥当性検査が、鍵またはトークン・タイプが無効であるため失敗する

LTPA トークンのセキュリティー・コンテキストのデシリアライゼーションが WSSecurityException で失敗し、「LTPA トークンの妥当性検査は、無効な鍵またはトークン・タイプのため失敗しました。」というメッセージが表示される場合は、com.ibm.websphere.security.recoverContextWithNewKeys プロパティーを true に設定してください。

プロファイル管理ツールを使用して新規プロファイルを作成すると、 鍵の生成エラーが発生する

プロファイル管理ツールまたは コマンド行の 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 ファイル

LDAP で Tivoli Access Manager が使用可能になっている場合、セキュア・アプリケーションで一部のセキュリティー・ロールをすぐに使用できない。

場合によっては、LDAP で Tivoli® Access Manager が使用可能になっている環境で、セキュア・アプリケーションをデプロイした場合に、一部のセキュリティー・ロールをすぐに使用できないことがあります。

以下のようなエラーが表示される可能性があります。
"Exception: java.lang.OutOfMemoryError"
以下を実行することで、この問題に対処できる場合もあります。
  1. 最小 java ヒープ・サイズおよび最大 java ヒープ・サイズに割り振るメモリーを増やします。
    1. 管理コンソールで、「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > server1 とクリックします。
    2. 「サーバー・インフラストラクチャー」 > 「Java およびプロセス管理」 > 「プロセス定義」とクリックします。
    3. 「Java 仮想マシン」を選択します。
    4. 初期ヒープ・サイズを 512 MB に、最大ヒープ・サイズを 1024 MB に設定します。
    5. OK」を選択してから「保存」をクリックします。
    6. WebSphere Application Server を再始動します。
  2. WebSphere Application Sever が停止している間に、組み込み Tivoli Access Manager 用にいくつかのパフォーマンス調整プロパティーを追加します。
    1. config/cells/CELLNAME ディレクトリーで、amwas.amjacc.template.properties ファイルを編集して、以下のプロパティーを追加します。
      com.tivoli.pd.as.jacc.DBRefresh=0
      com.tivoli.pd.as.jacc.AuthTableRemoteMode=yes
      com.tivoli.pd.as.rbpf.NoUncheckedRoles=true

      これは、組み込み Tivoli Access Manager の再構成時に役立ちます。

    2. 組み込み Tivoli Access Manager は既に構成済みのため、生成された構成ファイルを上記のプロパティーを使用して更新できます。ND (dmgr、NA、サーバー) の各 WebSphere Application Server インスタンスの場合は、profiles/NAME/etc/tam ディレクトリーに移動して以下を実行します。
      amjacc.properties で終わる各ファイルについて、以下の示された 3 つのプロパティーを追加します。
      com.tivoli.pd.as.jacc.DBRefresh=0
      com.tivoli.pd.as.jacc.AuthTableRemoteMode=yes
      com.tivoli.pd.as.rbpf.NoUncheckedRoles=true

      pdperm.properties で終わる各ファイルで、appsvr-dbrefresh プロパティーを appsvr-dbrefresh=0 になるように更新します。

      authztable.pdperm.properties で終わる各ファイルでは、appsvr-mode プロパティーを appsvr-mode=remote になるように更新します。

  3. セルを再始動します。

ドメインのレルムを非トラステッドに設定した後、グローバル・セキュリティー設定を使用できない

トラステッド・ドメインのレルムを追加した後、管理コンソールでそのレルムを「非トラステッド」に設定すると、 domain-security.xml ファイルに空の inboundTrustedAuthenticationRealm エントリーが生成されることがあります。domain-security.xml ファイル内に、この空のインバウンドまたはアウトバウンドのトラステッド・レルム定義が生成されることにより、このドメインでグローバル・セキュリティー設定が使用できなくなります。

この問題を解決するには、以下を行います。
  1. 現行のドメインを削除します。
  2. 新規ドメインを作成します。
  3. 不適切なレルムを「トラステッド」として追加しないようにします。

更新されたグローバル・セキュリティー・レルム名が重複している

グローバル・セキュリティー・レルム名が更新されると、アプリケーション・セキュリティー・ドメインのレルム名も同じレルム名で更新される

WebSphere Application Server バージョン 8.0 では、グローバル・レベルのインスタンスのほか、 複数セキュリティー・ドメイン環境のドメイン・レベルで統合リポジトリーの固有のインスタンスを構成できます。 ただし、統合リポジトリー・ユーザー・レジストリーがグローバル・レベルで構成されている場合、 またはセキュリティー・ドメインの構成後にレルム名がグローバル・レベルで変更された場合、 統合リポジトリーを使用するすべてのセキュリティー・ドメインのレルム名も更新されます。 これにより、統合リポジトリーを使用するすべてのドメインが、グローバル・レベルで定義されている統合リポジトリーを使用することになります。

この問題を解決するには、統合リポジトリーを作成した後、またはレルム名をグローバル・レベルで変更した後で、統合リポジトリーを使用するセキュリティー・ドメインを元のレルム名で更新します。 セキュリティー・ドメイン内に統合リポジトリーを構成する前に、グローバル・レベルの統合リポジトリーが構成されている場合には、この問題が発生しません。

注: フィックスパック 2 では、グローバル・セキュリティー・レルム名が更新されても、アプリケーション・セキュリティー・ドメインのレルム名が同じレルム名で更新されることはありません。

セッション・セキュリティー・フィーチャーがオンのときにエラーが発生することがある

セッション・セキュリティー・フィーチャーをオンにしており (これは、WebSphere Application Server バージョン 8.0 ではデフォルトです)、複数のセッションが同じユーザー ID を使用している場合、そのうちの 1 つのセッションからユーザーがログアウトすると、別のセッションで同じユーザー ID を使用してログインしていた他のユーザーがログアウトしたときに以下のエラーを受け取ることがあります。
SESN0008E: 匿名として認証されたユーザーが、{<user>} が所有するセッションにアクセスしようとしました。

この問題を解決するには、同じユーザー ID を使用する場合は、必ず前のユーザーがログアウトしてから、別のユーザーがログインするようにしてください。

トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): この問題は、セッション・セキュリティー・フィーチャーがオンになっていない場合にも発生することがあります。その場合の解決方法も、オンになっている場合と同様で、同じユーザー ID を使用する場合は、必ず前のユーザーがログアウトしてから、別のユーザーがログインするようにしてください。gotcha
[z/OS]

ABEND WITH ABEND EC3 REASON=020F2001

WebSphere Application Server for z/OS のインストール時に zPMT ダイアログまたは ISPF カスタマイズ・ダイアログでセキュリティーを直ちに使用可能にしないと、完全な RACF® 定義が生成されません。後で管理コンソールを使用してセキュリティーが使用可能になったときに、RACF ステートメントが欠落しているため、WebSphere Application Server の制御領域が開始されません。 この問題の解決について詳しくは、APAR PK36598 を検討してください。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rtrb_secprobs2
ファイル名:rtrb_secprobs2.html