ヘッダーをスキップ
Oracle® Fusion Middlewareリリース・ノート
11gリリース1(11.1.1) for Microsoft Windows(32-Bit)
B55923-12
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

25 Webサービス開発、セキュリティおよび管理

この章では、Oracle Web Services Managerを含むWebサービス開発、セキュリティおよび管理に関連する問題について説明します。

次のトピックが含まれます:


注意:

WebLogic Webサービスの場合、13.36項「WebサービスとXMLの問題および回避策」を参照してください。


25.1 マルチバイトのユーザー資格証明のwss_http_token_*ポリシーでの使用

このリリースでは、マルチバイトのユーザー資格証明はwss_http_token_*ポリシーでサポートされていません。マルチバイトのユーザー資格証明が必要な場合、wss_username_token_*ポリシーなどの別のポリシーを使用します。使用可能なポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の付録B「事前定義済ポリシー」を参照してください。

25.2 ポリシーの一括アップロードの実行

ポリシーのMDSリポジトリへの一括インポート時、操作が初めに成功しなかった場合、一括インポートが成功するまで操作を再試行します。

ほとんどの場合、これは、Oracle RACデータベースでメタデータのアップロード時にデータベースが切り替えられるときに起こります。Oracle RACデータベースにn個のデータベースがある場合、この操作をn回再試行する可能性があります。

ポリシーの一括インポートの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの移行に関する項を参照してください。

25.3 クライアント・ポリシーのデタッチ後のポリシー構成オーバーライド値の確認

クライアントにポリシーをアタッチしてポリシー構成値をオーバーライドし、その後ポリシーをデタッチした場合、ポリシー構成オーバーライド値が削除されません。このクライアントに新規ポリシーをアタッチする際、ポリシー構成オーバーライド値を確認し、適切に更新されるようにします。

25.4 デプロイ後のカスタマイズの削除

AdfConnection MBeanを使用したデプロイ後にconnections.xmlファイルを変更すると、完全な接続がカスタマイズとして保存されます。つまり、再デプロイされたアプリケーションの接続に対する変更は、カスタマイズによって上書きされます。

Fusion Middleware Controlを使用してデプロイ後にアプリケーションのconnections.xmlファイルを変更すると、新しいconnections.xmlファイルがカスタマイズとして作成され、MDSリポジトリに格納されます。このカスタマイズは、アプリケーションの有効期間中は保持されます。したがって、アプリケーションを再デプロイしても、カスタマイズされたconnections.xmlファイルは、引き続きアプリケーションに対するカスタマイズとして適用されます。

(Fusion Middleware Controlによる)前のカスタマイズではなく、再デプロイされたアプリケーションのconnections.xmlファイルを適用するには、MDSリポジトリから明示的にconnections.xmlのカスタマイズを削除する必要があります。

たとえば、Webサービスのデータ・コントロールを含むアプリケーションをデプロイする場合、Fusion Middleware Controlを使用してユーザー名トークン・クライアント・ポリシーをアタッチし、続けてポリシーをデタッチします。次に、JDeveloperに戻ってアプリケーションを編集し、HTTPトークン・クライアント・ポリシーをアタッチしてアプリケーションを再デプロイします。Fusion Middleware Controlを使用してアプリケーションを表示すると、アタッチしたHTTPトークン・クライアント・ポリシーが使用されていないことがわかります。これは、Fusion Middleware Controlを使用して前に作成したカスタマイズ済のconnections.xmlファイルが使用されていることが原因です。

MDSリポジトリからconnections.xmlのカスタマイズを削除すると、アプリケーションでは独自のconnections.xmlファイルが使用されます。

25.5 ローカライズの制限の確認

このリリースのOracle Enterprise Managerでは、次の情報は英語でのみサポートされます。

25.6 WLSTを使用してセキュリティ・ポリシーをインポートする場合に同じポリシーが繰り返しインポートされる可能性がある

