プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Service Busでのサービスの開発
12c (12.1.3)
E53004-06
目次へ移動
目次

前
次

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

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

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

OWSMポリシーにより、WS-AT、WS-RMおよびWS-Security/WS-SCが有効になります。WSDL埋込みポリシーは使用できません。

注意:

Oracle Web Services Manager (OWSM)は、Service Busで使用されるWebサービス・セキュリティ・メカニズムです。ビジネス・サービスやプロキシ・サービスなどの新規作成されたすべてのリソースでは、セキュリティにOWSMポリシーを使用します。WLS 9ポリシーは非推奨になったため、新しいService Busリソースのセキュリティの構成には使用できません。

ただし、WLS 9ポリシーですでに構成されたリソースをService Busプロジェクトにインポートできます。これらのWLS 9ポリシーの編集または変更はできませんが、OWSMポリシーに置き換えることができます。

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

Oracle Web Services Managerの詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理を参照してください。

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

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

Service Busでは、セキュリティ・ポリシーをアタッチできるビジネス・サービスやプロキシ・サービスを定義する際に、使用可能なOWSMポリシーをアタッチできます。

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

Service BusおよびOracle Web Services Manager (OWSM)では、認証と認可に特定のサービスを使用します。OWSMはJava Platform Security (JPS)を使用するため、Service BusはOWSMポリシーにJPSプロバイダを使用します。Service Busでは、メッセージ・セキュリティの他のアスペクトに対してCommon Security Services (CSS)も使用します。これは、Oracle Platform Security Services (OPSS)の一部です。

Oracleセキュリティ・サービスの詳細は、Oracle Platform Security Servicesによるアプリケーションの保護のOracle Platform Security Servicesの概要に関する項を参照してください。

次のトピックでは、様々なセキュリティ分野でService BusとOWSMがどのセキュリティ・プロバイダを使用するかについて説明します。

52.1.1.1 JPSプロバイダ

Oracle Web Services Managerポリシーを使用する場合は、次の事項が適用されます。

  • OWSMポリシーは、WebLogic Serverではなく、JPSのSAMLプロバイダを使用します。OWSMでのSAMLの構成の詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のSAMLの構成に関する項を参照してください。

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

  • OWSMとService Busは、Oracle Platform Security Servicesで提供されるJavaキーストア(Java Keystore: JKS)とキーストア・サービス(Keystore Service: KSS)をサポートしています。OWSMポリシーの場合、WebLogic ServerとJPSキーストアの両方が同じ種類のキーストアを参照するようにJPS上でキーストアを構成する方法が最適です。たとえば、JKSファイル・キーストアを使用する場合、JPSとWebLogic Serverは同じファイルを示す必要があります。KSSキーストアを使用する場合、JPSとWebLogic Serverは同じKSS構成を示す必要があります。

    キーストアの作成の詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のメッセージ保護に関するキーストアの構成に関する項を参照してください。

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

52.1.1.2 CSSプロバイダ

Service Busは、次のプロバイダを使用します。

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

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

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

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

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

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

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

52.2 Oracle Service BusでのOracle Web Services Managerの使用

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

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

OWSMポリシーは、Service Busの「ポリシー」ページで、次の種類のプロキシ・サービスおよびビジネス・サービスにアタッチできます。

  • WSDL

  • 任意のSOAP

  • 任意のXML

  • メッセージング

  • REST

OWSMポリシーは、サービス・レベルでのみアタッチでき、サービスWSDLファイルに埋め込むことはできません。非SOAPサービスに対するポリシー・サポートは制限されることに注意してください。

開発環境でポリシーを付加する際は、開発環境のサービスがOracle Service Busコンソール内のサービスと同期化されていない可能性があることを念頭に置いて、JDeveloperからコンソールにサービスを更新するときに注意してください。サービスをコピーして同じタイプのサービスを作成する場合(たとえば、ビジネス・サービスをコピーして新しいビジネス・サービスを作成する場合)、必ず新しいサービスのOWSMポリシーを確認し、必要な調整を行ってください。

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

