ヘッダーをスキップ
Oracle® Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド
11g リリース1 (11.1.1.7)
B56247-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

16 問題の診断

この章の内容は次のとおりです。

Oracle WSM Policy Managerでの問題の診断

Oracle WSM Policy ManagerはすべてのOracle WSMポリシーを管理しており、Oracle WSMポリシー・フレームワークを使用するためには、稼働している必要があります。Oracle Enterprise Manager Fusion Middleware ControlのOracle WSM Policy Managerのページで、ポリシー・マネージャの現在の状態を確認し、そのレスポンス時間、負荷およびその他のデータを確認できます。

Oracle WSM Policy Managerのページを表示する手順は次のとおりです。

  1. ナビゲーション・ペインで、「アプリケーションのデプロイ」を開きます。

  2. 「アプリケーションのデプロイ」の下にある「内部アプリケーション」を開きます。

  3. 「wsm-pm」を選択します。

    Oracle WSM Policy Managerのホームページが表示されます。

    図16-1 Oracle WSM Policy Managerのページ

    図16-1の説明が続きます
    「図16-1 Oracle WSM Policy Managerのページ」の説明

  4. ポリシー・マネージャのページでは、次のタスクを1つ以上実行できます。

    • ページの「一般」領域で、ポリシー・マネージャの現在の状態を確認し、デプロイ先のサーバーを識別します。

    • ページの「レスポンスと負荷」セクションで、レスポンス時間と現在の負荷を表示します。この情報を表形式で表示するには、「表ビュー」をクリックします。

    • ページの「エントリ・ポイント」セクションで、ポリシー・マネージャへの接続を検証します。これを行うには、「Webモジュール」表内で、wsm-pmに対応する「テスト・ポイント」のURLをクリックします。図16-2に示すように、ポリシー・マネージャの検証ページで、ポリシー・マネージャの検証リンクをクリックします。

      図16-2 ポリシー・マネージャの検証ページ

      図16-2の説明が続きます
      「図16-2 ポリシー・マネージャの検証ページ」の説明

    Webブラウザで次のURLを使用してバリデータ・ページにアクセスすることもできます。

    http://host:port/wsm-pm/validator

    このURLで、hostおよびportは、ポリシー・マネージャが実行されているホストおよびポート番号を表します。

    ポリシー・マネージャへの接続に失敗すると、エラー・メッセージが表示されます。ポリシー・マネージャへの接続が成功すると、ポリシー・マネージャのバリデータ・ページには次の情報が表示されます。

    • ポリシー・マネージャのステータス。

    • Oracle WSMリポジトリ内のOracle WSMポリシーの合計数。

    • Oracle WSMリポジトリ内のすべてのOracle WSMポリシーの名前、最新バージョンおよび説明。

    • リポジトリ内のOracle WSMアサーション・テンプレートの合計数。

    • Oracle WSMリポジトリ内のすべてのOracle WSMアサーション・テンプレートの名前、最新バージョンおよび説明。

    • リポジトリの作成日およびビルド・ラベル。

    ポリシー・マネージャのバリデータ・ページのサンプルを、図16-3に示します。

    図16-3 ポリシー・マネージャのバリデータ・ページ

    図16-3の説明が続きます
    「図16-3 ポリシー・マネージャのバリデータ・ページ」の説明

    Oracle WSMリポジトリの詳細は、第17章 「Oracle WSMリポジトリの管理」を参照してください。

Oracle WSMでの一般的な問題の診断

次の項では、Oracle WSMの使用中に発生する可能性がある一般的な問題と、その解決策について説明します。

ポリシー・マネージャに接続できない

ポリシー・マネージャへの接続を試みると、次のエラー・メッセージが表示されます。

  • WSM-06157: リポジトリ・データベースが正しく構成されていないか稼働していません。

  • WSM-06160: ポリシー・マネージャ・アプリケーションがデプロイされていないか稼働していません。

  • WSM-06161: ポリシー・マネージャ・アプリケーションがデプロイされていません。

  • WSM-06162: ポリシー・マネージャが稼働していないか正しく構成されていません。

  • WSM-06159: 資格証明の問題が原因でポリシー・マネージャに接続できません。

問題

次のような問題の原因が考えられます。

  • ポリシー・マネージャが停止しています。ポリシー・マネージャが停止しているかどうかは、次のようにして判断できます。

  • ポリシー・マネージャのターゲットがSSLサーバーです。

    Oracle Web Services Manager (WSM)は自動検出機能をサポートしており、この機能を使用して同じWebLogicドメイン内のOracle WSM Policy Managerを検索し、接続します。ポリシー・マネージャがデプロイされたSSL構成サーバーがドメインに含まれている場合、自動検出ロジックはそのポリシー・マネージャに接続し、非SSLサーバーにデプロイされたポリシー・マネージャへの接続は試みません。安全な接続を保持するために、自動検出ロジックは、SSL対応サーバーが停止中であっても、非SSLサーバー上のポリシー・マネージャへの接続は試みません。したがって、稼働中のポリシー・マネージャがあっても、それがSSLに対応していないサーバーで稼働している場合は無視され、エラー・メッセージが表示されます。

  • ポリシー・マネージャへのアクセスで必要な資格証明が無効または認証されません。

  • リポジトリが正しく構成されていない可能性があります。

解決策

ポリシー・マネージャが停止している場合:

『Oracle Fusion Middleware管理者ガイド』のアプリケーションの起動と停止に関する項の説明に従って、wsm-pmアプリケーションを再起動します。

ポリシー・マネージャのターゲットがSSLサーバーの場合:

  • wsm-pmポリシー・マネージャ・アプリケーションのターゲットがSSLサーバーであることを確認します。この操作は、Oracle WebLogic Server管理コンソールのヘルプのエンタープライズ・アプリケーションのサーバーに対するターゲット指定に関する項に示されている、WebLogic Server管理コンソールを使用して行えます。

  • SSLが適切に構成されており、SSL証明書の問題がないことを確認します。。詳細は、「SSLに関するキーストアの構成」を参照してください。

  • SSL対応サーバーが停止している場合は、『Oracle Fusion Middleware管理者ガイド』のOracle Fusion Middlewareの起動と停止に関する項の説明に従って、サーバーとポリシー・マネージャ・アプリケーションを再起動します。

  • SSL非対応サーバー上のポリシー・マネージャを使用する場合は、SSL対応サーバーをポリシー・マネージャ・アプリケーションのターゲットから除きます。アプリケーションのサーバーに対するターゲット指定の詳細は、Oracle WebLogic Serverへのアプリケーションのデプロイのデプロイされたアプリケーションの管理に関する項を参照してください。WebLogic Server管理コンソールを使用してターゲット・サーバーを変更するには、Oracle WebLogic Server管理コンソールのヘルプのターゲット・サーバーの変更に関する項を参照してください。

ポリシー・マネージャへのアクセスを試みると資格証明の問題が発生する場合:

デフォルトでは、Oracle WSMランタイムはOracleSystemUserアカウントを使用します。デフォルトのユーザー・アカウントを使用していない場合は、「デフォルト・ユーザーの変更」の説明に従って、構成を変更する必要があります。

リポジトリ構成に関する問題がある場合:

  • データベースとMDSスキーマが正しくセットアップされていることを確認します。この構成は、インストール・プロセスの一環として行われます。詳細は、『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』を参照してください。

  • JDBC構成が正しいことを確認します。JDBC構成は、Oracle Fusion Middleware構成ウィザードを使用してドメインを作成するときに定義されます。詳細は、構成ウィザードを使用したドメインの作成に関する項を参照してください。

アプリケーションがWebサービスを呼び出した後のキーまたは資格証明ストア・エラー

