ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus開発者ガイド
11gリリース1 (11.1.1.7)
B61435-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

50 Oracle Web Services Managerを使用したOracle Service Busのセキュリティ

この章では、Oracle Service BusとOracle Web Services Manager (WSM)を組み合せて使用し、既存のセキュリティ・プロバイダを活用しながら、WS-Securityポリシーとのサービス統合環境を保護するためのスケーラブルで標準ベースの集中管理型アプローチを提供する方法について説明します。

Oracle WSMは、セキュリティ・ポリシーの作成や管理、制御のための実行時のフレームワークです。ポリシーを作成して、Oracle Service Bus内のサービスに付加し、Oracle WSMエージェントを使用してこれらをメッセージングのライフ・サイクルの様々なポイントで施行します。


注意:

Oracle Service Busの将来のリリースでは、Oracle WSMポリシーがWLS 9のセキュリティ・ポリシーを強化して、これに置き換わります。このバージョンのOracle Service Busでは、引き続きWLS 9ポリシーがサポートされますが、サービスを新たに作成する際、Oracle WSMポリシーを使用して、WLS 9ポリシーが推奨されなくなる場合に備えることも検討してください。


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

Oracle Web Services Managerの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。

50.1 Oracle Web Services ManagerとOracle Service Busの統合について

Oracle WSMは、Oracle Enterprise Manager Fusion Middleware Controlのコンポーネントで、Oracle SOA Suite環境とアプリケーションの集中管理と制御を提供するランタイムのフレームワークです。Oracle WSMポリシーは、Oracle Enterprise Managerで作成および構成し、ポリシー・ストア(データベースを推奨)で保持されます。Oracle WSMを使用すると、LDAPディレクトリに対してポリシーを定義し、標準のセキュリティ・トークン(SAMLトークンなど)を生成して、単一のトランザクションで使用される複数のWebサービスにIDを伝播することができます。

Oracle Service Busでは、セキュリティ・ポリシーを付加することのできるビジネス・サービスやプロキシ・サービスを定義する際に、使用可能なOracle WSMポリシーを付加できます。

Oracle WSMはランタイムのコンポーネントであるため、Oracle Service Busサービスへのポリシーの付加には、Oracle WSMが有効になっているOracle Service Busドメインへの接続が必要です。たとえば、EclipseでOracle WSMポリシーを使用するサービスを作成、管理する際は、ポリシーを付加するために、Oracle WSMが有効になっているドメインにOracle Service Busの構成をデプロイする必要があります。開発環境からOracle WSMへのランタイム接続がなければ、以前にサービスに付加されたポリシーの表示や削除しかできません。

Oracle Service BusにおけるOracle WSMのサポートは、自動的には利用できません。Oracle WSMのサポートをOracle Service Busで有効にするには、Oracle Service Busドメインを作成または拡張する際に、「Oracle Service Bus Oracle WSM拡張」テンプレートを選択します。Oracle Service BusドメインでOracle WSMのサポートが有効になると、無効化することはできません。50.2.1項「Oracle Service BusドメインへのOracle Web Services ManagerおよびOracle Enterprise Managerの追加」を参照してください。

50.1.1 セキュリティ・プロバイダ

ここでは、Oracle Service BusとOracle WSMが認証および認可で使用するセキュリティ・サービスについて説明します。

Oracle Web Service ManagerはJava Platform Security (JPS)を使用するため、Oracle Service BusはOracle WSMポリシーのJPSプロバイダを使用します。また、Oracle Service Busはメッセージ・セキュリティの他の面でOracle Common Security Services (CSS)を利用します。

Oracleセキュリティ・サービスの詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』の「Oracle Platform Security Servicesの概要」を参照してください。

次に、様々なセキュリティ分野でOracle Service BusとOracle WSMがどのセキュリティ・プロバイダを使用するかを示します。

50.1.1.1 JPSプロバイダ

Oracle Web Services Managerポリシーを使用する場合

  • Oracle WSMポリシーは、Oracle WebLogic Serverではなく、JPSのSAMLプロバイダを使用します。Oracle WSMでのSAMLの構成の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のSAMLの構成に関する説明を参照してください。

  • 認証の場合、Oracle WSMはJPSログイン・モジュールを使用し、このモジュールが、Oracle WebLogic Server上で構成された認証プロバイダを呼び出します。

  • Oracle WSMとOracle Service Busは、Oracle Platform Security Servicesで提供されるJava Keystore (JKS)とFarm Level Keystore (FKS)をサポートしています。Oracle WSMポリシーの場合、Oracle WebLogic ServerとJPSキーストアの両方が同じ種類のキーストアを参照するようにJPS上でキーストアを構成するのが最適です。たとえば、JKSファイル・キーストアを使用する場合、JPSとOracle WebLogic Serverは同じファイルを示す必要があります。FKSキーストアを使用する場合、JPSとOracle WebLogic Serverは同じFKS構成を示す必要があります。詳細は、50.2.1項「Oracle Service BusドメインへのOracle Web Services ManagerおよびOracle Enterprise Managerの追加」を参照してください。

  • JPSキーストアは、Oracle WSMポリシーのキーストア兼トラストストアとして機能します。

50.1.1.2 CSSプロバイダ

Oracle Service Busで使用するものを次に示します。

  • WLS 9ポリシーを施行するためのCSSプロバイダ

  • トランスポート・セキュリティを施行するためのCSSプロバイダ

  • 認証ポリシーのOracle WebLogic Server認可プロバイダ

  • カスタムのOracle WebLogic Server認証プロバイダおよびカスタムの認証ポリシー用IDアサーション・プロバイダ

  • Oracle WebLogic Serverの資格証明プロバイダおよびマッパー

  • WLS 9ポリシーのOracle WebLogic Serverキーストアおよびトラストストア

  • Oracle Web Services Managerエージェントによる認証およびIDアサーション