OWSMポリシーをサービスに追加した後、「セキュリティ」ページでポリシーのオーバーライドを入力できます。使用されたポリシーについては、オーバーライド・キー(プロパティ)とそのデフォルト値がユーザー・インタフェースに表示されます。キー名はポリシーのバインディングから取得されます。可能な場合には、キーのデフォルト値の横にテキスト・ボックスが表示され、そこでオーバーライド値を入力できます。Service Busでは、CSFストアでユーザー資格証明を指定する、署名キー別名やCSFキーのようなよく知られているオーバーライド用のキーが提供されません。(Service Busでは、サービス・アカウントでユーザー資格証明が提供されます。)入力するオーバーライド・キーは、呼出しのときにOracle Web Services Managerエージェントに渡されます。

52.2.2 SAMLの構成

Service Busで使用するSAMLの構成の詳細は、「Oracle Service BusでのSAMLの使用」を参照してください。OWSMでのSAMLの構成の詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のSAMLの構成に関する項を参照してください。

52.2.3 WS標準をサポートするためのWSDLファイルの通知

WSDLファイルに組込みOracle Web Service Managerポリシーが含まれるとき、Oracle Service BusおよびOracle SOA Suiteでサポートされている、次のポリシー標準と適合するようにポリシーを通知できます。

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

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

OWSMポリシーが組み込まれたWSDLファイルにアクセスする特殊な問合せパラメータをURLで使用することで、Service Busは必要な標準に適合するWSDLファイルを生成します。URLを使用したWSDLファイルへのアクセスの詳細は、「WebブラウザでのService Busリソースの表示」を参照してください。

注意:

この機能は、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ベースのプロキシ・サービスを返すことで、OWSMポリシー参照が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ベースのプロキシ・サービスを返すことで、OWSMポリシー参照が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ベースのビジネス・サービスを返すことで、OWSMポリシー参照がWS-Policy 1.5およびWS-Security Policy 1.3に適合します。

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

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

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

    WS-Security Policy 1.3がWS-Policy 1.5のみと互換性があるため、myProxyのWSDLファイルが返され、OWSMポリシー参照がWS-Security Policy 1.3およびWS-Policy 1.5に適合します。

  • 無効な値/組合せ

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

ヒント:

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

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

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

この項では、前の項の「WS標準をサポートするためのWSDLファイルの通知」で説明した&wspおよび&wssp問合せパラメータの、有効および無効な組合せを示すクイック・リファレンスを提供します。例では、?WSDLを使用してWSDLファイルを取得します。「WebブラウザでのService Busリソースの表示」の説明のとおり、WSDLファイル取得の?PROXYおよび?BIZの各メソッドも使用できます。

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

表52-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

無効な値の例外

無効な値の例外

52.2.4 デプロイメントの考慮事項

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

52.2.5 監査

Oracle Enterprise Managerのポリシー・イベントを監査するには、監査データのリポジトリおよびイベント・コレクションを設定する必要があります。詳細は、Webサービスの管理の次のトピックを参照してください。

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

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

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

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

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

52.2.6 統計のモニター

Fusion Middleware Controlを使用すると、ユーザーのService Busサービスに付加されたポリシーをモニターおよび管理できます(それらのサービスの使用状況メトリックと違反メトリックを含む)。また、ポリシー・セットをグローバルに付加し、ポリシーのオーバライドを定義して、ユーザーのサービスに対してポリシーをアタッチおよびデタッチすることもできます。これらのポリシーの監視と管理の詳細は、『Oracle Service Busの管理』のセキュリティ・ポリシーの監視と管理に関する項を参照してください。

Service Busは、WLS 9ポリシーの場合と同様に、OWSMポリシーの施行エラーについてWS-Securityエラーの統計を収集し、この統計は、Service Busサービスの監視ダッシュボードで利用できます。

52.2.7 事前定義済ポリシーとサポートされないアサーション

この項では、OWSMの事前定義済ポリシーとアサーション(Service Busでサポートされるものとサポートされないものがある)を示し、そのリンクが提供されます。カスタム・アサーションがサポートされます。

注意:

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

52.2.7.1 事前定義済ポリシー