アプリケーションがWebサービスを呼び出した後に、次のようなキーまたは資格証明ストア・エラーが表示されます。

  • WSM-00056: キー<alias_name>は取得されません

  • WSM-00256: プロパティ"Keystore Sign Alias"は設定されていません

問題

次のような問題の原因が考えられます。

  • Oracle WSMキーストア構成内の署名鍵または暗号化鍵の別名が、Oracle WSMキーストアに存在しません。

  • 署名鍵、暗号化鍵またはOracle WSMキーストア・パスワードが、Oracle WSMのキーストア・ファイルとキーストア構成の間で同期していません。つまり、少なくとも1つのパスワードの値が両方の場所で一致していません。

解決策

Oracle WSMキーストア構成内の署名鍵または暗号化鍵の別名が、Oracle WSMキーストアに存在することを確認するには:

  1. Fusion Middleware Controlを使用して、「Oracle WSMキーストアの構成」の手順を実行して、Oracle WSMキーストア構成内の署名鍵または暗号化鍵の別名を識別します。

  2. 手順1で識別した別名がOracle WSMキーストア・ファイルに存在することを確認します。この操作を行うには、「秘密鍵の生成およびJavaキーストアの作成」の手順4に従って、Oracle WSMキーストア・ファイルでkeytool -listコマンドを使用します。keytoolユーティリティの使用の詳細は、次のURLでkeytool - キーおよび証明書管理ツールドキュメントを参照してください。

    http://download.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html


    注意:

    前述のURLでドキュメントが見つからない場合は、Java SEテクニカル・ドキュメントの検索Webページで検索してアクセスできます。

    http://download.oracle.com/javase/search.html


    • 各別名が、資格証明ストア内のキーストア・ファイルとOracle WSMキーストア構成で同期していることを確認します。同期していない場合は、「Oracle WSMキーストアの構成」の手順に従って、Oracle WSMキーストア構成内の別名を編集できます。keytool -changealiasコマンドを使用すると、Oracle WSMキーストア・ファイル内の別名を編集できます。


      注意:

      別名を編集する前に、この操作が他のWebサービスに影響を及ぼさないことを確認します。


    • 署名鍵または暗号化鍵の別名がOracle WSMキーストア・ファイルに存在しない場合は、「秘密鍵の生成およびJavaキーストアの作成」の説明に従って追加します。

署名鍵、暗号化鍵およびOracle WSMキーストア・ファイルのパスワードが、Oracle WSMのキーストア・ファイルとキーストア構成の間でそれぞれ同期していることを確認するには:

  1. keytoolを使用して、Oracle WSMキーストア・ファイル内のパスワードを再設定します。パスワードは表示されないため、両方の場所でそれぞれ同じパスワード値を設定するには、パスワードの再設定が唯一の方法です。

    • keytool -storepasswdコマンドを使用して、Oracle WSMキーストア・ファイルのパスワードを再設定します。

    • keytool -keypasswdコマンドを使用して、署名鍵パスワードおよび暗号化鍵パスワードを再設定します。

  2. Fusion Middleware Controlを使用して、「Oracle WSMキーストアの構成」の説明に従って、Oracle WSMキーストア構成内のパスワードを手順1で設定した値にそれぞれ再設定します。

アプリケーションがWebサービスを呼び出した後の信頼証明書エラー

アプリケーションがWebサービスを呼び出した後に、次のような信頼証明書エラーが表示されます。

WSM-00138: 証明書へのパスは例外のため無効です

問題

問題の原因として、Webサービスがその証明書をWeb Services Description Language (WSDL)で通知している場合、クライアントがその証明書または発行者を信頼するよう適切に構成されていない可能性が考えられます。

解決策

WSDLで通知されるWebサービスの証明書または発行者を信頼するようクライアントが構成されていることを確認するには:

  1. クライアント・キーストアに、Webサービスの証明書またはその発行者の証明書があることを確認します。

    keytool –listコマンドを使用して、クライアント・キーストア内の証明書を識別します。いずれかの証明書がクライアント・キーストアに不足している場合は、keytool –importcertコマンドを使用してそれを追加します。

    keytoolの使用の詳細は、Java SEテクニカル・ドキュメントWebサイトにあるkeytool - キーおよび証明書管理ツールドキュメントを参照してください。このドキュメントには次のURLでアクセスできます。

    http://download.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

  2. 証明書がサービスのWSDLでパブリッシュされていない場合は、クライアント・ポリシーのオーバーライド・プロパティkeystore.recipient.aliasの値が、Oracle WSMキーストア・ファイル内の証明書の別名に一致することを確認します。

    詳細は、「オーバーライド可能なクライアント・ポリシーの添付」を参照してください。

アイデンティティ伝搬時に発生するSAMLアサーション・エラー

アプリケーションが、Oracle SOAを使用して異なるアプリケーションを呼び出すことによりユーザーのアイデンティティの伝搬を試みると、InvalidSecurityTokenFailedAuthenticationおよびSAML assertion issuer関連エラーが発生します。

問題

次のような問題の原因が考えられます。

  • SAMLトークンのSAML発行者名が構成されていないか、構成が正しくありません。

  • subject.precedence構成オーバーライドの設定が正しくありません。

解決策

SAML発行者名の構成のトラブルシューティングを行うには:

クライアントが使用しているSAML発行者名が、Oracle WebLogic Serverドメイン内で構成されている発行者に含まれていることを確認します。この操作を行うには、「別のSAMLアサーション発行者名の追加」の手順を実行します。

クライアントが使用しているSAML発行者名が、Oracle WebLogic Serverドメイン内の発行者として構成されていない場合、saml.issuer.nameオーバーライドを、ドメイン内で構成されている発行者の1つに更新することによって、クライアントの発行者名を変更することをお薦めします。

クライアントの発行者名を変更できない場合は、「別のSAMLアサーション発行者名の追加」の手順を実行することによって、発行者名をOracle WebLogic Serverドメインに追加できます。


注意:

Oracle WebLogic Serverドメイン内で構成されている発行者を変更した場合は、Oracle WSMがデプロイされている管理対象サーバーを再起動する必要があります。


subject.precedence構成オーバーライドのトラブルシューティングを行うには:

  1. 現在のクライアント・ポリシー内のsubject.precedenceオーバーライド値をfalseに設定して、アイデンティティを異なるユーザーに変更します。デフォルトでは、subject.precedenceオーバーライドはtrueに設定されます。

  2. サービスに送信するユーザーのユーザー名およびパスワードが含まれるクライアント・ポリシーで、資格証明ストア・フレームワークの適切なキー・オーバーライドを設定します。このユーザーのエントリが資格証明ストア・フレームワークに存在しない場合は、それを追加する必要があります。詳細は、「資格証明ストアの構成」を参照してください。

  3. 「アイデンティティ切替えのためのSAML Webサービス・クライアントの構成」の手順を実行することによって、クライアント・アプリケーションに対して適切なWebサービス・アイデンティティ権限が設定されていることを確認します。

アプリケーションがWebサービスを呼び出した後のポリシー・アクセス・エラー

アプリケーションがWebサービスの呼び出しを試みると、次のようなポリシー・アクセス・エラーが表示されます。

  • WSM-06156: ポリシーURIが欠落しているか、空か、無効な文字が含まれています。

  • WSM-06158: 参照されたポリシーがリポジトリ内にありません。

  • WSM-02017: ドキュメントはリポジトリに見つかりませんでした。

問題

次のような問題の原因が考えられます。

  • ポリシーURIが欠落しているか、ポリシー名のスペルミスです。

  • ポリシー・マネージャが停止しています。

  • ポリシーがリポジトリ内にありません。

  • キャッシュの遅延が原因で、ポリシー添付が有効ではありません。