WLSTを使用してセキュリティ・ポリシーをインポートする場合、同じポリシーが繰り返しインポートされる可能性があることに注意してください。

25.7 WSDLのアイデンティティはADF DCアプリケーションによる施行で使用されない

ADF DCアプリケーションでは、WSDLのアイデンティティ拡張(WSDLで公開される証明書など)は、メッセージ保護ポリシーで受信者証明書として使用されません。かわりに、受信者キー別名(宣言的構成オーバーライド)またはポリシーで指定されたデフォルトの受信者キー別名が使用されます。

25.8 2つのサーバーがSSL対応(双方向SSL)である場合にFusion Middleware Controlにポリシーがリストされない

管理対象サーバーが双方向SSL対応の場合(たとえば、双方向SSLを介してOracle WSMポリシー・マネージャをホストするSOAサーバーなど)、Fusion Middleware Controlをホストする管理サーバーがその双方向SSL対応の管理対象サーバーにアクセスするよう正しく構成されていても、Fusion Middleware ControlにはOracle WSMポリシーがリストされません。

25.9 「Webサービスのテスト」ページでSOAPヘッダーにバインドされた入力引数をテストできない

SOAPヘッダーにバインドされた入力引数を持つWebサービスでは、Fusion Middleware Controlコンソールの「Webサービスのテスト」ページにメッセージが表示されません。したがって、このような操作は、「Webサービスのテスト」ページではテストできません。

たとえば、マルチパートWSDLの入力をFusion Middleware Controlを通じて表示する場合、一方の入力引数がSOAPヘッダーにバインドされていると、他方のメッセージが入力から欠落するため、コンポジット・インスタンスは次の例外とともに失敗します。

ORAMED-01203:[No Part]No part exist with name "request1" in source message

この問題を解決するには、「入力引数のXML表示」を選択し、WSDLの2つのパートの入力を渡せるようにペイロードを編集します。

25.10 Fusion Middleware ControlでSAML発行者を追加するとjps-config.xmlファイルが間違って更新される

リリース11g R1 (11.1.1.1.0)で、Fusion Middleware Controlコンソールから信頼できる発行者を追加または編集しようとすると、jps-config.xmlファイルが間違って更新されます。この問題の回避策として、11g R1パッチ・セット2 (11.1.1.3.0)にアップグレードすることをお薦めします。

25.11 パッチの適用によりパッチ・セット3のOracle WSMポリシー・マネージャを使用してカスタム・ポリシーにアタッチされるパッチ・セット1のWebLogic Server Webサービス

11g R1パッチ・セット2 (11.1.1.3.0)の新機能であるOracle Infrastructure WebサービスおよびWebLogic Server Webサービスの共有ポリシー・ストアのため、Weblogic Server Webサービスでは、現在、デフォルトでポリシー・マネージャを使用してMDSリポジトリからポリシーを取得します。パッチ・セット1では、Weblogic Server Webサービスは、デフォルトでクラスパス・モードを使用していました。

Oracle Fusion Middleware 11g R1ソフトウェアのインストール環境にパッチを適用してパッチ・セット2に移行した後、カスタムOracle WSMポリシーをWebLogic Server Webサービスにアタッチした場合、そのカスタム・ポリシーがMDSリポジトリに格納されていることを確認する必要があります。使用中のカスタム・ポリシーのみを移行する必要があることに注意してください。シード・ポリシーは、デフォルトですべてMDSリポジトリに含まれます。

メタデータ・サービス(MDS)・リポジトリにポリシーを移行するには、『Webサービスのためのセキュリティおよび管理者ガイド』のMDSリポジトリの管理に関する項を参照してください。

25.12 空のサブジェクトが渡されるとカスタム・ポリシーが失敗する

空のサブジェクトがカスタム・ポリシーに渡されると、一般エラーが発生して失敗します。この問題を回避するには、anonymousSubjectを作成してカスタム・ステップの実行メソッド内に設定します。例:

