この章では、Oracle Web Services Managerを含むWebサービス開発、セキュリティおよび管理に関連する問題について説明します。
次のトピックが含まれます:
クライアントにポリシーをアタッチしてポリシー構成値をオーバーライドし、その後ポリシーをデタッチした場合、ポリシー構成オーバーライド値が削除されません。このクライアントに新規ポリシーをアタッチする際、ポリシー構成オーバーライド値を確認し、適切に更新されるようにします。
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ファイルが使用されます。
このリリースのOracle Enterprise Managerでは、次の情報は英語でのみサポートされます。
ポリシーおよびアサーション・テンプレートのorawsp:displayName
フィールド以外のすべてのフィールド。
?orawsdl
ブラウザ・アドレスを使用する場合のorawsp:description
フィールド。
システムMBeanブラウザにおけるoracle.wsm.upgrade MBeanの「説明」
フィールド。
管理対象サーバーが双方向SSL対応の場合(たとえば、双方向SSLを介してOracle WSMポリシー・マネージャをホストするSOAサーバーなど)、Fusion Middleware Controlをホストする管理サーバーがその双方向SSL対応の管理対象サーバーにアクセスするよう正しく構成されていても、Fusion Middleware ControlにはOracle WSMポリシーがリストされません。
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つのパートの入力を渡せるようにペイロードを編集します。
一部の状況では、カスタムExactly-oneポリシーの使用時に制限が発生します。Exactly-oneポリシー内のアサーションのセットで、リクエスト・メッセージが最初のアサーションに一致した場合、最初のアサーションが実行され、対応するレスポンスが送信されます。ただし、一部の状況では、リクエストが後続のアサーションとの一致を意図しているために、この動作では適切でないことがあります。
たとえば、Timestamp=ON
であるクライアント・ポリシーと、メッセージ保護アサーション(1つ目はTimestamp=OFF
、2つ目はTimestamp=ON
)付きのwss11 username token
を持つサービスexactly-oneポリシーがあるとします。したがって、サービスexactly-oneポリシー内の1つ目のアサーションはリクエスト内のタイムスタンプを予期していませんが、2つ目のアサーションは予期しています。この場合、1つ目のアサーションが実行されると、レスポンスはタイムスタンプなしで送信されます。しかし、クライアント側の処理は、リクエストで送信されたタイムスタンプを予期しているため、失敗します。
この制限は、クライアント・ポリシーでより多くの数の要素が署名されるとみなされる一方で、サービス・ポリシーではそれに対応していない場合に発生する可能性があります。
コンポーネント認可denyallポリシーは、サブスクライバ・メディエータ・コンポーネントで機能しません。認可ポリシーは、他の通常のメディエータ・コンポーネントで機能します。
『Webサービスのためのセキュリティおよび管理者ガイド』のORグループを使用したポリシーの構成に関する項で説明しているように、oracle/wss11_saml_or_username_token_with_message_protection_service_policyには、次の5つのアサーションが含まれるようになりました。
wss_saml_token_bearer_over_ssl (新規)
wss_username_token_over_ssl (新規)
wss_http_token_over_ssl (新規)
wss11_saml_token_with_message_protection (既存)
wss11_username_token_with_message_protection (既存)
これらの追加アサーションを利用するには、resetWSMPolicyRepository(false)
WLSTコマンドを使用してリポジトリ内のOracle WSMポリシーをアップグレードする必要があります。このコマンドを実行すると、すべての事前定義済ポリシーが11.1.1.6で提供される最新バージョンにアップグレードされることに注意してください。詳細は、『Webサービスのためのセキュリティおよび管理者ガイド』のリポジトリ内のOracle WSMポリシーのアップグレードに関する項を参照してください。
このリリースでは、WebLogic Java EE Webサービス・クライアントに対して使用状況トラッキングおよび分析は提供されていません。
同じWebサービスに複数の認可ポリシーをアタッチできますが、permitallとdenyallの両方のポリシーをアタッチしないでください。ただし、両方ともアタッチすると、このリリースではこの組合せは検証に成功します。
回避策:
permitallおよびdenyallポリシーは同じWebサービスにアタッチしないでください。認可ポリシーの詳細は、『Webサービスのためのセキュリティおよび管理者ガイド』の認可ポリシーと構成手順に関する項を参照してください。
『Webサービスのためのセキュリティおよび管理者ガイド』のポリシー・セットでのランタイム制約の指定に関する項で説明しているように、WLSTを使用してランタイム制約を指定する場合、setPolicySetConstraint('HTTPHeader("VIRTUAL_HOST_TYPE", "external")')
のように、引用符を使用して制約を指定する必要があります。その後、Fusion Middleware Controlを使用してポリシー・セット制約を表示および編集すると、制約は「制約名」フィールドおよび「制約値」フィールドに引用符付きで表示されます。これらのフィールドで引用符を削除する必要があります。
今回のリリースでは、リモート・ドメインでのポリシー・マネージャの構成はサポートされていません。
特定のWebブラウザ(AppleのSafariなど)で、WSDLリンクをクリックしたときのWSDLソースを解釈しようとして、ブランク・ページが表示されることがあります。
回避策:
このようなブラウザでWSDLソースを表示するには、ブランク・ページでブラウザの「ソースの表示」コマンドを使用する必要があります。ブランク・ページで右クリックし、「ページ・ソースの表示」をクリックして、コンテンツを表示します。
複数のポリシー選択肢(ORグループ)を定義する場合、同じポリシー・タイプのアサーションはORグループの別のブランチで使用できません。たとえば、メッセージ保護アサーションの次の組合せは、同じ認証トークン・タイプを持つため失敗します。
oracle/wss10_saml20_token_with_message_protection_service_template
oracle/wss10_saml_token_with_message_protection_service_template
これらのアサーションをORグループに追加しようとすると、次のエラーが発生します。
cause = { "Invalid policy alternatives found inside XOR policy operator. It contains two or more message protection assertions which have same authentication token type." }, action = {"Ensure that you have only one message protection assertion with same authentication token type in the XOR policy" }) String INVALID_EXACTLYONE_WITH_TWO_MSG_PROT_POLICY_ALTERNATIVES = "WSM-00380";
詳細は、『Oracle Web Services Managerの理解』の複数のポリシー代替(ORグループ)の定義に関する項を参照してください。
OWSM-PM-EJBなどのシステム・コンポーネントの監査ログは、次のディレクトリにあります。
$DOMAIN_HOME
/servers/
$SERVER_NAME
/logs/auditlogs/
Component_Type
詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の「監査の構成と管理」を参照してください。