50.2 Oracle Web Services ManagerとOracle Service Busの設定および使用

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

50.2.1 Oracle Service BusドメインへのOracle Web Services ManagerおよびOracle Enterprise Managerの追加

Oracle WSMポリシーをOracle Service Busで使用するには、Oracle WSMポリシー・ストア用に適切なデータベース・スキーマを作成して、Oracle Web Services Managerを含むようにOracle Service Busドメインを拡張する必要があります。


注意:

Oracle WSMをOracle Service Busドメインに追加した後は、ドメインでOracle WSMを無効化することはできません。


  1. サポート対象のデータベースでOracle WSMデータベース・スキーマを作成するには、Oracle Repository Creation Utility (RCU)を使用します。作成する次のスキーマを選択してください。

    • SOAおよびBPMインフラストラクチャ

    • メタデータ・サービスAS Commonスキーマは、SOAインフラストラクチャを選択すると自動的に選択されます。

    スキーマの作成に使用した設定を、(特にメタデータ・サービス用のスキーマ所有者の場合は)メモしておいてください。

    RCUの実行の詳細は、『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』を参照してください。

  2. Oracle WSMとOracle Enterprise Managerを使用して、Oracle Service Busドメインを拡張します。Oracle Fusion Middleware構成ウィザードを実行する際に、次のドメイン・テンプレートを選択してください。

    • Oracle Service Bus OWSM拡張

    • Oracle WSM Policy Manager(OWSM拡張を選択すると自動的に選択されます)

    • Oracle Enterprise Manager(オプションで、Oracle WSMポリシーの作成と管理に必要)

    ドメイン拡張の一環として、Oracle構成ウィザードはJDBC構成ウィンドウでOWSM MDSスキーマを作成します。特にメタデータ・サービス(MDS)用のスキーマ所有者の場合は、このスキーマを選択し、前述の手順でOracle WSMスキーマの作成に使用したRCU設定に基づいてデータベース情報を設定してください。

    詳細は、『Oracle Fusion Middleware Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド』の「ドメインの作成」を参照してください。

  3. ベスト・プラクティスとしては、Oracle WebLogic ServerとJPSキーストアの両方が同じ種類のキーストアを参照するようにJPS上でキーストアを構成します。たとえば、JKSファイル・キーストアを使用する場合、JPSとOracle WebLogic Serverは同じファイルを示す必要があります。FKSキーストアを使用する場合、JPSとOracle WebLogic Serverは同じFKS構成を示す必要があります。

    キーストアの作成の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のメッセージ保護に関するキーストアの設定に関する説明を参照してください。

Oracle WSM用のドメインの拡張およびキーストア作成が問題なく完了したら、Oracle Enterprise Manager Fusion Middleware Controlを使用してOracle WSMポリシーを作成し、ポリシーをOracle Service Bus内のサービスに付加できます。Oracle WSMによって、一般的に使用されるポリシーが自動的に提供されます。

ドメインの実行中に、次のURLでOracle Enterprise Managerにアクセスできます。

http://host:port/em

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

50.2.2 Oracle Service BusサービスへのOracle Web Services Managerポリシーの付加

ここでは、Oracle Service BusサービスへのOracle WSMポリシーの付加に関するガイドラインを説明します。

Oracle WSMを含むようにOracle Service Busドメインを拡張し、Oracle Enterprise Managerを使用してポリシーを作成し終わったら、「ポリシー」ページでOracle Service Bus内の次のタイプのプロキシ・サービスとビジネス・サービスに、このポリシーを付加できます。

  • WSDL

  • 任意のSOAP

  • 任意のXML

  • メッセージング


注意:

SOAP WSDL以外、任意のXMLおよびメッセージング・タイプでは、Oracle WSMポリシーのサポートは制限され、ポリシーはHTTPトランスポートを使用する場合にのみサポートされます。


Oracle WSMポリシーは、サービス・レベルでのみ付加することができ、サービスWSDLに埋め込むことはできません。任意のサービスに対して、Oracle WSMポリシーかWLS 9ポリシーのどちらかを使用する必要がありますが、両方は使用できません。ただし、プロキシ・サービスであるタイプのポリシーを使用して、対応するビジネス・サービスに別のタイプを使用できます。

Eclipseでは、Oracle WSMポリシーをサービスに追加する際に、Oracle WSMが有効化された実行中のドメインに接続している必要があります。開発環境で実行中のサーバーに接続していない場合、以前に追加されたOracle WSMポリシーしか表示および削除することができず、Oracle WSMポリシーがパブリッシュ時にのみ検証されるという警告がOracle Service Busで表示されます。


注意:

Eclipseで複数のサーバーを操作するとき、EclipseはOracle WSMポリシーを取得するために、サーバー・リストの最初の有効なOracle Service Busサーバーを選択します。


Oracle Service Busはビジネス・サービス構成での「互換性の追加」機能を備えており、この機能では、Oracle Service BusでネイティブにサポートされていないWSDLの組込みWS-Securityポリシーを、互換性のあるOracle WSMポリシーに置き換えることができます。

開発環境でポリシーを付加する際は、開発環境のサービスがOracle Service Bus管理コンソール内のサービスと同期化されていない可能性があることを念頭に置いて、Eclipseからコンソールにサービスを更新するときに注意してください。

サービスをコピーして同じタイプのサービスを作成する場合(たとえば、ビジネス・サービスをコピーして新しいビジネス・サービスを作成する場合)、新しいサービスのOracle WSMポリシーを確認し、必要な調整を行ってください。

50.2.2.1 ポリシーのオーバーライド

Oracle WSMポリシーをサービスに追加した後、「「セキュリティ」ページでポリシーのオーバーライドを実行できます。