解決策

ポリシー・アクセス問題を診断および解決する手順は、次のとおりです。

  1. 「Oracle WSM Policy Managerでの問題の診断」および「ポリシー・マネージャに接続できない」の説明に従って、ポリシー・マネージャが稼働していることを確認します。

  2. mds-owsmデータソース接続がアクセス可能で、使用可能であることを確認します。詳細は、『Oracle Fusion Middleware管理者ガイド』のデータ・ソースの概要と管理に関する項を参照してください。

  3. ポリシー・マネージャのバリデータ・ページを使用してリポジトリのコンテンツを表示することによって、Oracle WSMリポジトリにポリシーがあることを確認します。バリデータ・ページへのアクセスおよびリポジトリ・コンテンツの表示の詳細は、「Oracle WSM Policy Managerでの問題の診断」を参照してください。

  4. リポジトリにポリシーがある場合、ポリシーURIがリポジトリ内のポリシーURIと一致することを確認します。

  5. ポリシーがOracle WSMリポジトリにない場合、次のいずれかの操作を行います。

    • 事前定義済ポリシーの場合:

      • upgradeWSMPolicyRepository()コマンドを使用して、リポジトリが最新のすべての事前定義済ポリシーで更新されていることを確認します。詳細は、『WebLogic Scripting Toolコマンド・リファレンス』upgradeWSMPolicyRepositoryに関する項を参照してください。

      • 「Oracle WSMリポジトリの再構築」の説明に従って、resetWSMPolicyRepositoryコマンドを使用してリポジトリのコンテンツをリセットします。

    • カスタム・ポリシーの場合:

  6. ユーザーが、適切な権限が付与されたロールに属することを確認します。ロールまたは権限を変更するには、「ユーザーのグループまたはロールの変更」を参照してください。

  7. ポリシー・アクセッサおよびキャッシュ遅延を確認します。

    ポリシー添付が有効になるまでにかかる時間は、Oracle WSMポリシー・アクセッサおよびポリシー・キャッシュのプロパティ設定で決まります。デフォルトでは、この遅延は最大で11分です。遅延を縮小するには、必要に応じて、次のキャッシュ・プロパティ設定を調整できます。

    • ポリシー・アクセッサ

      cache.refresh.initial、デフォルトは600000ミリ秒(10分)

      cache.refresh.repeat、デフォルトは600000ミリ秒(10分)

    • ポリシー・キャッシュ

      cache.tolerance、デフォルトは60000ミリ秒(1分)

    これらのプロパティの調整の詳細は、「プラットフォーム・ポリシー・プロパティの構成」を参照してください。

資格証明ストア内のユーザーにアクセスできない

Oracle WSMが資格証明ストア内のユーザーへのアクセスを試みると、次のようなエラーが発生します。

WSM-00015: ユーザー名が見つかりません

問題

Oracle WSMが、資格証明ストア内のユーザーを見つけることができません。次のいずれかの原因が考えられます。

  • 資格証明マップoracle.wsm.securityが資格証明ストアに存在しません。

  • Oracle WSMが使用するマップにユーザーがリストされていません。

  • エントリのcsfキーが資格証明ストアに存在しません。

解決策

資格証明マップoracle.wsm.securityが資格証明ストアに存在することを確認します。Oracle WSMは、この資格証明ストア・マップからのみ読み取ります。

資格証明マップoracle.wsm.securityが資格証明ストアに存在することを確認するには、「資格証明ストアの構成」の手順を参照してください。

アプリケーションがoracle.wsm.security以外の資格証明マップを使用する場合は、Oracle WSMがアクセスする必要があるユーザーがoracle.wsm.security資格証明マップに複製されていることを確認します。

アプリケーションがWebサービスを呼び出した後の認証エラー

アプリケーションがWebサービスの呼び出しを試みると、次のようなエラーが表示されます。