javax.security.auth.Subject subject =
oracle.security.jps.util.SubjectUtil.getAnonymousSubject();
context.setProperty(oracle.wsm.common.sdk.IMessageContext.SECURITY_SUBJECT,subject)

この例では、コンテキストのタイプはoracle.wsm.common.sdk.IContextです。

25.13 カスタムExactly-oneポリシーの使用時に発生する可能性のある制限

一部の状況では、カスタムExactly-oneポリシーの使用時に制限が発生します。Exactly-oneポリシー内のアサーションのセットで、リクエスト・メッセージが最初のアサーションに一致した場合、最初のアサーションが実行され、対応するレスポンスが送信されます。ただし、一部の状況では、リクエストが後続のアサーションとの一致を意図しているために、この動作では適切でないことがあります。

たとえば、Timestamp=ONであるクライアント・ポリシーと、メッセージ保護アサーション(1つ目はTimestamp=OFF、2つ目はTimestamp=ON)付きのwss11 username tokenを持つサービスexactly-oneポリシーがあるとします。したがって、サービスexactly-oneポリシー内の1つ目のアサーションはリクエスト内のタイムスタンプを予期していませんが、2つ目のアサーションは予期しています。この場合、1つ目のアサーションが実行されると、レスポンスはタイムスタンプなしで送信されます。しかし、クライアント側の処理は、リクエストで送信されたタイムスタンプを予期しているため、失敗します。

この制限は、クライアント・ポリシーでより多くの数の要素が署名されるとみなされる一方で、サービス・ポリシーではそれに対応していない場合に発生する可能性があります。

25.14 Oracle WSMとWebLogic Server間で使用されるセキュリティ・ポリシーの「サービスの互換性」エラーは無視する

Fusion Middleware Controlでは、サービス・ポリシーの互換性の検証時に間違ったエラー・メッセージが表示される可能性があります。この互換性メッセージが表示されるのは、Enterprise Managerを使用してOracle WSMセキュリティ・クライアント・ポリシーをアタッチする場合です。「サービスの互換性をチェックします」をクリックすると、ポリシーには互換性があるはずだが、これらに互換性がないことを示すメッセージが表示されます。

回避策:

WSMポリシーがWebサービス・エンドポイントにアタッチされている場合、対応するクライアント・ポリシーを使用します。たとえば、サービスにwss11_saml_or_username_token_with_message_protection_service_policyがある場合、クライアント側ではwss11_saml_token_with_message_protection_client_policyまたはwss11_username_token_with_message_protection_client_policyが機能します。WSM以外のポリシーがWebサービスにアタッチされている場合は、対応するクライアント・ポリシーの詳細について『Oracle Web Services Manager相互運用ガイド』を参照し、これをアタッチしてください。

25.15 JDeveloperウィザードを使用してOracle WSMポリシーをWebサービス・クライアントにアタッチする際に準拠ポリシーが戻されない

デザインタイムで、JDeveloperウィザードのOracle WSMポリシーをWebサービス・クライアントにアタッチするためのオプションを使用しても、準拠ポリシーが戻されない可能性があります。このエラーは次のいずれかの原因で発生した可能性があります。

回避策:

JDeveloperウィザードの「選択用に互換性のあるクライアント・ポリシーのみを表示します。」オプションを無効にします。これにより、すべてのクライアント・ポリシーがリストされます。

WSMポリシーがWebサービスにアタッチされている場合、対応するクライアント・ポリシーを使用します。たとえば、サービスにポリシーwss11_saml_or_username_token_with_message_protection_service_policyがある場合、クライアント側ではwss11_saml_token_with_message_protection_client_policyまたはwss11_username_token_with_message_protection_client_policyが機能すると想定しても問題ありません。

WSMポリシーがWebサービスにアタッチされていない場合は、対応するクライアント・ポリシーの確認方法について『Oracle Web Services Manager相互運用ガイド』を参照し、これをアタッチしてください。

25.16 SAML Bearerトークン・ポリシーがデフォルトで署名されるようになった