使用されたポリシーについては、オーバーライド・キー(プロパティ)とそのデフォルト値がユーザー・インタフェースに表示されます。キー名はポリシーのバインディングから取得されます。可能な場合には、キーのデフォルト値の横にテキスト・ボックスが表示され、そこでオーバーライド値を入力できます。

Oracle Service Busでは、CSFストアでユーザー資格証明を指定する、署名キー別名やCSFキーのようなよく知られているオーバーライド用のキーが提供されません。(Oracle Service Busでは、サービス・アカウントでユーザー資格証明が提供されます。)

入力するオーバーライド・キーは、呼出しのときにOracle Web Service Managerエージェントに引き渡されます。

50.2.3 SAMLの構成

第53章「Oracle Service BusでのSAMLの使用」を参照してください。Oracle WSMでのSAMLの構成の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のSAMLの構成に関する説明を参照してください。

50.2.4 WS標準をサポートするためのWSDLの公開

WSDLに組込みOracle Web Service Managerポリシーが含まれるとき、Oracle Service Bus and Oracle SOA Suiteでサポートされている、次のポリシー標準と適合するようにポリシーを公開できます。

  • WS-Policy 1.2(デフォルト)および1.5

  • WS-Security Policy 1.1(デフォルト)、1.2および1.3

Oracle WSMポリシーが組み込まれたWSDLにアクセスする特殊な問合せパラメータをURLで使用することで、Oracle Service Busは必要な標準に適合するWSDLを生成します。URLによるWSDLへのアクセスの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のWebブラウザでのリソースの表示に関する項を参照してください。


注意:

この機能は、Oracle Service Busの「WSDLのエクスポート」または「WSDLの生成」機能では使用できません。


特殊な問合せパラメータは&wsp(WS-Policy)および&wssp(WS-Security Policy)で、WSDL、PROXY、およびWSDLを取得するためのBIZ URLパターンと組み合せて使用できます。例:

  • http://localhost:7001/proxy/myProxy?WSDL&wsp=1.5&wssp=1.2

    myProxyのWSDL、つまりWSDLベースのプロキシ・サービスを返すことで、Oracle WSMポリシー・リファレンスがWS-Policy 1.5およびWS-Security Policy 1.2に適合します。


    注意:

    前述のURLで、/proxy/myProxyはプロキシ・サービスのエンドポイントURIを指します。


  • http://localhost:7001/sbresource?PROXY/myProject/myProxy&wsp=1.5&wssp=1.2

    myProxyのWSDL、つまりWSDLベースのプロキシ・サービスを返すことで、Oracle WSMポリシー・リファレンスがWS-Policy 1.5およびWS-Security Policy 1.2に適合します。

  • http://localhost:7001/sbresource?BIZ/myProject/myBiz&wsp=1.5&wssp=1.3

    myBizのWSDL、つまりWSDLベースのビジネス・サービスを返すことで、Oracle WSMポリシー・リファレンスがWS-Policy 1.5およびWS-Security Policy 1.3に適合します。

  • http://localhost:7001/sbresource?WSDL/proxy/myProxy

    myProxyのWSDL、つまりWSDLベースのプロキシ・サービスを返すことで、Oracle WSMポリシー・リファレンスがWS-Policy 1.2およびWS-Security Policy 1.1に適合します。問合せパラメータが使用されていないため、Oracle Service Busではデフォルトが使用されます。

  • http://localhost:7001/proxy/myProxy?WSDL&wssp=1.3

    WS-Security Policy 1.3がWS-Policy 1.5のみと互換性があるため、myProxyのWSDLが返され、Oracle WSMポリシー・リファレンスがWS-Security Policy 1.3およびWS-Policy 1.5に適合します。

  • 無効な値/組合せ

    WS-Security Policy 1.2および1.3はWS-Policy 1.5のみと互換性があります。無効な値の例については、表50-1を参照してください。


ヒント:

Webブラウザで別のバージョンの問合せパラメータを試行して、返されるWSDLがどのように変わるかを参照してください。


問合せパラメータの組合せに関するクイック・リファレンスは、次の項の50.2.4.1項「WSポリシーのためのWSDL問合せパラメータ・リファレンス」を参照してください。

50.2.4.1 WSポリシーのためのWSDL問合せパラメータ・リファレンス

ここでは、前の項の50.2.4項「WS標準をサポートするためのWSDLの公開」で説明した&wspおよび&wssp問合せパラメータの、有効および無効な組合せを示すクイック・リファレンスを提供します。

例ではWSDLの取得に?WSDLを使用しています。『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のWebブラウザでのリソースの表示に関する項の説明のように、WSDL取得の?PROXYおよび?BIZの各メソッドも使用できます。

表50-1に示すように、パラメータが1つ以上省略される際、Oracle Service Busでは有効なデフォルトが提供されます。無効な値の例外の場合、WS-Security Policy 1.2および1.3はWS-Policy 1.5のみと互換性があり、その逆もまた同様です。

表50-1 &wspおよび&wsspの問合せパラメータの有効および無効な組合せ

問合せパラメータの組合せ WS-Policyバージョン WS-Security Policyバージョン

...?WSDL

1.2

1.1

...?WSDL&wsp=1.2

1.2

1.1

...?WSDL&wsp=1.5

1.5

1.3

...?WSDL&wssp=1.1

1.2

1.1

...?WSDL&wssp=1.2

1.5

1.2

...?WSDL&wssp=1.3

1.5

1.3

...?WSDL&wsp=1.2&wssp=1.1

1.2

1.1

...?WSDL&wsp=1.5&wssp=1.2

1.5

1.2

...?WSDL&wsp=1.5&wssp=1.3

1.5

1.3

...?WSDL&wsp=1.2&wssp=1.2

無効な値の例外

無効な値の例外

...?WSDL&wsp=1.2&wssp=1.3

無効な値の例外

無効な値の例外

...?WSDL&wsp=1.5&wssp=1.1

