WebSphere Application Server, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

セキュリティーを使用可能にした後のアクセス問題

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

どのようなエラーが発生しましたか?

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

類似した問題が見つからない場合、 または提供されている情報では問題が解決されない場合は 、IBM からのトラブルシューティングのヘルプ を参照してください。

セキュリティーを使用可能にした後、 管理コンソールの全部または一部にアクセスできない。あるいは、wsadmin ツールが使用できない

  • 管理コンソールにアクセスできない場合、 または特定のオブジェクトを表示および更新できない場合は、 管理コンソール・ページをホスティングするアプリケーション・サーバーの SystemOut ログを調べて、 関連するエラー・メッセージを探してください。
  • 管理用タスクを行えるように、ID が許可されていない可能性があります。 この問題は、以下のようなエラーで示されます。
    • [8/2/02 10:36:49:722 CDT] 4365c0d9 RoleBasedAuth A CWSCJ0305A: Role based authorization check failed for security name MyServer/myUserId, accessId MyServer/S-1-5-21-882015564-4266526380-2569651501-1005 while invoking method getProcessType on resource Server and module Server.
    • 例外メッセージ: 「CWWMN0022E: Access denied for the getProcessType operation on Server MBean」
    • When running the command: wsadmin -username j2ee -password j2ee: CWWAX7246E: Cannot establish "SOAP" connection to host "BIRKT20" because of an authentication failure. Ensure that user and password are correct on the command line or in a properties file.
    ID に管理権限を与えるには、管理コンソールから、 「System Administration」>「Console Users」の順にクリックし、 その ID がメンバーであることを確認します。 ID がメンバーでない場合は、少なくとも読み取り専用アクセスが可能な、モニター・アクセス権を持つ ID を追加します。
  • enable_trusted_application フラグが true に設定されているか確認します。 管理コンソールを使用して enable_trusted_application フラグの値を確認するには、「セキュリティー」>「グローバル・セキュリティー」とクリックします。 「追加プロパティー」の下の「カスタム・プロパティー」>「EnableTrustedApplications」をクリックします。

セキュリティーを使用可能にした後、Web ページにアクセスできない

セキュア・リソースにアクセスできない場合、以下のような原因が考えられます。
  • 認証エラー - WebSphere Application Server セキュリティーは、個人またはプロセスの ID を識別できません。認証エラーの症状としては、以下のようなものがあります。
    Netscape ブラウザーの場合:
    • ログインしようとすると、「Authorization failed. Retry?」というメッセージが表示される。
    • ログインの再試行は何度でもできるが、「キャンセル」をクリックして再試行を停止すると、 「Error 401」というメッセージが表示される。
    • 典型的なブラウザー・メッセージは、 「Error 401: Basic realm = 'Default Realm'」といったメッセージです。
    Internet Explorer ブラウザーの場合:
    • ログインの試行後に、ログイン・プロンプトが再度表示される。
    • ログインは 3 回再試行できる。
    • ログインに 3 回失敗すると、「Error 401」というメッセージが表示される。
  • 許可エラー - セキュリティー機能により、要求元の個人またはプロセスが、保護されたリソースへのアクセスを許可されていないと識別されました。以下のような許可エラーの症状があります。
    • Netscape ブラウザー:「Error 403: AuthorizationFailed」というメッセージが表示される。
    • Internet Explorer:
      • 「You are not authorized to view this page」というメッセージが表示される。
      • 「HTTP 403 Forbidden」というエラーも表示される。
  • SSL エラー - WebSphere Application Server セキュリティーは、内部で Secure Sockets Layer (SSL) テクノロジーを使用して、自らの通信を保護および暗号化しますが、内部 SSL 設定の構成が誤っていると、問題が発生する可能性があります。 また、ユーザー独自の Web アプリケーションまたは Enterprise Bean クライアントのトラフィック用の SSL 暗号化が使用可能となっている場合もあります。 構成に誤りがあると、WebSphere Application Server セキュリティーが使用可能にされているかどうかに関係なく、 問題が発生する可能性があります。
    • SSL 関連の問題は、たいていの場合、 「エラー: 初期コンテキストを取得できないか、開始コンテキストを検索できません。終了します。」といったステートメントを含むエラー・メッセージで示されます。 この後に、javax.net.ssl.SSLHandshakeException

