セキュリティーを使用可能にした後のアクセス問題
この情報は、セキュリティーを使用可能にした後でアクセス問題が発生した場合に使用します。
- セキュリティーを使用可能にした後、 管理コンソールの全部または一部にアクセスできない。あるいは、wsadmin ツールが使用できない
- セキュリティーを使用可能にした後、Web ページにアクセスできない
- Web ページにアクセスする際の認証エラー
- Web ページにアクセスする際の許可エラー
- セキュリティーを使用可能にした後、 クライアントがエンタープライズ Bean にアクセスできない
- セキュア・エンタープライズ Bean にアクセスする際に、クライアント・プログラムにプロンプトが出されない
- セキュリティーを使用可能にした後、アプリケーション・サーバー、ノード・マネージャー、またはノードを停止できない
SystemOut.log に、AccessControlException 例外が報告される
- シングル・サインオン (SSO) を使用可能にした後、管理コンソールにログオンできない
- SECJ0306E: スレッド上に受信済みまたは呼び出しクレデンシャルがありません。
- 統合リポジトリー に初めて接続するときに、Name NotFoundException エラーが発生する
セキュリティー関連の問題を診断および解決するための一般的なヒントについては、トピック『セキュリティー・コンポーネントのトラブルシューティングのヒント』を参照してください。
類似した問題が見つからない場合、または提供されている情報では問題が解決されない場合は、『IBM からのトラブルシューティングのヘルプ』を参照してください。
セキュリティーを使用可能にした後、 管理コンソールの全部または一部にアクセスできない。あるいは、wsadmin ツールが使用できない
管理コンソールにアクセスできない場合、 または特定のオブジェクトを表示および更新できない場合は、 管理コンソール・ページをホスティングするアプリケーション・サーバーの SystemOut ログを調べて、 関連するエラー・メッセージを探してください。
管理コンソールにアクセスできない場合、 または特定のオブジェクトを表示および更新できない場合は、 管理コンソール・ページをホスティングするアプリケーション・サーバーのログを調べて、 関連するエラー・メッセージを探してください。
注: 次の 2 つの項目を完了するには、管理コンソールを使用する必要があります。 管理コンソールにアクセスするときに問題が発生する場合は、セキュリティーをオフにして、管理コンソールを 再始動する必要があります。 セキュリティーをオフにするには、システム・コマンド・プロンプトで以下のコマンドを入力します。
システム・コマンド・プロンプトが再表示されたら、以下を入力します。wsadmin.sh -conntype NONE
セキュリティーをオフにした後、デプロイメント・マネージャーを再始動します。securityoff
- 管理用タスクを行えるように、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.
- 信頼されたアプリケーションの機能が使用可能であることを確認します。 WebSphere Application Server が FACILITY の RACF クラスに対する読み取りの SAF アクセス権と、BBO.TRUSTEDAPPS.<cell short name>.<cluster short name> のプロファイルを持っている場合は、信頼されたアプリケーションの機能を使用可能にします。
![[z/OS]](../images/ngzos.gif)
セキュリティーを使用可能にした後、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 にアクセスできない
- リソースへのアクセス権を保護し、付与するためのステップを参照してください。
サーバーの JVM ログを参照して、 Enterprise Bean のアクセスおよびセキュリティーに関連するエラーを探します。 メッセージ表でエラーを検索します。
サーバーのログを参照して、エンタープライズ 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 には必要なロールが認可されていません」のようなエラーは、クライアントがセキュア・エンタープライズ Bean リソースへのアクセスを試み、 その際に入力されたユーザー ID がそのエンタープライズ Bean に対して必要な役割を割り当てられていないことを示しています。- アクセス先のエンタープライズ Bean リソースに必要なロールがあることを確認する。 エンタープライズ Bean リソースに必要なロールを、Web リソースのデプロイメント記述子内で表示します。
- 許可表をチェックして、ユーザーまたはユーザーが属するグループに、必要なロールのいずれかが割り当てられていることを確認する。エンタープライズ Bean リソースを含むアプリケーションの許可表を、 管理コンソールを使用して表示することができます。
- 無保護のサーブレットまたは JavaServer Pages (JSP) ファイルが保護されたエンタープライズ Bean にアクセスした。
無保護サーブレットにアクセスすると、ユーザーには、ログインするためのプロンプトが出されないので、
サーブレットは UNAUTHENTICATED として実行されます。
サーブレットが保護されているエンタープライズ Bean を呼び出すと、そのサーブレットは失敗します。
ローカル OS および System Authorization Facility (SAF) 許可を使用している場合は、SAF EJBROLE のセットアップを確認してください。 具体的には、以下のことを確認します。
- EJBROLE クラスがアクティブ化されているか。
- ロールが SAF に定義されているか。
- ロールにユーザー ID が許可されているか。
- 許可操作の後、クラスが更新されているか。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- まず、WSSecurityContext.acceptSecContext(), reason: に続く例外のテキストを表示します。通常、このテキストには障害についての説明があります。ただし詳細な分析は行われていません。
- このアクションで
問題についての説明が得られない場合は、Common Object Request Broker Architecture (CORBA) マイナー・コードを
検索してください。このコードは、セキュリティー・コンポーネントのトラブルシューティングの解説という項目にリストされています。例えば、 次の例外は、CORBA マイナー・コード 49424300 を表しています。 CORBA マイナー・コード表内のこのエラーについての説明は、以下のとおりです。
この場合は、 クライアント・プログラムから提供されたユーザー ID またはパスワードが無効である可能性があります。authentication failed error
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. 理由: 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」例外を受け取ります。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
受け取った例外: 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」ビューを選択し、
ナビゲーション・ツリーで「メッセージ」を展開して、
メッセージ参照内を探してください。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- エラー 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 の資料を調べてください。
また、ファイルが指定したパスに存在することも確認してください。
有効なプロパティーの例は、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 コマンドを実行して、使用するパラメーターを表示してください。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- ./stopServer serverName -username name -password password
- ./stopNode -username name -password password
- ./stopManager -username name -password password
Windows サービス・パネルまたは net stop コマンドを使用
し WebSphere Application Server プロセスを停止しようとして、サービスが停止しなかった場合は、追加の stop 引数を使用して
既存の Application Server サービスを更新します。サービスを更新する前に、タスク・マネージャーからサーバー・プロセスを終了する必要がある場合があります。
-stopArgs および -encodeParams パラメーターを
使用して、WASService コマンドの記事内の
"既存の Application Server サービスの更新"例での説明に従って、
サービスを更新します。
シングル・サインオン (SSO) を使用可能にした後、管理コンソールにログオンできない
この問題は、シングル・サインオン (SSO) を使用可能にし、サーバーのショート・ネーム (例えば、http://myserver:port_number/ibm/console) を使用して管理コンソールにアクセスしようとした場合に発生します。 サーバーはユーザー ID とパスワードを受け入れますが、 管理コンソールではなくログオン・ページが表示されます。
この問題を解決するには、 サーバーの完全修飾ホスト名 (例えば http://myserver.mynetwork.mycompany.com:9060/ibm/console) を使用します。
SECJ0306E: スレッド上に受信済みまたは呼び出しクレデンシャルがありません。
以下のメッセージは、セル内の 1 つ以上のノードが、構成時に同期されなかった場合に表示されます。SECJ0306E: No received or invocation credential exists on the thread. ロール・ベースの許可検査は、検査するための呼び出し元のアクセス ID を持ちません。パラメーターは、次のとおりです。リソース FileTransferServer およびモジュール FileTransferServer 上のアクセス・チェック・メソッド getServerConfig。スタック・トレースは java.lang.Exception: Invocation and received credentials are both null です。
各ノードが同期されていることを確認し、デプロイメント・マネージャーを再始動します。
統合リポジトリー に初めて接続するときに、Name NotFoundException エラーが発生する
サーバーが、
java:comp/env/ds/wimDS 名で間接検索を試みて、
初めて統合リポジトリーへの EJB
接続を行うと、SystemOut.log ファイルに以下のエラー・メッセージが表示されます。
サーバーが、
java:comp/env/ds/wimDS 名で間接検索を試みて、
初めて統合リポジトリーへの EJB 接続を行うと、該当するジョブ・ログの出力に、
以下のエラー・メッセージが表示されます。
NMSV0612W: NameNotFound 例外
![[z/OS]](../images/ngzos.gif)
NameNotFoundException エラーの原因は、ibm-ejb-jar-bnd.xmi ファイル内の、 jdbc/wimDS Java Naming and Directory interface (JNDI) 名の参照バインディング定義です。 この警告メッセージは無視しても問題ありません。wimDS データベース・リポジトリーが構成されていれば、 メッセージは表示されません。

ただし、Java EE 5 以降のモジュールが、Java EE 5 より前のファイルを含み .xmi ファイル名拡張子を使用する アプリケーション内に存在することは可能です。
ibm-webservices-ext.xmi、ibm-webservices-bnd.xmi、ibm-webservicesclient-bnd.xmi、ibm-webservicesclient-ext.xmi、 および ibm-portlet-ext.xmi ファイルは、引き続き .xmi ファイル拡張子 を使用します。
sptcfg