無効な値の例外

無効な値の例外

...?WSDL&wsp=3.0&wssp=1.2

無効な値の例外

無効な値の例外

...?WSDL&wsp=1.2&wssp=2.0

無効な値の例外

無効な値の例外


50.2.5 デプロイメントに関する考慮事項

Oracle WSMポリシーの参照を持ったサービスを含むOracle Service Busの構成をエクスポートする際は、参照が維持されます。参照されているポリシーが、対象の環境にも存在することを確認する必要があります。対象の環境がIDEの場合、ポリシーがパブリッシュ時に検証されるという警告が表示されます。

50.2.6 監査

Oracle Enterprise Managerのポリシー・イベントを監査するには、監査データのリポジトリおよびイベント・コレクションを設定する必要があります。詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の次の項を参照してください。

  • 「監査データ・コレクションおよびストレージ」

  • 「監査レポートの表示」 - Oracle Business Intelligence Publisher内の事前定義されたOracle WSMの監査レポートには、Oracle Service Busの統計が含まれます。

次のポリシー・レベルのイベントを監査できます。

  • ポリシーの作成、削除、変更

  • アサーション・テンプレートの作成、削除、変更

50.2.7 モニター統計

Oracle Enterprise Managerポリシーのモニター統計およびOracle Service Busの使用/影響分析は利用できません。このため、付加先のサービスに対するポリシー変更の影響を確認することはできません。ただし、Oracle Service Busは、WLS 9ポリシーの場合と同様に、Oracle WSMポリシーの施行エラーについてWS-Securityエラーの統計を収集し、この統計は、Oracle Service Busサービスのモニターのダッシュボードで利用できます。

50.2.8 サポートされるシード・ポリシーとサポートされないアサーション

この項では、Oracle Service Busによるサポート対象およびサポート対象外のOracle Web Services Mangerのシード・ポリシーおよびアサーションをリストします。

ユーザー定義のアサーションはサポートされます。


注意:

Oracle Enterprise Manager Fusion Middleware Controlのユーザー・インタフェースにおけるアサーションまたはポリシーの「有効化/無効化」オプションでは、アサーションまたはポリシーがOracle Service Busでサポートされているかどうかは判断されません。この項では、サポートされるポリシーとアサーションをリストします。


50.2.8.1 サポートされるシード・ポリシー

表50-2は、SOAPサービス・タイプまたはWSDLサービス・タイプで構成されたビジネス・サービスおよびプロキシ・サービスについて、サポートされるOracle WSMシード・ポリシーを示しています。表50-3は、HTTPトランスポートを使用するXMLサービス・タイプまたはメッセージング・サービス・タイプで構成されたビジネス・サービスおよびプロキシ・サービスについて、サポートされるOracle WSMシード・ポリシーを示しています。ユーザー定義のポリシーもサポートされます。


注意:

開発環境でサポートされていないシード・ポリシーを使用すると次のようになります。

  • 開発環境で生成された有効なWSDLは、サポートされていないポリシーをスキップします。

  • 検証はサービス・パブリッシュ時に実行されます。


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

表50-2 SOAPおよびWSDLサービス・タイプでサポートされるOracle WSMシード・ポリシー

種類 クライアント・ポリシー サービス・ポリシー

認証専用

oracle/wss_username_token_client_policy

oracle/wss_username_token_service_policy

認証専用

oracle/wss10_saml_token_client_policy

oracle/wss10_saml_token_service_policy

認証専用

oracle/wss10_saml20_token_client_policy

oracle/wss10_saml20_token_service_policy

認証専用

oracle/wss11_kerberos_token_client_policy

oracle/wss11_kerberos_token_service_policy

メッセージ保護専用

oracle/wss10_message_protection_client_policy

oracle/wss10_message_protection_service_policy

メッセージ保護専用

oracle/wss11_message_protection_client_policy

oracle/wss11_message_protection_service_policy

認証およびメッセージ保護

N/A

oracle/wss_saml_or_username_token_over_ssl_service_policy

認証およびメッセージ保護

oracle/wss10_saml_hok_with_message_protection_client_policy

oracle/wss10_saml_hok_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss10_saml_token_with_message_integrity_client_policy

oracle/wss10_saml_token_with_message_integrity_service_policy

認証およびメッセージ保護

oracle/wss10_saml_token_with_message_protection_client_policy

oracle/wss10_saml_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss10_saml20_token_with_message_protection_client_policy

oracle/wss10_saml20_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss10_saml_token_with_message_protection_ski_basic256_client_policy

oracle/wss10_saml_token_with_message_protection_ski_basic256_service_policy

認証およびメッセージ保護

oracle/wss10_username_id_propagation_with_msg_protection_client_policy

oracle/wss10_username_id_propagation_with_msg_protection_service_policy

認証およびメッセージ保護

oracle/wss10_username_token_with_message_protection_client_policy

oracle/wss10_username_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss10_username_token_with_message_protection_ski_basic256_client_policy

oracle/wss10_username_token_with_message_protection_ski_basic256_service_policy

認証およびメッセージ保護

oracle/wss10_x509_token_with_message_protection_client_policy

oracle/wss10_x509_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss11_kerberos_token_with_message_protection_client_policy

oracle/wss11_kerberos_token_with_message_protection_service_policy

認証およびメッセージ保護

N/A

oracle/wss11_saml_or_username_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss11_saml_token_with_message_protection_client_policy

oracle/wss11_saml_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss11_saml20_token_with_message_protection_client_policy

oracle/wss11_saml20_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss11_saml_token_with_identity_switch_message_protection_client_policy

oracle/wss11_saml_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss11_username_token_with_message_protection_client_policy

oracle/wss11_username_token_with_message_protection_service_policy

認証およびメッセージ保護

oracle/wss11_x509_token_with_message_protection_client_policy