Service BusでサポートされるOWSMポリシーの詳細は、次のトピックを参照してください。

  • SOAPサービス: Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理の使用する事前定義済ポリシーの決定に関する項を参照してください。ここでは、現在のリリースで利用可能な事前定義済ポリシーに関する情報が提供されます。

  • 非SOAPサービス: 表52-2を参照してください。この表では、HTTPトランスポートを使用するWSDL (非SOAP)サービス・タイプ、XMLサービス・タイプまたはメッセージング・サービス・タイプで構成されたビジネス・サービスおよびプロキシ・サービスについて、サポートされるOWSM事前定義済ポリシーを示しています。ユーザー定義のポリシーもサポートされます。

  • RESTサービス: Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のRESTful WebサービスおよびクライアントでサポートされるOWSMポリシーに関する項を参照してください。ここでは、RESTサービス・タイプで構成されるサービスのサポート対象のOWSM事前定義済ポリシーが示されます。

  • JCAサービス: Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のJCAアダプタでサポートされているOWSMポリシーに関する項を参照してください。

注意:

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

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

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

次のポリシーの詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理の事前定義済ポリシーに関する項を参照してください。

表52-2 HTTPトランスポートを使用するWSDL (非SOAP)、XMLおよびメッセージングの各サービス・タイプでサポートされるOWSM事前定義済ポリシー

タイプ クライアント・ポリシー サービス・ポリシー

認証のみ

oracle/wss_http_token_client_policy

Basic認証専用。

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

oracle/wss_http_token_service_policy

Basic認証専用。

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

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

oracle/wss_http_token_over_ssl_client_policy

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

oracle/wss_http_token_over_ssl_service_policy

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

認可専用

N/A

oracle/whitelist_authorization_policy

認可専用

N/A

oracle/binding_authorization_denyall_policy

認可専用

N/A

oracle/binding_authorization_permitall_policy

52.2.7.2 wss_http_token_*_policyのガイドライン

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

注意:

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

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

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

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

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

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

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

    • プロキシ・サービス: このオプションは、プロキシ・サービスでは使用できません。OWSMにより提供されるwss_*_over_ssl_* _policyポリシーを使用する場合、このオプションは消去してください。

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

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

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

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

    注意:

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

52.2.7.3 OWSM認証ポリシーのガイドライン

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

52.2.7.4 OWSMポリシーおよびSOAP with Attachments (SwA)

サポートされる任意のOWSMポリシーを、SOAP with Attachments (SwA)がサポートされるプロキシ・サービスおよびビジネス・サービスにアタッチできます。メッセージ本文の保護に加えて、メッセージ保護ポリシーにメッセージの署名またはメッセージの暗号化のためのSwA添付ファイルとMIMEヘッダーを含むように構成できます。

52.2.7.5 OWSMポリシーおよびMTOM形式のメッセージ

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

メッセージ本文の任意の部分を暗号化するメッセージ保護ポリシーでは、復号化される前に、受信メッセージの<xop:Include>要素がインラインで埋め込まれます。復号化時に、<xop:Include>要素は、データのbase64Binary表現で置き換えられます。メッセージ・コンテンツは変更されません。

注意:

MTOM形式のメッセージをサポートするサービスにOWSMポリシーを適用する場合:

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

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

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

表52-3は、SOAPおよび非SOAPサービス両方でのサポートされないOWSMアサーションの一覧であり、アサーションを含むポリシーを示し、影響を受ける機能とその機能を実現するための代替方法について説明しています。

表52-3 サポートされないアサーション

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

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用の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を構成するか、Service BusパイプラインのメッセージにWS-Addressingを追加します。

52.2.8 カスタム・アサーション

Oracle Service Busでは、事前定義済ポリシーのセット、およびOWSMで配信されるアサーション・テンプレートの実行がサポートされます。製品で利用できる標準ポリシーで特定の機能が提供されない場合、ユーザーはカスタム・アサーションを開発できます。

カスタム・アサーションの詳細は、Oracle Web Services Managerの拡張可能アプリケーションの開発のカスタム・アサーションについてに関する項を参照してください。

カスタム・アサーションの作成の詳細は、Oracle Web Services Managerの拡張可能アプリケーションの開発のカスタム・アサーションの作成に関する項を参照してください。