wss_saml_token_bearer_over_sslポリシー(クライアントとサービスの両方)を構成する際に新しいプロパティsaml.enveloped.signature.requiredが使用可能になりました。11.1.1.4より前のリリースでは、SAML Bearerトークンがデフォルトでは署名されませんでした。リリース11.1.1.4以上では、saml.enveloped.signature.requiredプロパティのデフォルト値がtrueであるため、SAML Bearerトークンは署名されます。

11.1.1.4より前のリリースの動作を保持するには、クライアント・ポリシーとサービス・ポリシーの両方でsaml.enveloped.signature.requiredプロパティをfalseに設定します。SAML Bearerトークンはドメイン署名鍵を使用して署名されますが、Bearerクライアント・ポリシーに設定されているkeystore.sig.csf.keyプロパティを使用してオーバーライドできます。

影響を受けるポリシーは、次のとおりです。

25.17 サブスクライバ・メディエータ・コンポーネントでセキュリティ・ポリシーが機能しない

コンポーネント認可では、サブスクライバ・メディエータ・コンポーネントで機能しないポリシーはすべて拒否されます。認可ポリシーは、他の通常のメディエータ・コンポーネントで機能します。

25.18 一部のロケールでアタッチされているポリシーがポリシー表に表示されない

Fusion Middleware ControlでWebサービス・アプリケーションを選択し、Webサービス・エンドポイントにナビゲートします。「アタッチ/デタッチ」ページでエンドポイントにポリシーをアタッチします。場合によっては、一部のロケール(zh-cn、zh-tw、ja、pt-br、es、fr、ko)でアタッチされているポリシーが「直接アタッチされたポリシー」表に表示されない可能性があります。

回避策として、列のサイズを大きくしてください。

25.19 事前定義済ポリシーの変更を取り込むために必要な手動手順

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のORグループを使用したポリシーの構成に関する項で説明しているように、oracle/wss11_saml_or_username_token_with_message_protection_service_policyには、次の5つのアサーションが含まれるようになりました。

これらの追加アサーションを利用するには、resetWSMPolicyRepository(false) WLSTコマンドを使用してリポジトリ内のOracle WSMポリシーをアップグレードする必要があります。このコマンドを実行すると、すべての事前定義済ポリシーが11.1.1.6で提供される最新バージョンにアップグレードされることに注意してください。詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のリポジトリ内のOracle WSMポリシーのアップグレードに関する項を参照してください。

25.20 WebLogic Webサービス・クライアントに対して使用状況トラッキングを使用できない

このリリースでは、WebLogic Java EE Webサービス・クライアントに対して使用状況トラッキングおよび分析は提供されていません。

25.21 PermitallおよびDenyallポリシーは同じWebサービスにアタッチしないでください

同じWebサービスに複数の認可ポリシーをアタッチできますが、permitallとdenyallの両方のポリシーをアタッチしないでください。そのようにすると、このリリースではこの組合せは検証に成功します。

回避策:

permitallおよびdenyallポリシーは同じWebサービスにアタッチしないでください。認可ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の認可ポリシーと構成手順に関する項を参照してください。

25.22 WLSTのランタイム制約入力に対するFusion Middleware Controlでの追加引用符

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシー・セットでのランタイム制約の指定に関する項で説明しているように、WLSTを使用してランタイム制約を指定する場合、setPolicySetConstraint('HTTPHeader("VIRTUAL_HOST_TYPE", "external")')のように、引用符を使用して制約を指定する必要があります。その後、Fusion Middleware Controlを使用してポリシー・セット制約を表示および編集すると、制約は「制約名」フィールドおよび「制約値」フィールドに引用符付きで表示されます。これらのフィールドで引用符を削除する必要があります。

25.23 スコープが設定されたオーバーライドが同じポリシーへの後続の参照に対し保持される