oracle/wss11_x509_token_with_message_protection_service_policy

認証専用

oracle/wss_http_token_client_policy

Basic認証専用。

サポートされるService Busトランスポート: HTTP

このポリシーの詳細は、50.2.9.1項「wss_http_token_*_policyのガイドライン」および50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

oracle/wss_http_token_service_policy

Basic認証専用。

サポートされるService Busトランスポート: HTTP

このポリシーの詳細は、50.2.9.1項「wss_http_token_*_policyのガイドライン」および50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

認証およびメッセージ保護

oracle/wss_http_token_over_ssl_client_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.1項「wss_http_token_*_policyのガイドライン」および50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

oracle/wss_http_token_over_ssl_service_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.1項「wss_http_token_*_policyのガイドライン」および50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

認証およびメッセージ保護

oracle/wss_saml_token_bearer_over_ssl_client_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

oracle/wss_saml_token_bearer_over_ssl_service_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

認証およびメッセージ保護

oracle/wss_saml_token_over_ssl_client_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

oracle/wss_saml_token_over_ssl_service_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

認証およびメッセージ保護

oracle/wss_username_token_over_ssl_client_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

oracle/wss_username_token_over_ssl_service_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

認証およびメッセージ保護

N/A

oracle/wss_saml_or_username_token_over_ssl_service_policy

サポートされるService Busトランスポート: HTTP(S)

このポリシーの詳細は、50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

認可専用

N/A

oracle/whitelist_authorization_policy

認可専用

N/A

oracle/binding_authorization_denyall_policy

認可専用

N/A

oracle/binding_authorization_permitall_policy


表50-3 HTTPトランスポートを使用するWSDL (非SOAP)、XMLおよびメッセージング・サービス・タイプでサポートされるOracle WSMシード・ポリシー

種類 クライアント・ポリシー サービス・ポリシー

認証専用

oracle/wss_http_token_client_policy

Basic認証専用。

このポリシーの詳細は、50.2.9.1項「wss_http_token_*_policyのガイドライン」および50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

oracle/wss_http_token_service_policy

Basic認証専用。

このポリシーの詳細は、50.2.9.1項「wss_http_token_*_policyのガイドライン」および50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

認証およびメッセージ保護

oracle/wss_http_token_over_ssl_client_policy

このポリシーの詳細は、50.2.9.1項「wss_http_token_*_policyのガイドライン」および50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

oracle/wss_http_token_over_ssl_service_policy

このポリシーの詳細は、50.2.9.1項「wss_http_token_*_policyのガイドライン」および50.2.9.2項「Oracle WSM認証ポリシーのガイドライン」を参照してください。

認可専用

N/A

oracle/whitelist_authorization_policy

認可専用

N/A

oracle/binding_authorization_denyall_policy

認可専用

N/A

oracle/binding_authorization_permitall_policy


50.2.8.2 サポートされないアサーション

表50-4は、サポートされないOracle WSMアサーションの一覧であり、アサーションを含むポリシーを示し、影響を受ける機能とその機能を実現するための代替方法について説明しています。記述されていないアサーションは、ユーザー定義アサーションも含めてサポートされます。

表50-4 サポートされないアサーション

サポートされないアサーション アサーションを含むOracle WSMポリシー 影響を受ける機能と代替方法

binding-permission-authorization

oracle/binding_permission_authorization_policy

サービスに対する許可ベースのアクセス制御。

代替方法: XACML認可ポリシーを使用します。

OptimizedMimeSerialization (MTOM)

oracle/wsmtom_policy

MTOM

代替方法: プロキシ・サービスまたはビジネス・サービスで直接MTOM構成を使用します。

RMAssertion

oracle/wsrm10_policy

oracle/wsrm11_policy

WS-RM 1.0/1.1

代替方法: WS-RM 1.0用のOracle Service Busで直接WSトランスポートを使用します。

sca-component-authorization

oracle/component_authorization_denyall_policy

oracle/component_authorization_permitall_policy

コンポーネントにアクセスするすべてを拒否または許可するロール・ベースのアクセス制御。

代替方法: 使用できません。

sca-component-permission-authorization

oracle/component_permission_authorization_policy

コンポーネントに対する許可ベースのアクセス制御

代替方法: 使用できません。

UsingAddressing

oracle/wsaddr_policy

WS-Addressingが要件

代替方法: SOA-DIRECTトランスポートを使用するビジネス・サービスでWS-Addressingを構成するか、Oracle Service BusパイプラインのメッセージにWS-Addressingを追加します。

wss-sts-issued-token-over-ssl

oracle/wss_sts_issued_saml_bearer_token_over_ssl_client_policy

oracle/wss_sts_issued_saml_bearer_token_over_ssl_service_policy

WS-Security 1.0 + SAML Bearer 1.1 (WS-TrustなどのSTS発行) + SSL

代替方法: 使用できません。

wss11-sts-issued-token-with-certificates

oracle/wss11_sts_issued_saml_hok_with_message_protection_client_policy

oracle/wss11_sts_issued_saml_hok_with_message_protection_service_policy

oracle/wss11_sts_issued_saml_with_message_protection_client_policy

WS-Security 1.1 + SAML Holder of Key (HoK) (WS-TrustなどのSTS発行) + メッセージ保護

代替方法: 使用できません。

sts-trust-config

oracle/sts_trust_config_policy

WS-Trust

代替方法: 使用できません。


50.2.9 Oracle Service BusでOracle WSMを使用する場合のガイドライン

この項では、特定のOracle WSMポリシーの使用に関するガイドラインを説明し、SOAP with Attachments、MTOMおよびXOPとともにOracle WSMポリシーを使用した場合の動作の変更についても説明します。

50.2.9.1 wss_http_token_*_policyのガイドライン