セキュリティーを使用可能にした後、 クライアントがエンタープライズ Bean にアクセスできない

セキュリティーを使用可能にした後、クライアントがエンタープライズ Bean にアクセスできない場合は、以下のようにします。
  • リソースへのアクセス権を保護し、付与するためのステップを参照してください。
  • サーバーの JVM ログを参照して、 Enterprise Bean アクセスおよびセキュリティーに関連するエラーを探します。 メッセージ表でエラーを検索します。

    resource を起動中に /UNAUTHENTICATED に対する許可が失敗しました。securityName:/UNAUTHENTICATED;accessId:UNAUTHENTICATED not granted any of the required roles roles」のようなエラーは、以下のことを示しています。
    • 無保護のサーブレットまたは JavaServer Pages (JSP) ファイルが保護されたエンタープライズ Bean にアクセスした。 無保護サーブレットにアクセスすると、ユーザーには、ログインするためのプロンプトが出されないので、 サーブレットは UNAUTHENTICATED として実行されます。 サーブレットが保護されているエンタープライズ Bean を呼び出すと、そのサーブレットは失敗します。

      この問題を解決するには、 保護されているエンタープライズ Bean にアクセスするサーブレットをセキュアにします。サーブレットの runAs プロパティーを、エンタープライズ Bean にアクセス可能な ID に設定するようにしてください。

    • 非認証 Java クライアント・プログラムが、保護されたエンタープライズ Bean リソースにアクセスしようとしている。 この状況は、クライアント・プログラムが使用する sas.client.props プロパティー・ファイルによって読み取られたファイルの securityEnabled フラグが、true に設定されていない場合に起こる可能性があります。

      この問題を解決するには、クライアント・サイドの sas.client.props ファイルの securityEnabled フラグを、true に設定してください。

    resource の呼び出し中に valid_user の許可が失敗しました。 securityName:/username;accessId:xxxxxx には必要な役割 roles が認可されていません」のようなエラーは、クライアントがセキュア・エンタープライズ Bean リソースへのアクセスを試み、 その際に入力されたユーザー ID がそのエンタープライズ Bean に対して必要な役割を割り当てられていないことを示しています。
    • アクセス先のエンタープライズ Bean リソースに必要な役割があることを確認する。 エンタープライズ Bean リソースに必要な役割を、Web リソースのデプロイメント記述子内で表示します。
    • 許可表をチェックして、ユーザーまたはユーザーが属するグループに、必要な役割のいずれかが割り当てられていることを確認する。エンタープライズ Bean リソースを含むアプリケーションの許可表を、 管理コンソールを使用して表示することができます。
セキュア・エンタープライズ Bean にアクセスするために、 プログラマチックにログオンする際に、org.omg.CORBA.NO_PERMISSION という例外が表示される場合は、サーバーで認証例外が発生したことを示します。 通常、CORBA 例外は、その例外の基盤となる com.ibm.WebSphereSecurity.AuthenticationFailedException によってトリガーされます。 認証例外の実際の原因を判別するには、 トレース・スタック全体を調べる必要があります。
  1. まず、WSSecurityContext.acceptSecContext(), reason: に続く例外のテキストを表示します。 通常、このテキストには障害についての説明があります。ただし詳細な分析は行われていません。
  2. このアクションで 問題についての説明が得られない場合は、Common Object Request Broker Architecture (CORBA) マイナー・コードを 検索してください。このコードは、セキュリティー・コンポーネントのトラブルシューティングの解説という項目にリストされています。
    例えば、 次の例外は、CORBA マイナー・コード 49424300 を表しています。 CORBA マイナー・コード表内のこのエラーについての説明は、以下のとおりです。
    authentication failed error
    この場合は、 クライアント・プログラムから提供されたユーザー ID またはパスワードが無効である可能性があります。
    org.omg.CORBA.NO_PERMISSION: Caught WSSecurityContextException in WSSecurityContext.acceptSecContext(), reason: Major Code[0] Minor Code[0] Message[ Exception caught invoking authenticateBasicAuthData from SecurityServer for user jdoe. Reason: com.ibm.WebSphereSecurity.AuthenticationFailedException] 
    minor code: 49424300 completed: 
    No at com.ibm.ISecurityLocalObjectBaseL13Impl.PrincipalAuthFailReason.map_auth_fail_to_minor_code 
    (PrincipalAuthFailReason.java:83)