メッセージ保護ポリシーを使用してサーバー側のアイデンティティ/暗号化鍵(keystore.enc.csf.key)にスコープが設定されたオーバーライドを使用する場合、オーバーライド値はポリシーに保存されます。ポリシーはキャッシュされるため、別のサービスによるこのポリシーへの後続の参照には、オーバーライド値が含まれます。そのため、結果は予期しないものになります。

このシナリオの例を2つ、次に示します。

回避策

推奨する回避策は、可能なときにキャッシュのリフレッシュを実行することです。たとえば、ポリシーの添付/参照に、プロパティkeystore.enc.csf.keyのスコープが設定されたオーバーライドがあり、一度強制されたか通知された場合、キャッシュされたポリシーにはオーバーライドが含まれますが、リポジトリ内の元のポリシーには影響がありません。オーバーライドをクリアするには、サーバーの再起動、アプリケーションの再デプロイ、Fusion Middleware Controlを使用したポリシーの変更などの方法を使用して、キャッシュをリフレッシュします。

しかし、状況によっては、キャッシュのリフレッシュを実行できないこともあります。たとえば、ポリシーの添付/参照があるサービスに、プロパティkeystore.enc.csf.keyのスコープが設定されたオーバーライドがあり、手動でキャッシュをリフレッシュする時間のない実行のフローで、同じポリシーを参照する別のサービスの前に強制された場合、後続のサービスにより参照されるキャッシュ内のポリシーには構成のオーバーライドが含まれます。たとえば、同じポリシーが非同期リクエストと非同期コールバック・クライアントの両方にアタッチされた非同期サービスで、非同期リクエストの添付/参照のみにオーバーライドがある(非同期コールバックにはない)場合、非同期コールバック・ポリシーの強制が、非同期リクエストの後に発生します。この場合、コールバック・クライアントは構成のオーバーライドを含むキャッシュ内のポリシーにアクセスします。キャッシュをリフレッシュする機会がないため、使用できる回避策はありません。

25.24 ポリシーの新しいデフォルト設定

次の事前定義ポリシーでは、Nonce Required設定およびCreation Time Required設定のデフォルト値は、このリリースではFalseに設定されています(以前のリリースではこれらの設定はTrueでした)。

ユーザーは、nonceおよびusernameトークンで作成した要素はサービス・ポリシーで無視されることを考慮する必要があります。ただし、この変更はWebサービスのセキュリティには影響しません。以前の動作を維持する場合、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項の説明に従って、ポリシーのコピーを作成し、値をTrueに設定します。

ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の「事前定義済ポリシー」を参照してください。


注意:

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシー通知に関する項に記載されているようにWS-SecurityPolicyバージョン1.3を使用するようにポリシー通知が構成されている場合、互換性のあるクライアント・ポリシーは返されませんが、ランタイムは互換性があります。デフォルトの通知(たとえば、wssp1.1)では、クライアントの互換性は予想どおりに動作します。


25.25 正確なポリシーの使用状況数を取得するためのアプリケーションの再起動

Webサービスが参照するポリシーが削除されてから再インポートされると、その使用状況数が正しくなくなり、正確な使用状況数を取得するためにアプリケーションを再起動する必要があります。

25.26 Kerberosポリシーの強制によって「ユーザーからパスワードを取得できない」エラーがスローされる

この問題は、Java EEクライアントとサービスが異なるキー・タブを使用していて、クライアントとサービスの両方が同じサーバー内にある場合に発生します。この場合、クライアントがKerberos認証ポリシーで保護されているJava EEサービスを起動すると、「ユーザーからパスワードを取得できない」エラーがスローされる可能性があります。このエラーは、JDKによって提供されるKrb5LoginModule実装が1つのキー・タブのみをキャッシュするためにスローされます。

この問題を回避するには、クライアントとサービス・プリンシパルを単一のキー・タブに配置します。この問題は、クライアントとサービスのペアのみに限定されず、同じサーバー上で動作している2つのJava EEクライアントでも発生します。したがって、このようなあらゆるケースで、必要なすべてのプリンシパルを含む単一のキー・タブのみを作成する必要があります。