この項では、Oracle Service Busでwss_http_tokenポリシーを使用する場合のガイドラインを提供します。


注意:

Oracle WSMポリシーとともにHTTPトランスポートを使用する場合は、トランスポートの「認証」プロパティを「なし」に設定します。これ以外の値に設定すると、Oracle WSMポリシーと競合します。


Oracle WSMのポリシーで特定のオプションを有効にする場合、一定のガイドラインが適用されます。次のオプションがあります。

  • 認証モード – Oracle WSMおよびOracle Service Busでは、ポリシーの「基本」認証モードのみがサポートされます。他のモードではすべて例外が発生します。

  • トランスポート・セキュリティ - このオプションは、SSLチャネルで呼出しを実行する必要があることを示します。実行時は、次に従います。

    • プロキシ・サービス: ポリシーでこのオプションを有効にする場合、ポリシーを含むプロキシ・サービスで「HTTPSが必要」オプションを有効にする必要があります。

    • ビジネス・サービス: ポリシーでこのオプションを有効にするとビジネス・サービス構成で検証は発生しないため、ビジネス・サービス・エンドポイントのアドレスで必ずHTTPSを使用してください。エンドポイントでHTTPSを使用しないと、ランタイム・エラーがスローされます。

  • 相互認証が必要 - このオプションは双方向SSLを示します。

    • プロキシ・サービス: このオプションは、プロキシ・サービスでは使用できません。Oracle WSMにより提供されるwss_*_over_ssl_* _policyポリシーを使用する場合、このオプションを選択解除します。

    • ビジネス・サービス: このオプションは、アウトバウンド・メッセージではOracle WSMに無視されるため、ビジネス・サービスとともに使用しても効果はありません。

  • タイムスタンプを含める - このオプションは、SOAPヘッダーにタイムスタンプを強制的に含めます。

    • プロキシ・サービス: このオプションをプロキシ・サービスで有効化すると、Oracle WSMによって、SOAPヘッダーのタイムスタンプが利用可能で有効であることが保証されます。

    • ビジネス・サービス: ビジネス・サービスでこのオプションを有効にすると、Oracle WSMによって、タイムスタンプがまだ存在しない場合にSOAPヘッダーにタイムスタンプが追加されます。


    注意:

    HTTPトランスポートで非SOAPのサービス・タイプを使用するプロキシ・サービスおよびビジネス・サービスにwss_http_tokenポリシーを適用する場合は、Oracle WSMポリシーの「タイムスタンプを含める」オプションを無効にする必要があります。


50.2.9.2 Oracle WSM認証ポリシーのガイドライン

Oracle Service Busサービスでwss_http_token_over_ssl_client_policyやwss_username_token_over_ssl_client_policyなどのトークン・トランスポート・ポリシーを使用する場合、サービスのトランスポート構成ページで「認証」プロパティを「なし」に設定します。Oracle WSMトークン・ポリシーを使用するか、またはトランスポートを通じて認証を処理する必要があります(両方行うことはできません)。

50.2.9.3 Oracle WSMポリシーおよびSOAP with Attachments (SwA)

サポートされる任意のOracle WSMポリシー(表50-2を参照)を、SOAP with Attachments (SwA)がサポートされるプロキシ・サービスおよびビジネス・サービスに付加できます。メッセージ本文の保護に加えて、メッセージ保護ポリシーにメッセージの署名または暗号化、あるいはその両方を行うためのSwA添付ファイルを含むように構成できます。SwA添付ファイルを含める場合は、MIMEヘッダーも含めることができます。ポリシーは、Oracle Enterprise Managerで構成されます。詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の「ポリシーの構成」およびメッセージの保護に関する説明を参照してください。

50.2.9.4 Oracle WSMポリシーおよびMTOM形式のメッセージ

Oracle WSMポリシーを、MTOM形式のSOAPメッセージがサポートされ、HTTP、ローカルまたはSBトランスポートを使用するプロキシ・サービスおよびビジネス・サービスに付加できます。サポートされるすべてのポリシー(表50-2を参照)のメッセージ処理は、メッセージ保護ポリシーを除いて、MTOM形式のSOAPメッセージと他のすべてのSOAPメッセージで同じです。

50.2.9.4.1 使用方法のガイドライン

MTOM形式のメッセージをサポートするサービスにOracle WSMポリシーを適用する場合は、次のガイドラインに従います。

  • プロキシ・サービスの場合は、同等のクライアント・ポリシーを使用して、着信メッセージが最初に暗号化される必要があります。

  • サービスを構成する際は、トランスポートの「認証」プロパティを「なし」に設定します。これ以外の値に設定すると、Oracle WSMポリシーと競合します。

50.2.9.4.2 プロキシ・サービス

XOP/MTOMが有効になっているプロキシ・サービスで、サポートされる任意のOracle WSMインバウンド・リクエストの施行ポリシーを使用する場合は、実際のメッセージに対応するxop:Include要素またはctx:binary-content参照がインラインで埋め込まれます。パイプラインでペイロードのいずれのctx:binary-content参照も検出されないと、Base64エンコード・データでxop:Include要素に相当するバイナリ・コンテンツが検索されます。メッセージ・コンテンツは変更されません。

次の場合は、xop:Include要素がインラインで埋め込まれません。

  • SSLが無効になっているHTTPセキュリティ(トランスポート・ポリシー)で、認証が「基本」に設定されている場合。

  • SSLが有効になっているHTTPセキュリティ(トランスポート・ポリシー)で、タイムスタンプの検証が不要で、認証が「基本」に設定されている場合。

前述のポリシー・タイプに加えて、「ロール・ベース・アクセス・コントロール」ポリシーを使用することができ、その動作に変更はありません。付加されたポリシーの有効な他のいずれのアサーション(ロギング・アサーションを含む)を使用した場合も、バイナリ・コンテンツがインラインで埋め込まれます。