クライアント・プログラムは、 サーバーから「CWWSA1477W: SECURITY CLIENT/SERVER CONFIGURATION MISMATCH」というエラーが組み込まれた「CORBA INITIALIZE」例外を受け取ります。

このエラーは、 サーバーとクライアントのセキュリティー構成が、何らかの基本的な部分で一致していないことを示します。 完全な例外メッセージには特定の不一致がリストされます。例えば、 次の例外には 3 つのエラーがリストされています。

受け取った例外: org.omg.CORBA.INITIALIZE: CWWSA1477W: SECURITY CLIENT/SERVER CONFIG MISMATCH: 
クライアント・セキュリティー構成 (sas.client.props または管理コンソールのアウトバウンド設定) は、
次の理由によりサーバー・セキュリティー構成をサポートしていません。
エラー 1: CWWSA0607E: クライアントでは SSL 機密性が必要ですが、サーバーはそれをサポートしていません。
エラー 2: CWWSA0610E: サーバーでは SSL 保全性が必要ですが、クライアントはそれをサポートしていません。
エラー 3: CWWSA0612E: The client requires client (e.g., userid/password or token), but the server does not support it.
minor code: 0 
     completed: No at 
com.ibm.ISecurityLocalObjectBaseL13Impl.SecurityConnectionInterceptor.getConnectionKey
(SecurityConnectionInterceptor.java:1770)

通常、問題を解決するためには、クライアントまたはサーバーのセキュリティー構成を変更する必要があります。どちらの構成設定が関係しているのかを判断するには、 CWWSA エラー・メッセージに続くテキストを参照してください。 詳細な説明と指示については、 インフォメーション・センター・ナビゲーションの「Reference」ビューを選択し、 ナビゲーション・ツリーで「 メッセージ 」を展開して、 メッセージ参照内を探してください。

特殊なケース:
  • エラー 1 では、クライアントでは SSL 機密性が必要であるのに、 サーバーが SSL 機密性をサポートしていません。この不一致を解決するには、2 つの方法があります。1 つはサーバーを SSL 機密性をサポートするように更新する方法であり、 もう 1 つはクライアントを更新して SSL 機密性を必要としないようにする方法です。
  • エラー 2 では、サーバーでは SSL 保全性が必要であるのに、 クライアントが SSL 保全性をサポートしていません。 この不一致を解決するには、2 つの方法があります。1 つはサーバーを SSL 保全性をサポートするように更新する方法、 もう 1 つはクライアントを更新して SSL 保全性を必要としないようにする方法です。
  • エラー 3 では、クライアントではユーザー ID とパスワードによるクライアント認証が必要であるのに、 サーバーがこのタイプのクライアント認証をサポートしていません。 クライアントかサーバーのいずれかが構成を変更する必要があります。クライアント構成を変更するには、 ピュア・クライアント用の SAS.CLIENT.PROPS ファイルを変更するか、 セキュリティー管理コンソールでサーバーのアウトバウンド構成を変更してください。 ターゲット・サーバーの構成を変更するには、 セキュリティー管理コンソールでインバウンド構成を変更してください。

同様に、クライアント要求を処理しようとしているサーバーに表示される org.omg.CORBA.INITIALIZE: JSAS0477W: SECURITY CLIENT/SERVER CONFIG MISMATCH: のような例外は、クライアントとサーバー間のセキュリティー構成の不一致を示します。問題を解決するためのステップは、前述の JSAS1477W 例外の場合と同じです。

セキュア・エンタープライズ Bean にアクセスする際に、クライアント・プログラムにプロンプトが出されない