java.security.AccessControlException: access denied (oracle.wsm.security.WSFunctionPermission

問題

一般に、これは実際には問題ではなく、意図する動作です。つまり、システムは、ユーザーが試みたアクションについて、ユーザーを認証できませんでした。デバッグを行うには、コール元サーバーの診断ログで認証エラーを確認します。次のようなエラーが表示されます。

2011-01-06T22:15:43.691-08:00] [SalesServer_2] [ERROR] [] [oracle.jbo.server.svc.ServicePermissionCheckInterceptor_w2f8f5_Impl] 
[tid: [ACTIVE].ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'] 
[userId: FMW_APPS_CRM_SELFSERVICE_ADF_APPID] 
[ecid: 004aIPwzJDGE8TQRyaI7T00001WJ00EJ8f,0:1:3:1:11:0x5f5e189:6:1] 
[WEBSERVICE_PORT.name: PartnerServiceSoapHttpPort] [APP: SalesApp#V2.0] 
[J2EE_MODULE.name: partnerCenterCorePublicModel]
[WEBSERVICE.name: PartnerService] [J2EE_APP.name: SalesApp_V2.0] 
[URI: /partnerCenterCorePublicModel/PartnerService] [[
java.security.AccessControlException: access denied (oracle.wsm.security.WSFunctionPermission 
http://xmlns.oracle.com/apps/partnerMgmt/partnerCenter/PartnerService#updatePartner invoke)
                at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
                at java.security.AccessController.checkPermission(AccessController.java:546)
                at oracle.jbo.server.svc.ServicePermissionCheckInterceptor.checkPermission(ServicePermissionCheckInterceptor.java:103)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

解決策

ログ内の次の情報に注意を払います。これらは、前述の例では太字で示されています。

  1. アプリケーション・ストライプ名。前述のログではSalesApp#V2.0です。これが、アプリケーション用に構成したものと一致していることを確認します。ストライプ名の構成方法の詳細は、Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイドのサーブレット・フィルタおよびEJBインターセプタの構成に関する項を参照してください。

  2. 権限の付与。次のもので構成されています。

    1. リソース名。前述のログではhttp://xmlns.oracle.com/apps/partnerMgmt/partnerCenter/PartnerService#updatePartnerです。

    2. アクション。前述のログではinvokeです。

    どちらの情報も、権限付与の中で正しく指定されている必要があります。詳細は、「認証権限の決定方法」を参照してください。

アプリケーションがLDAPベースのオーセンティケータを使用しており、すべてのロールをLDAPに格納している場合は、「デフォルト・ユーザーの変更」の説明に従って、Oracle WSMがユーザーおよびロールにアクセスできることを確認します。

アプリケーションがWebサービスを呼び出した後のタイムスタンプ・エラー

アプリケーションがWebサービスを呼び出した後に、次のようなタイムスタンプ・エラーまたは時間差エラーが発生します。

WSM-00060: タイムスタンプの検証中にエラーが発生しました

問題

この問題は、次のようなタイムスタンプ検証または時間差エラーとして出現します。

Caused By: FAULT CODE: InvalidSecurityToken FAULT MESSAGE: Found invalid condition "on or after" in SAML assertion.
Current Time:Fri Feb 11 22:16:42 IST 2011, clockSkew:300000 milli seconds, NotOnOrAfter Time:Fri Feb 11 14:21:42 IST 2011.

この問題は、通常、サーバーとクライアントのクロックが同じタイムゾーンに変換された後、その差が5分を超えると発生します。

解決策

次のいずれかの方法でクライアントまたはサーバーのクロックを変更して、両方を正しい時間に設定し、その差が5分以内になるようにします。

アプリケーションがWebサービスを呼び出した後の複数の認証セキュリティ・ポリシー・エラー

アプリケーションがWebサービスを呼び出した後に、ログに複数のポリシー・エラー(WSM-01823)が表示されます。このエラーは、たとえば、複数の認証ポリシーがサブジェクトに添付されている場合に発生します。

問題

2つ以上の認証ポリシーがサブジェクトに添付されています。2つのポリシー・セットがあり、それぞれが、Webサービスなど、同じリソース・タイプに認証ポリシーを添付する場合に、この問題が発生します。たとえば、ドメインのOracle WSMリポジトリに2つのポリシー・セットが定義されており、一方はポリシー・スコープをDomain("domain_name")として定義し、他方はDomain ("*")として定義しているものとします。次のリストは、このシナリオの例を示しています。

wls:/soa_domain/serverConfig> displayPolicySet('default-domain-ws-domain_gpa')

   Policy Set Details:
   -------------------
   Name:                default-domain-ws-domain_gpa
   Type of Resources:   Web Service Endpoint
   Scope of Resources:  Domain("soa_domain")
   Description:         Global policy attachments for Web Service Endpoint resources.
   Enabled:             true
   Policy Reference:    security : oracle/wss11_saml_or_username_token_with_message_protection_service_policy, enabled=true

wls:/soa_domain/serverConfig> displayPolicySet('default-domain-ws-domain')

   Policy Set Details:
   -------------------
   Name:                default-domain-ws-domain
   Type of Resources:   Web Service Endpoint
   Scope of Resources:  Domain("*")
   Description:         Global policy attachments for Web Service Endpoint resources.
   Enabled:             true
   Policy Reference:    security : oracle/wss_saml_or_username_token_service_policy, enabled=true

この例では、異なる名前の2つのポリシー・セットがあり、そこに含まれる異なる認証ポリシーがドメイン上の同じリソース・タイプを指しています。


注意:

サブジェクトに添付されている認証ポリシーが、構成オーバーライドを含めて、お互いの完全な複製の場合、ポリシー添付は複製として表示され、構成は有効です。


解決策

認証ポリシーの添付を試みている複数のポリシー・セットがあるかどうかを確認する手順は、次のとおりです。

  1. listPolicySets()コマンドを使用して、ドメイン内のポリシー・セットのリストを表示します。このコマンドの詳細は、「WLSTを使用したポリシー・セットのリストの表示」を参照してください。

  2. detail引数をtrueに設定した状態でlistWebServicesまたはlistWebServiceClientsコマンドを使用して、ドメイン内のすべてのアプリケーションとコンポジットに関するエンドポイント(ポート)とポリシーの詳細、エンドポイントのセキュア・ステータス、構成オーバーライドと制約、およびエンドポイントに有効な構成があるかどうかを表示します。

    例のシナリオで定義されているポリシー・セットを使用すると、listWebServices(detail=true)コマンドからの出力は、次のようになります。2つのポリシーは重複しており、それらが関連するポリシー・セットは太字のテキストで示されます。

    wls:/soa_domain/serverConfig> listWebServices(detail=true)
     
    /soa_domain/jrfServer_admin/jaxws-sut-no-policy :
            moduleName=jaxws-service, moduleType=web, serviceName={http://namespace/}TestService
            enableTestPage: true
            enableWSDL: true
     
                    TestPort        http://host.example.com:8344/jaxws-service/TestService
                    enable: true
                    enableREST: false
                    enableSOAP: true
                    maxRequestSize: -1
                    loggingLevel: NULL
                    Constraint: No Constraint
                            (global) security : oracle/wss11_saml_or_username_token_with_message_protection_service_policy, enabled=true
                                    /policysets/global/default-domain-ws-domain_gpa : Domain("*")
                            (global) security : oracle/wss_saml_or_username_token_service_policy, enabled=true
                                    /policysets/global/default-domain-ws-domain : Domain("*")
                    Attached policy or policies are not valid.
                    One or more attached policies are not compatible with endpoint or other attached policy.
    
  3. 重複が見つかった場合は、次のいずれかを行います。

詳細は、「エンドポイントのセキュア・ステータスの決定」を参照してください。

WLSTを使用したポリシー添付に関する問題の診断

直接添付されたポリシーと、ポリシー・セットを使用してグローバルに添付されたポリシーが競合しないことを確認するには、次のWLSTコマンドを使用します。

ポリシー・セットを使用してグローバルに添付されたポリシーが構成に含まれる場合、次のコマンドを使用してポリシー・セットに関する情報を表示できます。

Fusion Middleware Controlを使用してエンドポイントで有効なポリシーを表示するには、「Webサービスに添付されたポリシーの表示」を参照してください。

エンドポイントがセキュアで、構成が有効かどうかについての判断の詳細は、「エンドポイントのセキュア・ステータスの決定」を参照してください。

グローバル添付ポリシーおよび直接添付ポリシーが含まれる、有効な構成のサンプル出力

次の例は、有効な構成に対するlistWebServices(detail=true)コマンドからのサンプル出力を示しています。グローバル添付ポリシーまたは直接添付ポリシーの優先度を指定できるため(reference.priority構成オーバーライドを使用)、effectiveフィールドには、直接添付ポリシーがエンドポイントで有効かどうかが示されます。


注意:

エンドポイント管理を簡単にするために、エンドポイントで有効かどうかにかかわらず、すべての直接添付ポリシーが出力に表示されます。対照的に、グローバルにアタッチされたポリシーは、エンドポイントに対して有効であるもののみが表示されます。


/jrfServer_domain/jrfServer_admin/jaxws-sut :
        moduleName=jaxws-sut-service, moduleType=web, serviceName={http://namespace/}TestService
        enableTestPage: true
        enableWSDL: true
 
                TestPort        http://host.example.com:9315/jaxws-sut-service/TestService
                enable: true
                enableREST: false
                enableSOAP: true
                maxRequestSize: -1
                loggingLevel: NULL
                management : oracle/log_policy, enabled=true
                security : oracle/wss_username_token_service_policy , enabled=true , effective=false
                Constraint: No Constraint
                        (global) security : oracle/wss_saml_or_username_token_service_policy, enabled=true
                                /policysets/global/all-domains-default-web-service-policies : Domain("*")
                                        reference.priority=1
                Constraint: HTTPHeader('VIRTUAL_HOST_TYPE','external')
                        (global) security : oracle/wss10_message_protection_service_policy, enabled=true
                                /policysets/global/domainExternal : Domain("*")
                Attached policy or policies are valid; endpoint is secure.

直接添付ポリシーのみが含まれる、有効な構成のサンプル出力

次の例は、有効な構成に対するlistWebServices(detail=true)コマンドからのサンプル出力を示しています。直接添付ポリシーは太字で示されています。

/jrfServer_domain/jrfServer_admin/jaxws-sut-no-policy :
        moduleName=jaxws-service, moduleType=web, serviceName={http://namespace/}TestService
        enableTestPage: true
        enableWSDL: true
 
                TestPort        http://host.example.com:8344/jaxws-service/TestService
                enable: true
                enableREST: false
                enableSOAP: true
                maxRequestSize: -1
                loggingLevel: NULL
                security : oracle/wss_saml_or_username_token_service_policy, enabled=true
                Attached policy or policies are valid; endpoint is secure.

WLSTを使用したドメイン構成に関する問題の診断

ドメインの構成に関して問題がないことを確認するには、checkWSMStatus WLSTコマンドを使用します。checkWSMStatusコマンドは、ポリシー・マネージャ(wsm-pm)、エージェント(agent)および資格証明ストアとキーストア構成(credstore)のステータスを戻します。コンポーネントのステータスは、まとめて確認することも、個別に確認することもできます。

このコマンドは、WSMで保護されているWebサービスのプロビジョニングの後に実行できます。最初の呼出しの後まで待機する必要はありません。


注意:

checkWSMStatusコマンドが正しく機能するためには、ポリシー・マネージャ(wsm-pm)アプリケーションがデプロイされ、実行されている必要があります。


このコマンドの詳細は、『WebLogic Scripting Toolコマンド・リファレンス』checkWSMStatusに関する項を参照してください。

次の例では、checkWSMStatusコマンドは、キーkeystore-csf-keyが欠如しているため、資格証明ストアの失敗を戻します。

wls:/base_domain/serverConfig> checkWSMStatus('credstore')
 
Credential Store Configuration:
 
 
FAILED.
        Message(s):
             keystore.pass.csf.key : Property is configured and its value is "keystore-csf-key".
                 Description: The "keystore.pass.csf.key" property points to the CSF alias that is mapped to the username and password of the keystore. 
Only the password is used; username is redundant in the case of the keystore.
             keystore-csf-key : Credentials not configured.
 
Credential Store Diagnostic Messages:
        Message(s):
                 The csf-key keystore-csf-key is not present in the credential store. 
 
 Perform the following steps to update the credential store (using WLST commands):-
 1. connect()
 2. createCred(map="oracle.wsm.security", key="keystore-csf-key", user="keystore-csf-key", password="<keystore-password>", desc="Keystore Password CSF Key")
 NOTE:- All the above commands are based on the Domain level configurations. 
The actual csf key may be overridden at runtime due to config override. 
See Documentation for more details.
false

次の例では、checkWSMStatusコマンドは、ドメインbase_domainの資格証明ストアとキー、ポリシー・マネージャおよび強制エージェントのステータスを戻します。

wls:/base_domain/serverConfig> checkWSMStatus()
 
Credential Store Configuration:
 
PASSED.
        Message(s):
             keystore.pass.csf.key : Property is configured and its value is "keystore-csf-key".
                 Description: The "keystore.pass.csf.key" property points to the
 CSF alias that is mapped to the username and password of the keystore. 
Only the password is used; username is redundant in the case of the keystore.
             keystore-csf-key : Credentials configured.
             keystore.sig.csf.key : Property is configured and its value is "sign-csf-key".
                 Description: The "keystore.sig.csf.key" property points to the
 CSF alias that is mapped to the username and password of the private key that is used for signing.
             sign-csf-key : Credentials configured.
             Sign Key : Key configured.
                 Alias - orakey
             Sign Certificate : Certificate configured.
                 Alias - CN=weblogic, OU=Orakey Test Encryption Purposes Only, O=Oracle, C=US
                 Expiry - June 28, 2020 11:17:12 AM PDT
             keystore.enc.csf.key : Property is configured and its value is "enc-csf-key".
                 Description: The "keystore.enc.csf.key" property points to the
 CSF alias that is mapped to the username and password of the private key that is used for decryption.
             enc-csf-key : Credentials configured.
             Encrypt Key : Key configured.
                 Alias - orakey
             Encrypt Certificate : Certificate configured.
                 Alias - CN=weblogic, OU=Orakey Test Encryption Purposes Only, O=Oracle, C=US
                 Expiry - June 28, 2020 11:17:12 AM PDT
 
Policy Manager:
 
PASSED.
        Message(s):
             OWSM Policy Manager connection state is OK.
             OWSM Policy Manager connection URL is "t3://host:7001".
 
Enforcement Agent:
 
PASSED.
        Message(s):
             Enforcement is successful.
             Service URL: http://host:7001/Diagnostic/DiagnosticService?wsdl

WS-Trustユースケースでの一般的なOracle WSM例外の診断

表16-1は、エンドツーエンドのWS-Trustユースケース・シナリオで発生する可能性のあるOracle WSMの一般的な例外およびエラーを示しています。考えられる原因と推奨される解決策も記載されています。サポートされているWS-Trustユースケースの構成方法の詳細は、次の各項を参照してください。

表16-1 WS-TrustユースケースでのOracle WSMの一般的な例外およびエラー

例外/エラー 考えられる原因 解決策

WSM-00015: ユーザー名が見つかりません

  1. STS発行トークンのクライアント・ポリシーでsts.auth.user.csf.key構成プロパティがオーバーライドされていない可能性があります。

  2. このプロパティがオーバーライドされている場合、資格証明ストア内でCSFキーが使用可能でないか、オーバーライドで正しい値が指定されていない可能性があります。

STS発行トークンのクライアント・ポリシーのsts.auth.user.csf.keyプロパティを、資格証明ストアの正しい値でオーバーライドしてください。

javax.net.ssl.SSLHandshakeException: PKIXパスの検証に失敗しました: java.security.cert.CertPathValidatorException: 署名チェックが失敗しました

SSLチャネルを介してサービスと通信する場合、そのサービスの有効なSSL証明書が、環境で使用されているJREディストリビューションの信用できるキーストア内で使用可能になっている必要があります。ほとんどの場合、SSL証明書は次のディレクトリ内にあります。

JAVA_HOME/jre/lib/security/cacerts

この例外の原因として、次のいずれかが考えられます。

  • サービスのSSL証明書が信頼できるキーストア内に見つかりませんでした。

  • 信頼できるキーストアに存在するSSL証明書の有効期限が切れています。

サービスの有効なSSL証明書が信頼できるキーストア(JAVA_HOME/jre/lib/security/cacerts)にインポートされていることを確認します。詳細は、「SSLに関するキーストアの構成」を参照してください。

WSM-00323: WSDLから取得されたSTS ISSUER_ADDRESSがnullです。ローカルSTS構成も使用できません。

この例外は、クライアントとサービスのどちらにもSTS信頼構成ポリシーが添付されていないことが原因で発生します。単純なWS-Trustユースケースでは、STS信頼構成ポリシーをクライアント・アプリケーションかサービス・アプリケーションのどちらかに添付する必要があります。ポリシーが添付されていないため、クライアントは、SAMLトークンを取得するためにどのSTSと通信するかを判断できません。

構成に応じて、STS信頼構成ポリシーをクライアント・アプリケーションまたはサービス・アプリケーションに添付します。詳細は、「WS-Trustポリシーと構成手順」を参照してください。

FailedAuthentication: セキュリティ・トークンを認証できません。: リクエスト: oracle.wsm.security.SecurityExceptionの受信中にエラーが発生しました。: WSM-00062: 署名に使用された証明書へのパスは無効です。.

Webサービス・プロバイダまたはリライイング・パーティが、受信SAMLトークンの発行者の署名を検証できません。

発行者の公開鍵または証明書を、サービスが使用しているJKS/KSSキーストアにインポートしたことを確認してください。

手順の詳細は、「メッセージ保護に関するキーストアの構成」を参照してください。

InvalidSecurityToken: セキュリティ・トークンが有効ではありません。 SAMLアサーション発行者名が無効です。

WSM-00376: 発行者"<発行者名>"のSAMLトークン認証に失敗しました

リライイング・パーティ・サービスがデプロイされているドメイン内の信頼できる発行者リストでSAMLアサーション発行者名が構成されていません。

サービスが実行されているドメイン内の信頼できる発行者のリストに発行者を追加します。

手順の詳細は、「署名証明書の信頼できる発行者および信頼できるDNリストの定義」を参照してください。

WSM-00231: STS <STS WSDL URI>、ポート名<STSポート名>のクライアント準拠ポリシーが見つかりません

この例外は、サード・パーティのSTSサーバーが、Oracle WSMで互換性のあるクライアント・ポリシーがないポリシーを使用して保護されている場合にスローされることがあります。

クライアントが通信を試みているSTSエンドポイントがセキュリティ・ポリシーで保護されています。Oracle STSではOracle WSMが使用され、これによって互換性のあるクライアント・ポリシーおよびサービス・ポリシーが提供されます。この場合、クライアントは対応するクライアント・ポリシーを問題なく検出できます。

Oracle WSMの信頼クライアントは一般的なSTSサーバーを使用してテストされているため、この例外が発生することはほとんどありません。

この例外がスローされた場合の回避策として、oracle/sts_trust_config_client_policyの新規バージョンまたはクローニング済バージョンをクライアント側に添付して、STSとの通信に使用されるクライアント・ポリシーを使用してこれを構成する方法があります。詳細は、「Webサービス・クライアントからのSTS構成ポリシーの手動による構成: メイン手順」を参照してください。


ログを使用した問題の診断

Webサービスを含むOracle Fusion Middlewareコンポーネントは、起動情報と停止情報、エラー、警告メッセージ、HTTPリクエストのアクセス情報など、すべてのタイプのイベントを記録するメッセージを含むログ・ファイルを生成します。各ログ・メッセージには、時間、コンポーネントID、および発生する問題の検出と診断を支援するユーザーなどの特定の情報が含まれます。

ログ・メッセージを確認し、Webサービスなど特定のコンポーネントでの問題を診断できます。ログ・ファイルには2つのカテゴリがあり、Webサービスに関する問題の診断に役立てるために参照できます。

Oracle Fusion Middlewareでのロギングの詳細は、『Oracle Fusion Middleware管理者ガイド』の ログ・ファイルと診断データの管理に関する項を参照してください。

次の項では、問題を診断するための、診断およびメッセージ・ログの使用方法を説明します。この項の最後にサンプル・ログのセットがあります。

Webサービス診断ログの使用

診断ログを使用して、Oracle Fusion Middlewareの特定の機能コンポーネントに関する診断データにアクセスできます。

次の項では、診断ログ・ファイルの表示方法および管理方法を説明します。

診断ログのログ・レベルの設定

「ログ構成」ページを使用して、WebLogic ServerレベルでWebサービスおよびOracle WSMのコンポーネントのロギング・レベルを設定します。

また、「Webサービス・エンドポイント」ページから、特定のWebサービス・エンドポイントのサーバー・レベルで設定されたログ・レベルをオーバーライドできます。Webサービス・エンドポイント・レベルで設定されたロギング・レベルは、WebLogic Serverレベルで設定されたレベルよりも詳細なレベルである必要があります。詳細でない場合は、WebLogic Serverレベルで設定されたロギング・レベルが使用されます。

次の手順では、WebLogic ServerおよびWebサービス・エンドポイント・レベルで診断ログのログ・レベルを設定する方法を説明します。詳細は、『Oracle Fusion Middleware管理者ガイド』のログ・ファイルに書き込まれる情報のレベルの設定に関する項を参照してください。

WebLogic Serverレベルで診断ログのログ・レベルを設定する手順

  1. ログ出力を構成するWebLogic Serverに移動します。

    1. ナビゲーション・ペインで「WebLogicドメイン」を開きます。

    2. ドメインを開きます。

    3. リストから必要なサーバーを選択します。

      「WebLogicサーバー」ホームページが表示されます。

  2. 「WebLogic Server」メニューで、「ログ」→「ログ構成」を選択します。

    「ログ構成」ページが表示されます。

  3. 「ログ・レベル」タブを選択します。

    図16-6に示すように、ログ出力のリストが表示されます。

    「ログ・レベル」ページには、ログ出力の名前、現在のロギング・レベル、編集可能なもの、および関連するログ・ファイル(たとえば、olh-handler)が表示されます。ログ・ファイルの構成の詳細は、「Webサービスのログ・ファイルの構成」を参照してください。

    図16-6 「ログ・レベル」ページ

    図16-6の説明が続きます
    「図16-6 「ログ・レベル」ページ」の説明

  4. 「ルート・ログ出力」を開きます。

  5. 「Oracle」を開きます。

  6. 次の1つ以上のコンポーネントのロギング・レベルを設定します。

    • oracle.webservices: Webサービス・コンポーネント。

    • oracle.wsm: Oracle WSMコンポーネント。

    前述のコンポーネントのいずれかを開いてサブコンポーネント・レベルでロギング・レベルを指定することで、ロギング・レベルを微調整できます。

    ログ出力のロギング・レベルを変更するには、「ログ出力名」列のログ出力に移動し、「Oracle Diagnostic Loggingレベル(Javaレベル)」ドロップダウン・メニューから目的のロギング・レベルを選択します。

    たとえば、ログ出力oracle.wsmに関連するドロップダウン・メニューから「TRACE:32」を選択します。

    デフォルトでは、ロギング・レベルはその親から継承され、WebサービスおよびOracle WSMのコンポーネントとサブコンポーネントに対してNOTIFICATION: 1 (INFO)に設定されます。

  7. 「適用」をクリックして、新しいロギング・レベルを保存します。

Webサービス・エンドポイント・レベルで診断ログのログ・レベルを設定する手順

  1. 「Webサービス・エンドポイントの詳細の表示」の説明に従って、「Webサービス・エンドポイント」ページに移動します。

  2. 「構成」タブをクリックします。

  3. 「ロギング・レベル」フィールドに、「重度」、「警告」、「情報」、「構成」、「密」、「詳細」、「最も詳細」または「NULL」のいずれかを設定します。


    注意:

    setWebServiceConfiguration WLSTコマンドを使用して、Webサービス・エンドポイントでログ・レベルを設定することもできます。itemProperties引数のloggingLevelプロパティに、SEVERE、WARNING、INFO、CONFIG、FINE、FINER、FINEST、NULLのいずれかを設定します。このコマンドの使用の詳細は、『WebLogic Scripting Toolコマンド・リファレンス』のsetWebServiceConfigurationに関する項を参照してください。


診断ログの表示

「ログ・メッセージ」ページから、ADFおよびWebCenter Webサービス・エンドポイントの診断ログ・ファイルを表示できます。

Webサービス・エンドポイントの診断ログを表示する手順

「Webサービス・エンドポイントの詳細の表示」の説明に従って、「Webサービス・エンドポイント」ページに移動し、「Webサービス・エンドポイント」ページの「クイックリンク」セクション(右上)で「診断ログ」をクリックします。


注意:

アプリケーションのWebサービスで生じたすべての障害のサマリーを表示できます。詳細は、「Webサービスのパフォーマンスの監視」を参照してください。


次の図に示すように、「ログ・メッセージ」ページが表示されます。

図16-7 「ログ・メッセージ」ページ

図16-7の説明が続きます
「図16-7 「ログ・メッセージ」ページ」の説明

メッセージ領域のメッセージをクリックすると、ページの下部に詳細が表示されます。必要に応じて、リスト上のメッセージを選択して「メッセージをファイルにエクスポート」をクリックすることで、メッセージをテキスト、XMLまたはCSVファイルにエクスポートできます。

次のコントロールを使用して、表示されるメッセージ・コンテンツを制御できます。

  • 検索: 検索条件を変更します。詳細は、「診断ログのフィルタ処理」を参照してください。

  • 「表示」メニュー: 表で表示する列を選択します。特定の列をクリックすると、コンテンツが昇順または降順にソートされます。

  • 「表示」メニュー: メッセージをタイプまたはID別にグループ化したり、年代順にメッセージを表示します。

  • 関連メッセージの表示: リストで選択したメッセージに関連するメッセージを表示します。

  • 広範囲のターゲット・スコープ: 表示されるメッセージのスコープを拡大します。ドメイン、WebLogic Serverまたはファームのすべてのメッセージを含めるように、スコープを拡大できます。

  • 「リフレッシュ」メニュー: 自動または手動リフレッシュ率を指定します。

生成されたログ・ファイルのコンテンツを表示する手順は次のとおりです。

  • メッセージに関連付けられたログ・ファイルのアイコンをクリックし、そのログ・ファイルのコンテンツを表示します。

  • 「ターゲット・ログ・ファイル」をクリックし、「ログ・ファイル」ページを表示して、生成されたログ・ファイルすべてのコンテンツを表示またはダウンロードします。

詳細は、『Oracle Fusion Middleware管理者ガイド』のログ・ファイルの表示および検索に関する項を参照してください。

診断ログのフィルタ処理

デフォルトでは、「ログ・メッセージ」ページには、過去1時間に記録された診断メッセージのサマリーが表示されます。

診断ログをフィルタ処理する手順

  1. 次のフィールドを使用して検索条件を更新して、表示されるメッセージをフィルタ処理します。

    • 日付範囲: 日付範囲を次のいずれかに設定します。

      • 最新: 期間を定義する時間を設定します。

      • 時間間隔: 間隔を定義する開始日と終了日を設定します。

    • メッセージ・タイプ: 表示するメッセージ・タイプを選択します。

    • フィールドの追加: メッセージID、コンポーネントなどの他のメッセージ・フィールドを検索条件に追加します。

  2. フィールドを設定したら、必要に応じて「検索」をクリックします。

    メッセージ領域は、フィルタ処理された結果で更新されます。

詳細は、『Oracle Fusion Middleware管理者ガイド』のログ・ファイルの表示および検索に関する項を参照してください。

Oracle WSMデバッグ・メッセージのロギング

Oracle WSMをデバッグするには、WebLogic Serverの起動時に、必要に応じて次のいずれかのプロパティを渡します。詳細は、Oracle WebLogic Serverサーバーの起動と停止の管理のサーバーの起動と停止に関する項を参照してください。


注意:

1つ以上のプロパティを有効にすると、非常に大きなメッセージの場合、パフォーマンスに悪影響を及ぼす可能性があります。有効化されると、Oracle WSMによって一時バッファが作成され、Javaガベージ・コレクタに余分な負荷がかかります。


表16-2 Oracle WSMデバッグ・メッセージのロギングの起動プロパティ

起動プロパティ 説明

-Dxml.debug.verify=true

署名検証の失敗時に生成される一連のバイトを記録します。ログ・レベルが少なくともERRORに設定されている場合、検証エラーはstderrおよび診断ログに出力されます。

-Dxml.debug.digest=true

署名生成の正規化および署名検証の一致の際に生成される一連のバイトを記録します。ログ・レベルが少なくともFINEに設定されている場合、検証エラーはstderrおよび診断ログに出力されます。

-Dxml.debug.decrypt

復号化の失敗の後、XML解析の前に生成される一連のバイトを記録します。検証エラーはstderrおよび診断ログ・ファイルに出力されます。


Webサービス・メッセージ・ログの使用

メッセージ・ログを使用して、ADFおよびWebCenterのWebサービスとクライアントに対する、SOAPメッセージ・リクエストとレスポンスのコンテンツにアクセスできます。デフォルトでは、メッセージ・ログは診断メッセージとは別のログ・ファイルに格納されます。

次の項では、メッセージ・ログ・ファイルの表示方法および管理方法を説明します。

メッセージ・ログの構成

Webサービスまたはクライアントのメッセージ・ログは、次のいずれかの方法で構成します。

  • ロギング・アサーションを含むポリシーをWebサービスまたはクライアントに添付します。

    oracle/security_log_templateという、1つの事前定義済ロギング・アサーション・テンプレートがあります。詳細は、「oracle/security_log_template」を参照してください。このテンプレートは、WebサービスのリクエストとレスポンスのSOAPメッセージ全体をログ出力するように構成されています。デフォルトでは、すべての事前定義済Webサービス・セキュリティ・ポリシーで、最初のセキュリティ・アサーションが実行される前後にSOAPメッセージ全体を取得するために、このロギング・アサーションが使用されます。デフォルトでは、ロギング・アサーションは実行されません。SOAPメッセージをメッセージ・ログに記録するためには、「ポリシー内のアサーションの有効化または無効化」の説明に従って、これを有効化する必要があります。ロギング・アサーションは、デバッグおよび監査目的でのみ有効化することをお薦めします。

  • oracle/log_policyポリシーをWebサービスまたはクライアントに添付します。詳細は、「oracle/log_policy」を参照してください。

  • 独自のロギング・ポリシーまたはアサーション・テンプレートを作成して、Webサービスのリクエストとレスポンスに関して記録されるSOAPメッセージの要素を絞り込みます。

    たとえば、リクエスト・メッセージのSOAP本文のみを表示できます。新規ポリシーを作成するには、「Webサービス・ポリシーの作成」の手順に従ってください。oracle/security_log_templateアサーション・テンプレートのコピーを作成して、新規ポリシーで使用できるように構成できます。新規アサーション・テンプレートの作成の詳細は、「アサーション・テンプレートの作成」を参照してください。

メッセージ・ログの表示

「ログ・メッセージ」ページから、ADFおよびWebCenter Webサービス・エンドポイントのメッセージ・ログ・ファイルを表示できます。

Webサービス・エンドポイントのメッセージ・ログを表示する手順

「Webサービス・エンドポイントの詳細の表示」の説明に従って、「Webサービス・エンドポイント」ページに移動し、「Webサービス・エンドポイント」ページの「クイックリンク」セクション(右上)で「メッセージ・ログ」をクリックします。

図16-7のような「ログ・メッセージ」ページが表示されます。「ログ・メッセージ」ページのコンテンツの詳細は、「診断ログの表示」を参照してください。

メッセージ・ログのフィルタ処理

デフォルトでは、「ログ・メッセージ」ページには、過去1時間に記録されたSOAPメッセージのサマリーが表示されます。検索条件を更新することで、表示されるメッセージをフィルタ処理できます。プロセスは診断ログのプロセスと同じです。詳細は、「診断ログのフィルタ処理」を参照してください。

デフォルトでは、「コンポーネント」および「モジュール」メッセージ・フィールドは、メッセージ・ログの検索条件の一部に含まれます。「コンポーネント」フィールドは、WebLogic Server名に設定されます。「モジュール」フィールドは、メッセージ・ロギング・コンポーネント名のoracle.wsm.msg.loggingに設定されます。

サンプル・ログの確認

次の項に、ログ・エントリを使用して特定の問題を診断する方法を実演する、サンプル・ログからの抜粋を示します。

サンプル・ログ: Oracle WSM Policy Manager使用不可

次のサンプル・ログの抜粋は、Oracle WSM Policy Managerが停止していることを示します。この問題を解決するには、『Oracle Fusion Middleware管理者ガイド』の使用するアプリケーションの起動と停止に関する項の説明に従って、wsm-pmアプリケーションを再起動します。

2009-02-16 16:21:28,029 [[ACTIVE] ExecuteThread: '4' for queue:
 'weblogic.kernel.Default (self-tuning)'] 
 ERROR policymgr.PolicyManagerModelBean logp.251 - 
 Service lookup failed with URL:t3://host.example.com:7001/wsm-pm
 oracle.wsm.policymanager.PolicyManagerException: WSM-02118 : 
 The query service cannot be created.
...

サンプル・ログ: セキュリティ・キーストア未構成

次のサンプル・ログの抜粋は、メッセージ保護されているOracle WSMセキュリティ・ポリシーが適用されていて、キーストアが構成されていないことを示します。このセキュリティ・フォルトを解決するには、「メッセージ保護に関するキーストアの構成」の説明に従って、キーストアを構成します。

Feb 16, 2009 5:29:56 PM oracle.wsm.common.logging.WsmMessageLogger logSevere 
 SEVERE: The specified Keystore file /scratch/sbollapa/stage131/user_projects/domains/sai131_domain/config/fmwconfig/default-keystore.jks 
 cannot be found; it either does not exist or its path is not included in the 
 application classpath.
 Feb 16, 2009 5:29:56 PM oracle.wsm.common.logging.WsmMessageLogger logSevere
 SEVERE: Keystore is not properly configured in jps config.
 Feb 16, 2009 5:29:56 PM oracle.wsm.common.logging.WsmLogUtil log
 SEVERE: failure in OWSM Agent processRequest, category=security,
 function=agent.function.client, application=default, composite=pe3test3,
 modelObj=Service1, + policy=null, policyVersion=null, assertionName=null
 oracle.wsm.common.sdk.WSMException: WSM-00101 : The specified Keystore file 
 /scratch/sbollapa/stage131/user_projects/domains/sai131_domain/config/fmwconfig/default-keystore.jks cannot be found; 
 it either does not exist or its path is not included in the application classpath.
...

サンプル・ログ: 証明書使用不可

次のサンプル・ログの抜粋は、メッセージ保護されているOracle WSMセキュリティ・ポリシーが適用されていて、キーストアで使用できないセキュリティ証明書が必要なことを示します。このセキュリティ・フォルトを解決するには、「信頼できる証明書の入手と、キーストアへのインポート」の説明に従って、証明書を持つキーストアを構成します。

[2009-04-15T04:07:02.821-07:00] [jrfServer] [ERROR] [WSM-000062]
 [oracle.wsm.resources.security] [tid: [ACTIVE].ExecuteThread: '0' for 
queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] 
 [ecid: 0000I2dTFG7DScT6uBe9UH19tRyv000000,0:1] [WEBSERVICE_PORT.name:
 NonCAAsCAMessageProtectionPolicyPort] [APP: jaxwsservices] 
 [J2EE_MODULE.name: NonCAAsCAMessageProtectionPolicy] [WEBSERVICE.name:
 NonCAAsCAMessageProtectionPolicyService] [J2EE_APP.name: jaxwsservices] 
 [arg: oracle.wsm.security.SecurityException: WSM-00062 : 
 The path to the certificate used for the signature is invalid.] 

[2009-04-15T04:07:02.810-07:00] [jrfServer] [NOTIFICATION] []
 [oracle.wsm.security.policy.scenario.processor.Wss11X509TokenProcessor] 
 [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default
 (self-tuning)'] [userId: <anonymous>] 
[ecid: 0000I2dTFG7DScT6uBe9UH19tRyv000000,0:1] 
[WEBSERVICE_PORT.name: NonCAAsCAMessageProtectionPolicyPort] 
[APP: jaxwsservices] [J2EE_MODULE.name: NonCAAsCAMessageProtectionPolicy]
 [WEBSERVICE.name: NonCAAsCAMessageProtectionPolicyService] [J2EE_APP.name:
 jaxwsservices] Certificate path validation failed for signing certificate

[2009-04-15T04:07:02.821-07:00] [jrfServer] [ERROR] [WSM-00006]
 [oracle.wsm.resources.security] [tid: [ACTIVE].ExecuteThread: '0' for queue:
 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] 
[ecid: 0000I2dTFG7DScT6uBe9UH19tRyv000000,0:1] [WEBSERVICE_PORT.name:
 NonCAAsCAMessageProtectionPolicyPort] [APP: jaxwsservices] 
[J2EE_MODULE.name: NonCAAsCAMessageProtectionPolicy] [WEBSERVICE.name:
 NonCAAsCAMessageProtectionPolicyService] [J2EE_APP.name: jaxwsservices] 
[arg: oracle.wsm.security.SecurityException: WSM-00062 : The path to the
 certificate used for the signature is invalid.] Error in receiving the request:
 oracle.wsm.security.SecurityException: WSM-00062 : The path to the certificate
 used for the signature is invalid.

Webサービスのログ・ファイルの構成

ロギング・データをより詳細に編成するには、Webサービスのログ・ファイルを構成します。SOA、ADFおよびWeb Centerサービスのログ・ファイルを構成できます。

次の表では、Oracle WSMに関連するデフォルトのログ・ファイルが定義されています。

表16-3 Oracle WSMのデフォルトのログ・ファイル

デフォルトのログ・ファイル 説明

odl-handler

サーバーのJava EEコンポーネントの一般的な診断データを記録します。

owsm-message-handler

SOAPメッセージをOracle WSMロギング・ポリシーにより記録します。


次の手順では、WebLogic ServerおよびWebサービス・エンドポイント・レベルで診断ログのログ・レベルを設定する方法を説明します。

Fusion Middleware ControlまたはWLSTを使用してログ・レベルを設定する方法の詳細は、『Oracle Fusion Middleware管理者ガイド』のログ・ファイルに書き込まれる情報のレベルの設定に関する項を参照してください。

Webサービスのログ・ファイルを構成するには:

  1. ログ出力を構成するWebLogic Serverに移動します。

    1. ナビゲーション・ペインで「WebLogicドメイン」を開きます。

    2. ドメインを開きます。

    3. リストから必要なサーバーを選択します。

      「WebLogicサーバー」ホームページが表示されます。

  2. 「WebLogic Server」メニューで、「ログ」→「ログ構成」を選択します。

    「ログ構成」ページが表示されます。

  3. 「ログ・ファイル」タブを選択します。

    図16-8に示すように、現在のログ・ファイルのリストが表示されます。「ログ構成」ページには、現在構成されているログ・パス、ファイル形式およびローテーション・ポリシーが表示されます。

    図16-8 現在のログ・ファイル

    図16-8の説明が続きます
    「図16-8 現在のログ・ファイル」の説明

  4. ログ・ポリシー構成を編集する場合は、リスト内のログ・ファイルを選択し、「構成の編集 . . .」をクリックします。

    「ログ・ファイルの編集」ページが表示されます。

    図16-9 「ログ・ファイルの編集」ページ

    図16-9の説明が続きます
    「図16-9 「ログ・ファイルの編集」ページ」の説明

  5. 必要に応じて、ログ・ファイル情報を編集します。

    表16-4 「ログ・ファイルの編集」ページのフィールド

    フィールド 説明

    ログ・パス

    ログ・ファイルのパス。このフィールドは必須です。

    ログ・ファイル形式

    ログ・ファイルの形式。有効な値はテキストまたはXMLです。

    ログ・レベル

    ログ出力のデフォルトのログ・レベル。リストからログ・レベルを選択します。有効な値は次のとおりです。

    • INCIDENT_ERROR:1 (SEVERE+100)

    • ERROR:1 (SEVERE)

    • WARNING:1 (WARNING)

    • NOTIFICATION:1 (INFO)

    • NOTIFICATION:16 (CONFIG)

    • TRACE:1 (FINE)

    • TRACE:16 (FINER)

    • TRACE:32 (FINEST)

    デフォルト属性の使用

    ログ出力にデフォルト属性を使用するかどうかを指定するフラグ。

    サプリメンタル属性

    サプリメンタル属性は必須です。

    関連付けるログ出力

    ログ出力に関連付けるコンポーネント。

    ローテーション・ポリシー

    期間によるファイル・サイズに基づいて、ログ・ファイルをローテーションするかどうか指定します。詳細は、『Oracle Fusion Middleware管理者ガイド』のログ・ファイルのローテーションの構成に関する項を参照してください。

    ローテーション・ポリシーとして「サイズ・ベース」が選択されている場合、「最大ログ・ファイル・サイズ」は必須フィールドです。ローテーション・ポリシーとして「時間ベース」が選択されている場合、「頻度」は必須フィールドです。


  6. 「OK」をクリックして、ログ・ファイルの構成を編集します。