インバウンド・レスポンスの形式は、XOP/MTOMサポートが有効かどうかによって異なります。有効な場合、インバウンド・レスポンスは常にMTOMエンコードです。XOP/MTOMサポートが有効でない場合、レスポンス・ペイロードはSOAPメッセージです。

50.2.9.4.3 ビジネス・サービス

XOP/MTOMが有効になっているビジネス・サービスでOracle WSMの暗号化ポリシーを使用しない場合、アウトバウンド・リクエストのすべてのctx:binary-content参照がxop:Include要素で置き換えられます。メッセージ保護ポリシーを除く任意のOracle WSMポリシーが適用される場合、動作およびメッセージの構造に変更はありません。

ただし、暗号化ポリシーが適用された際に、xop:Include要素は暗号化される前にインラインで埋め込まれます。アウトバウンド・リクエスト・メッセージには、(元のバイナリ・コンテンツではなく)暗号化データに関連するバイナリ・コンテンツのxop:Include要素および対応するMIME添付ファイルが含まれます。サービス側で、パイプラインは、クライアント・パイプラインのバイナリ・コンテンツのBase64エンコード・データを参照します。プロキシ・サービスの場合と同様に、メッセージ・コンテンツは変更されません。

ビジネス・サービスのアウトバウンド・レスポンスの動作は、前述のプロキシ・サービスの動作と同じです。また、xop:Include要素は、SSLが有効で、タイムスタンプが検証され、認証が「基本」に設定されているHTTPセキュリティ(トランスポート・ポリシー)では、インラインで埋め込まれません。

50.3 使用例: Oracle Service BusおよびWLS 9ポリシーとOracle Web Services Manager

ここでは、サービス・パイプライン全体のセキュリティを確保する場合の使用例を挙げ、WLS 9ポリシーを使用したOracle Service BusサービスとOracle WSM機能の間の対話に重点を置いて説明します。

Oracle Service BusサービスでWLS 9ポリシーを持つOracle WSMを使用する場合、構成は必要なく、Oracle WSMでOracle Service Busドメインを拡張する必要もありません。希望するクライアントおよびサービスの場所でOracle WSMの機能を実装すると、自動的に対話と施行が行われます。


注意:

Oracle Service Busの将来のリリースでは、Oracle WSMポリシーがWLS 9のセキュリティ・ポリシーを強化して、これに置き換わります。このバージョンのOracle Service Busでは、引き続きWLS 9ポリシーがサポートされますが、サービスを新たに作成する際、Oracle WSMポリシーを使用して、WLS 9ポリシーが推奨されなくなる場合に備えることも検討してください。


Oracle WSMの詳細は、次を参照してください。

このドキュメントでは、Oracle WSMで使用する次のセキュリティの使用例について説明します。


注意:

Oracle Web Services Manager 11.1.1にはGatewayに相当するものがありません。


50.3.1 メッセージの保護

この説では、次の使用例について説明します。

50.3.1.1 クライアント・エージェントを使用したメッセージの保護

この使用例を次のOracle WSMのバージョンに実装することができます。

  • 11.1.1.x

  • 10.1.3.x

図50-1は、メッセージの保護のためにOracle Web Services Managerクライアント・エージェントを使用する方法について説明します。

図50-1 Oracle Web Services Managerクライアント・エージェントを使用したメッセージの保護

図50-1の説明が続きます
「図50-1 Oracle Web Services Managerクライアント・エージェントを使用したメッセージの保護」の説明

プロキシ・サービスに、インバウンド・メッセージ保護ポリシーがあります。Oracle Web Services Managerクライアント・エージェントが、署名され、暗号化されたリクエストをプロキシ・サービスに送信します。プロキシ・サービスは、セキュリティで保護されたリクエストを受け取り、能動的仲介者として復号化および署名の検証を行い、リクエストをビジネス・サービスにルーティングします。ビジネス・サービスは、Webサービスを呼び出し、レスポンスを受け取り、そのレスポンスをプロキシ・サービスに送信します。プロキシ・サービスは、レスポンスに署名し、レスポンスを暗号化して、Oracle Web Services Managerクライアント・エージェントに送信します。クライアント・エージェントはセキュリティで保護されたレスポンスを受け取り、復号化および署名の検証を行い、そのレスポンスをクライアントに渡します。

50.3.1.2 サーバー・エージェントを使用したメッセージの保護

この使用例を次のOracle WSMのバージョンに実装することができます。

  • 11.1.1.x

  • 10.1.3.x

図50-2は、メッセージの保護のためにOracle Web Services Managerサーバー・エージェントを使用する方法について説明します。

図50-2 Oracle Web Services Managerサーバー・エージェントを使用したメッセージの保護

図50-2の説明が続きます
「図50-2 Oracle Web Services Managerサーバー・エージェントを使用したメッセージの保護」の説明

クライアントはOracle Service Busにあるプロキシおよびビジネス・サービスを介して通常のリクエストを送信します。ビジネス・サービスは、リクエストに署名し、リクエストを暗号化して、Oracle Web Services Managerサーバー・エージェントにメッセージを送信します。サーバー・エージェントはリクエストを復号化して、検証を行います。クライアントに通常のメッセージ・レスポンスを返します。

50.3.1.3 クライアントとサーバー・エージェントを使用したメッセージの保護

この使用例を次のOracle WSMのバージョンに実装することができます。

  • 11.1.1.x

  • 10.1.3.x

図50-3では、メッセージの保護のためにOracle Web Services Managerクライアントおよびサーバー・エージェントを使用する方法について説明します。

図50-3 Oracle Web Services Managerクライアントおよびサーバー・エージェントを使用したメッセージの保護

図50-3の説明が続きます
「図50-3 Oracle Web Services Managerクライアントおよびサーバー・エージェントを使用したメッセージの保護」の説明