セキュリティーが使用可能になっていて、エンタープライズ Bean が保護されているようであっても、クライアントがプロンプトを出さずにリモート・メソッドを実行する場合があります。 リモート・メソッドが保護されている場合は、許可を得ることはできません。 そうでない場合は、非認証ユーザーとしてメソッドを実行します。

この問題の原因としては、 以下のことが考えられます。
  • 通信相手のサーバーのセキュリティーが使用可能になっていません。 WebSphere Application Server 管理者に連絡して、サーバーのセキュリティーが使用可能になっていることを確認してください。管理コンソールの「セキュリティー」セクションから、セキュリティー設定にアクセスしてください。
  • クライアントの sas.client.props ファイルで、 セキュリティーが使用可能になっていません。 sas.client.props ファイルを編集して、プロパティー com.ibm.CORBA.securityEnabled を true に設定してください。
  • クライアントの ConfigURL が指定されていません。プロパティー com.ibm.CORBA.ConfigURL が、Java クライアントのコマンド行で -D パラメーターを使用して指定されていることを確認してください。
  • 指定した ConfigURL の URL 構文が無効であるか、 あるいはその URL が指す sas.client.props が見つかりません。 com.ibm.CORBA.ConfigURL プロパティーが有効であるかどうかを確認してください。 URL 形式の規則については、 Java の資料を調べてください。 また、ファイルが指定したパスに存在することも確認してください。

    [Windows] 有効なプロパティーの例は、C:/WebSphere/AppServer/properties/sas.client.props などです。

  • クライアント構成が、 メッセージ層のクライアント認証 (ユーザー ID とパスワード) をサポートしていません。sas.client.props ファイルの以下のプロパティーのいずれかが、true に設定されていることを確認してください。
    • com.ibm.CSI.performClientAuthenticationSupported=true
    • com.ibm.CSI.performClientAuthenticationRequired=true
  • サーバー構成が、 メッセージ層のクライアント認証 (ユーザー ID とパスワードで構成) をサポートしていません。 WebSphere Application Server 管理者に連絡して、 管理コンソール管理ツールのシステム管理セクション内のサーバーのインバウンド構成で、 ユーザー ID とパスワードによる認証が指定されていることを確認してください。

セキュリティーを使用可能にした後、アプリケーション・サーバー、ノード・マネージャー、またはノードを停止できない

コマンド行ユーティリティーを使用して WebSphere Application Server プロセスを停止する場合は、 認証および許可の情報を提供するために、セキュリティーを使用可能にした後で追加のパラメーターを適用します。

./stopServer -help コマンドを実行して、使用するパラメーターを表示してください。

セキュリティーを使用可能にした後、次のコマンド・オプションを実行します。
  • ./stopServer serverName -username name -password password
  • ./stopNode -username name -password password
  • ./stopManager -username name -password password

Windows サービス・パネルまたはネット停止コマンドを使用して WebSphere Application Server プロセスを停止しようとして、サービスが停止しなかった場合は、追加の停止引数を使用して既存の Application Server サービスを更新します。 サービスを更新する前に、タスク・マネージャーからサーバー・プロセスを終了する必要がある場合があります。 -stopArgs および -encodeParams パラメーターを 使用して、WASService コマンド項目内の 『既存の Application Server サービスの更新』例での説明に従って、 サービスを更新します。

シングル・サインオン (SSO) を使用可能にした後、管理コンソールにログオンできない

この問題は、シングル・サインオン (SSO) を使用可能にし、サーバーのショート・ネーム (例えば、http://myserver:port_number/ibm/console) を使用して管理コンソールにアクセスしようとした場合に発生します。 サーバーはユーザー ID とパスワードを受け入れますが、 管理コンソールではなくログオン・ページが表示されます。

この問題を解決するには、 サーバーの完全修飾ホスト名 (例えば http://myserver.mynetwork.mycompany.com:9060/ibm/console) を使用します。




関連概念
welc6toptroubleshooting.html
関連タスク
セキュリティー構成のトラブルシューティング
関連資料
セキュリティーを使用可能にした後のエラー発生
WASService コマンド
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 22, 2008 12:07:38 AM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/rtrb_secprobs.html