25.27 WebLogic JAX-WS Webサービスに対するmigrateAttachments WLSTコマンドが失敗する

migrateAttachments WLSTコマンドは、同じ直接(ローカル)ポリシーの添付ファイルを外部グローバル・ポリシーの添付ファイルに移行します(この移行が行われない場合には、外部グローバル・ポリシーの添付ファイルは、現在のドメインの各ポリシー・サブジェクトにアタッチされます)。

PS6では、WebLogic Server JAX-WS Webサービスが現在のドメインにデプロイされる場合には、migrateAttachmentsコマンドは失敗し、例外をスローします。


注意:

現在のドメインにデプロイ済のWebLogic JAX-WS Webサービスがない場合、このコマンドは正しく機能します。


この問題を回避するには、次の手順に従います。

  1. listWebServices(detail='true')コマンドを実行します。

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

  2. listWebServicesコマンドの出力から、グローバル・ポリシーの添付ファイルと同じ直接アタッチされたポリシーがあるWebサービスを判断します。

  3. detachWebServicePolicyコマンドを実行し、手順2で特定したWebサービスまたはWebサービスのクライアントの直接アタッチされたポリシーを削除します。

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

  4. listWebServiceClients(detail='true')コマンドを実行します。

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

  5. listWebServiceClientsコマンドの出力から、グローバル・ポリシーの添付ファイルと同じ直接アタッチされたポリシーがあるWebサービスのクライアントを判断します。

  6. detachWebServicePolicyコマンドを実行し、手順5で特定したWebサービスのクライアントの直接アタッチされたポリシーを削除します。

25.28 SOAPメッセージの署名を確認するとNullポインタ例外がスローされる場合がある

SOAPメッセージの署名を確認するとNullポインタ例外がスローされる場合があります。この問題は、デフォルトのXMLネームスペースがSOAPメッセージで定義されている高度なアルゴリズム・スイートを使用するメッセージ保護ポリシーで特によく発生します。次の例では、http://www.oracle.com/sb/qa/configがデフォルトのネームスペースです。

<soapenv:Envelope  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.oracle.com/sb/qa/config">
   <soap:Header></soap:Header>
   <soapenv:Body></soapenv:Body> 
</soapenv:Envelope>

この問題を回避するには、SOAPメッセージのデフォルトのXMLネームスペースを使用しないでください。

25.29 wsm-pmが複数のサーバーをターゲットにするとドメインに対するcheckWSMstatus() WLSTコマンドが失敗する

wsm-pmが複数のサーバーに対してターゲットになっているまたはクラスタ内にあるシナリオでは、このエージェント・チェックは正しく実行されません。また、t3ポートとHTTPポートが異なる場合、エージェント・チェックは正しく実行されません。

これらのシナリオでエージェント・チェックを実行するには、address引数の値を明示的に指定する必要があります。address引数は、wsm-pmが実行されているサーバーのホスト名およびポート名を含む有効なHTTP URLである必要があります。

25.30 Webサービス・ポリシー・ページのパフォーマンスの改善

不要なロールの問合せを削除することで、Fusion Middleware ControlのWebサービス・ポリシー・ページのパフォーマンスが改善されています。

25.31 今回のリリースではクロスドメイン・ポリシー・マネージャの構成はサポートされていない

リモート・ドメインでのポリシー・マネージャの構成は、今回のリリースではサポートされていません。したがって、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の次のトピックで説明しているリモート・ポリシー・マネージャに接続する手順は、本番環境ではお薦めしません。

25.32 setWebServicePolicyOverride WLSTコマンドがJAVA EE (WebLogic) Webサービスに適用されない

このリリースでは、setWebServicePolicyOverrideコマンドは、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する説明に記載されているように、Oracle Infrastructure WebサービスおよびSOAコンポジットにのみ適用されます。wlsモジュール・タイプはサポートされていません。