Oracle Web Services Managerクライアント・エージェントは、クライアント・リクエストに署名し、クライアント・リクエストを暗号化して、プロキシ・サービスに送信します。プロキシ・サービスは、署名を復号化し、署名の検証を行って、ビジネス・サービスに送信します。ビジネス・サービスは、リクエストに署名し、リクエストを暗号化します。Webサービスには、サーバー・エージェントが挿入されています。サーバー・エージェントは、着信メッセージの保護ポリシーがあります。着信メッセージの保護ポリシーは署名を復号化し署名の検証を行って、レスポンスを暗号化します。ビジネス・サービスに応答を送信します。ビジネス・サービスはメッセージを検証して、レスポンス・プロキシ・サービスに送信します。プロキシ・サービスは、署名や暗号化されたレスポンスを生成して、クライアント・エージェントに送信します。クライアント・エージェントはレスポンスを復号化しレスポンスを検証して、クライアントに通常のレスポンスを返します。

50.3.1.4 ゲートウェイを使用したメッセージの保護

この使用例を次のOracle WSMのバージョンに実装することができます。

  • 10.1.3.x

図50-4では、メッセージの保護のためにOracle Web Services Managerゲートウェイを使用する方法について説明します。

図50-4 Oracle Web Services Managerゲートウェイを使用したメッセージの保護

図50-4の説明が続きます
「図50-4 Oracle Web Services Managerゲートウェイを使用したメッセージの保護」の説明

クライアントはOracle Service Busにあるプロキシおよびビジネス・サービスを介して通常のリクエストを送信します。ビジネス・サービスは、リクエストに署名し、リクエストを暗号化して、Oracle Web Services Managerゲートウェイに送信します。ゲートウェイはリクエストを復号化して、検証を行います。クライアントに通常のメッセージ・レスポンスを返します。

50.3.2 認証

この使用例を次のOracle WSMのバージョンに実装することができます。

  • 11.1.1.x

  • 10.1.3.x

図50-5では、認証のためにOracle Web Services Managerクライアント・エージェントを使用する方法について説明します。

図50-5 Oracle Web Services Managerクライアント・エージェントを使用した認証

図50-5の説明が続きます
「図50-5 Oracle Web Services Managerクライアント・エージェントを使用した認証」の説明

プロキシ・サービスに、ユーザー名トークン・ポリシーがあります。クライアントが、Oracle Web Services Managerクライアント・エージェントを介して、ユーザー名トークンに含めたメッセージ・レベルのユーザー資格証明と共にリクエストをプロキシ・サービスに送信します。プロキシ・サービスは、資格証明マッピングを使用してユーザー名トークンのユーザー資格証明をマップし、認証のためにビジネス・サービスを介してWebサービスに送信します。Webサービスは、Oracle Web Services Managerサービス・エージェントによりインバウンド・ユーザー名トークン・ポリシーを使用して保護されています。Oracle Web Services Managerサービス・クライアント・エージェントが、ユーザー資格証明を抽出して認証します。その後、レスポンスがビジネス・サービスとプロキシ・サービスを介してクライアントに送り返されます。

50.3.3 境界セキュリティ

この使用例を次のOracle WSMのバージョンに実装することができます。

  • 10.1.3.x

図50-6では、Oracle Web Services Managerゲートウェイを使用して境界セキュリティを適用する方法について説明します。

図50-6 Oracle Web Services Managerゲートウェイを使用した境界セキュリティ

図50-6の説明が続きます
「図50-6 Oracle Web Services Managerゲートウェイを使用した境界セキュリティ」の説明

Oracle Web Services Managerゲートウェイが、Oracle Service Busプロキシ・サービスによって公開されるサービスを仮想化します。Oracle Web Services Manager Gatewayへの着信リクエストに、メッセージ保護ポリシーが含まれています。クライアントが、セキュリティで保護されたリクエストをOracle Web Services Manager Gatewayで仮想化されたサービスに送信します。要求は署名され、暗号化されています。

Oracle Web Services Managerゲートウェイは、セキュリティを確立するポイントとして機能し、復号化と署名の検証を行います。その後、Oracle Web Services ManagerゲートウェイはSSLを介して通常のリクエストをプロキシ・サービスにルーティングします。プロキシ・サービスはリクエストをビジネス・サービスに転送し、ビジネス・サービスはWebサービスを呼び出して通常のレスポンスを受け取ります。レスポンスはプロキシ・サービスとOracle Web Services Managerゲートウェイを介してクライアントに戻ってきます。

50.3.4 IDの伝播

この使用例を次のOracle WSMのバージョンに実装することができます。

  • 10.1.3.x

図50-7では、SAML (Security Assertion Markup Language)トークン・バージョン1.1によるID伝播のためにOracle Web Services Managerゲートウェイを使用する方法について説明します。

図50-7 Oracle Web Services Managerゲートウェイを使用したID伝播

図50-7の説明が続きます
「図50-7 Oracle Web Services Managerゲートウェイを使用したIDの伝播」の説明

クライアントが、基本的なHTTP認証リクエストをOracle Web Services Managerゲートウェイに送信します。Oracle Web Services ManagerゲートウェイはHTTPヘッダーにあるユーザー名とパスワードを使用してユーザーを認証します。Oracle Web Services Managerゲートウェイは、認証されたユーザーIDを使用してSAML送信者保証アサーションを生成し(トークン仲介)、アサーションにSAMLトークンを挿入して、アサーションをプロキシ・サービスに送信します。プロキシ・サービスは、ユーザーIDを含むSAMLアサーションを受け取り、能動的仲介者としてユーザーIDを検証します。次に、プロキシ・サービスはリクエストをビジネス・サービスに渡します。レスポンスがビジネス・サービス、プロキシ・サービス、およびOracle Web Services Managerゲートウェイを介してクライアントに戻ってきます。