この章では、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ポリシーに置き換えることができます。
この章の内容は次のとおりです。
OWSMは、Oracle Enterprise Manager Fusion Middleware Controlのコンポーネントで、Oracle SOA Suite環境およびアプリケーションの集中管理と制御を提供するランタイムのフレームワークです。OWSMポリシーは、Oracle Enterprise Managerで作成および構成し、ポリシー・ストア(データベースを推奨)で保持されます。OWSMを使用すると、LDAPディレクトリに対してポリシーを定義し、標準のセキュリティ・トークン(SAMLトークンなど)を生成して、単一のトランザクションで使用される複数のWebサービス間でIDを伝播できます。
Service Busでは、セキュリティ・ポリシーをアタッチできるビジネス・サービスやプロキシ・サービスを定義する際に、使用可能なOWSMポリシーをアタッチできます。
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がどのセキュリティ・プロバイダを使用するかについて説明します。
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ポリシーのキーストア兼トラストストアとして機能します。
Service Busは、次のプロバイダを使用します。
WLS 9ポリシーを施行するためのCSSプロバイダ
トランスポート・セキュリティを施行するためのCSSプロバイダ
認証ポリシーのWebLogic Server認可プロバイダ
カスタムのWebLogic Server認証プロバイダおよびカスタムの認証ポリシー用IDアサーション・プロバイダ
WebLogic Serverの資格証明プロバイダおよびマッパー
WLS 9ポリシーのWebLogic Serverキーストアおよびトラストストア
Oracle Web Services Managerエージェントによる認証およびIDアサーション
この項の内容は次のとおりです。
OWSMポリシーは、Service Busの「ポリシー」ページで、次の種類のプロキシ・サービスおよびビジネス・サービスにアタッチできます。
WSDL
任意のSOAP
任意のXML
メッセージング
REST
OWSMポリシーは、サービス・レベルでのみアタッチでき、サービスWSDLファイルに埋め込むことはできません。非SOAPサービスに対するポリシー・サポートは制限されることに注意してください。
開発環境でポリシーを付加する際は、開発環境のサービスがOracle Service Busコンソール内のサービスと同期化されていない可能性があることを念頭に置いて、JDeveloperからコンソールにサービスを更新するときに注意してください。サービスをコピーして同じタイプのサービスを作成する場合(たとえば、ビジネス・サービスをコピーして新しいビジネス・サービスを作成する場合)、必ず新しいサービスのOWSMポリシーを確認し、必要な調整を行ってください。
OWSMポリシーをサービスに追加した後、「セキュリティ」ページでポリシーのオーバーライドを入力できます。使用されたポリシーについては、オーバーライド・キー(プロパティ)とそのデフォルト値がユーザー・インタフェースに表示されます。キー名はポリシーのバインディングから取得されます。可能な場合には、キーのデフォルト値の横にテキスト・ボックスが表示され、そこでオーバーライド値を入力できます。Service Busでは、CSFストアでユーザー資格証明を指定する、署名キー別名やCSFキーのようなよく知られているオーバーライド用のキーが提供されません。(Service Busでは、サービス・アカウントでユーザー資格証明が提供されます。)入力するオーバーライド・キーは、呼出しのときにOracle Web Services Managerエージェントに渡されます。
Service Busで使用するSAMLの構成の詳細は、「Oracle Service BusでのSAMLの使用」を参照してください。OWSMでのSAMLの構成の詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のSAMLの構成に関する項を参照してください。
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問合せパラメータ・リファレンス」を参照してください。
この項では、前の項の「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 |
無効な値の例外 |
無効な値の例外 |
OWSMポリシー参照を持ったサービスを含むService Busの構成をエクスポートする際は、参照が維持されます。参照されているポリシーが、対象の環境にも存在することを確認する必要があります。対象の環境がIDEの場合、ポリシーがパブリッシュ時に検証されるという警告が表示されます。
Oracle Enterprise Managerのポリシー・イベントを監査するには、監査データのリポジトリおよびイベント・コレクションを設定する必要があります。詳細は、Webサービスの管理の次のトピックを参照してください。
「監査データ・コレクションおよびストレージ」
監査レポートの表示に関する項 - Oracle Business Intelligence Publisher内の事前定義されたOWSMの監査レポートには、Service Busの統計が含まれます。
次のポリシー・レベルのイベントを監査できます。
ポリシーの作成、削除、変更
アサーション・テンプレートの作成、削除、変更
Fusion Middleware Controlを使用すると、ユーザーのService Busサービスに付加されたポリシーをモニターおよび管理できます(それらのサービスの使用状況メトリックと違反メトリックを含む)。また、ポリシー・セットをグローバルに付加し、ポリシーのオーバライドを定義して、ユーザーのサービスに対してポリシーをアタッチおよびデタッチすることもできます。これらのポリシーの監視と管理の詳細は、『Oracle Service Busの管理』のセキュリティ・ポリシーの監視と管理に関する項を参照してください。
Service Busは、WLS 9ポリシーの場合と同様に、OWSMポリシーの施行エラーについてWS-Securityエラーの統計を収集し、この統計は、Service Busサービスの監視ダッシュボードで利用できます。
この項では、OWSMの事前定義済ポリシーとアサーション(Service Busでサポートされるものとサポートされないものがある)を示し、そのリンクが提供されます。カスタム・アサーションがサポートされます。
注意:
Oracle Enterprise Manager Fusion Middleware Controlのユーザー・インタフェースにおけるアサーションまたはポリシーの「有効化/無効化」オプションでは、アサーションまたはポリシーがService Busでサポートされているかどうかは判断されません。この項では、サポートされるポリシーとアサーションをリストします。
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 |
信頼できるメッセージング |
N/A |
oracle/reliable_messaging_policy 注意: このポリシーはWSDLサービス・タイプのHTTPトランスポート・サービスでのみサポートされています。このポリシーをアタッチするときには、oracle/reliable_messaging_internal_api_policyもアタッチする必要があります。 |
信頼できるメッセージング |
N/A |
oracle/reliable_messaging_internal_api_policy 注意: このポリシーはWSDLサービス・タイプのHTTPトランスポート・サービスでのみサポートされています。このポリシーをアタッチするときには、oracle/reliable_messaging_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ポリシーの「タイムスタンプを含める」オプションを無効にする必要があります。
Service Busサービスでwss_http_token_over_ssl_client_policyやwss_username_token_over_ssl_client_policyなどのトークン・トランスポート・ポリシーを使用する場合、サービスのトランスポート構成ページで「認証」プロパティを「なし」に設定します。OWSMトークン・ポリシーを使用するか、またはトランスポートを通じて認証を処理できます(両方は実行できません)。
サポートされる任意のOWSMポリシーを、SOAP with Attachments (SwA)がサポートされるプロキシ・サービスおよびビジネス・サービスにアタッチできます。メッセージ本文の保護に加えて、メッセージ保護ポリシーにメッセージの署名またはメッセージの暗号化のためのSwA添付ファイルとMIMEヘッダーを含むように構成できます。
OWSMポリシーを、MTOM形式のSOAPメッセージがサポートされ、HTTP、ローカルまたはSBトランスポートを使用するプロキシ・サービスおよびビジネス・サービスに付加できます。サポートされるすべてのポリシーのメッセージ処理は、メッセージ保護ポリシーを除いて、MTOM形式のSOAPメッセージと他のすべてのSOAPメッセージで同じです。
メッセージ本文の任意の部分を暗号化するメッセージ保護ポリシーでは、復号化される前に、受信メッセージの<xop:Include>
要素がインラインで埋め込まれます。復号化時に、<xop:Include>
要素は、データのbase64Binary表現で置き換えられます。メッセージ・コンテンツは変更されません。
注意:
MTOM形式のメッセージをサポートするサービスにOWSMポリシーを適用する場合:
プロキシ・サービスの場合は、同等のクライアント・ポリシーを使用して、着信メッセージが最初に暗号化される必要があります。
サービスを構成する際は、トランスポートの「認証」プロパティを「なし」に設定します。これ以外の値に設定すると、OWSMポリシーと競合します。
Service Busでは、Oracle Web Services Managerポリシーoracle/reliable_messaging_policyおよびoracle/reliable_messaging_internal_api_policyをアタッチすることによって、WSDLサービス・タイプのHTTPトランスポート・サービスでWS-ReliableMessaging (WS-RM)をサポートしています。
このトピックでは、サポートされている機能、およびサポートされていない機能について説明します。
サポートされている機能
WS-RM 1.0、1.1、および1.2のサポート
一方向のWS-RMのサポート
同期WS-RM (匿名ReplyTo)のサポート
サービス品質(QoS):
AtLeastOnce
ExactlyOnce
AtMostOnce
サポートされていない機能
非HTTPトランスポート・サービスはサポートされていません。
非同期WS-RM (非匿名ReplyTo)はサポートされていません。
その他の注意事項
oracle/reliable_messaging_policyをサービスにアタッチする場合は、常にoracle/reliable_messaging_internal_api_policyもアタッチする必要があります。両方が追加されていない場合は、エラーがスローされます。
同期WS-RMシナリオでは、レスポンス・メッセージが確実に送信されなくてもかまいません。一部のシナリオでは、リクエスト・メッセージはサービスによって確実に処理されますが、クライアントがレスポンスを受信しない場合があります。
WS-RMポリシーがアタッチされているHTTPプロキシ・サービスは、次の場合のみ、WS-RMポリシーがアタッチされているHTTPビジネス・サービスを呼び出します。
ビジネス・サービスが、WS-RM対応プロキシ・サービスによってターゲットに設定されているパイプラインのルート・ノードである場合
ビジネス・サービスがプロキシ・サービスのターゲット・サービスである場合
OWSMポリシーoracle/reliable_messaging_ policyおよびoracle/reliable_messaging_internal_api_policyをプロキシ・サービスにアタッチし、そのサービスのWS-RMを有効にします。「Oracle Service BusサービスへのOracle Web Services Managerポリシーの付加」を参照してください。
WS-RMポリシーがアタッチされているHTTPプロキシ・サービスは次のとおりです。
トランザクション
非同期
WS-RMスタックでは、シーケンスのQualityOfServiceがAtMostOnceまたはExactlyOnceとしてポリシーに設定されている場合のみトランザクションを開始します。「ルーティング」オプションの「サービス品質」(QoS)は、ポリシーにAtMostOnceまたはExactlyOnceとしてシーケンスQualityofServiceが含まれている場合にのみ、ExactlyOnceに設定されます。
一方向および同期リクエスト・メッセージの両方について、リクエスト・パス処理が完了した後、メッセージ確認がWS-RMスタックに通知されます。リクエスト・パスでエラーが発生した場合、WS-RMスタックにエラーが通知され、リクエスト・メッセージは未処理とみなされます。これはポリシーの再試行構成に応じて再試行されます。
OWSMポリシーoracle/reliable_messaging_ policyおよびoracle/reliable_messaging_internal_api_policyをビジネス・サービスにアタッチし、そのサービスのWS-RMを有効にします。「Oracle Service BusサービスへのOracle Web Services Managerポリシーの付加」を参照してください。
WS-RMポリシーがアタッチされているHTTPビジネス・サービスは次のとおりです。
トランザクション
非同期
WS-RMポリシーがアタッチされているビジネス・サービスがトランザクション内でリクエスト・メッセージを受信すると、そのトランザクションはWS-RM処理に進む前に中断されます。トランザクションは、ターゲット・サービスから完了確認を受信した場合のみコミットします。
トランザクションは、次の場合にロールバック対象としてマークされます。
WS-RMスタックが確認を受信しない場合、または処理中にメッセージがタイムアウトした場合
ターゲット・サービスからWS-RM処理に関するフォルトを受信した場合。
WS-RMスタックのエラーによってリクエスト・メッセージを処理できない場合、フォルトが生成され、それがレスポンスとして送信されます。
エンドツーエンド・メッセージの信頼性は、次のいずれかのシナリオを使用して実現できます。
エンドツーエンドの信頼性は、次のシナリオでサポートされています。
WS-RMアウトバウンドへの非同期プロキシ・サービス
WS-RMアウトバウンドへのWS-RMインバウンドは、次の構成でサポートされています。
WS-RMインバウンドに、WS-RMアウトバウンドのターゲット・サービスがある
WS-RMインバウンドが、WS-RMアウトバウンドへルーティングするパイプラインにターゲット設定されている
Service Busを仲介した次の相互作用がサポートされています。
SOA Suite 12.2.1 / WebLogic Server < --- > Service Bus < ---- > WS-RM以外のサービス
WS-RM以外のクライアント < --- > Service Bus < ---- > Oracle SOA Suite 12.2.1 / WebLogic Server
Oracle SOA Suite 12.2.1 / WebLogic Server < --- > Service Bus < ---- > Oracle SOA Suite 12.2.1 / WebLogic Server
OWSMポリシーoracle/reliable_messaging_policyおよびoracle/reliable_messaging_internal_api_policyに対してプロパティを構成すると、パフォーマンスを改善できます。
それぞれのポリシーに対して構成できるプロパティの完全なリストについては、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のoracle/reliable_messaging_policy、およびoracle/reliable_messaging_internal_api_policyを参照してください。
oracle/reliable_messaging_internal_api_policyのuser.transaction.timeout
プロパティを使用して、適切なトランザクション・タイムアウトを構成します。
oracle/reliable_messaging_internal_api_policyのsequence.manager.maintenance.period
プロパティを使用して、孤立したメッセージについて、データベース表に格納されているデータをパージするメンテナンス・タスク用に、間隔(ミリ秒)を構成します。
oracle/reliable_messaging_internal_api_policyのmax.concurrent.session
プロパティを使用して、WSエンドポイント専用のシーケンス・マネージャが、シーケンス作成の新規リクエストを拒否するまでに、同時にアクティブなWS-RMセッション(インバウンドWS-RMシーケンスに基づいて測定)をいくつ受け入れるかを指定します。
次のプロパティを構成すると、oracle/reliable_messaging_policyでのサービス・パフォーマンスをチューニングできます
表52-3 oracle/reliable_messaging_internal_api_policyプロパティ
名前 | 説明 | デフォルト | 必須かどうか |
---|---|---|---|
|
シーケンス・マネージャ・メンテナンス・タスクの実行期間(ミリ秒)を指定します。 |
60000 |
オプション |
|
WSエンドポイント専用のシーケンス・マネージャが、シーケンス作成の新規リクエスト拒否を開始するまでに、同時にアクティブなRMセッション(インバウンドRMシーケンスに基づいて測定)をいくつ受け入れるかを指定します。 |
100 |
オプション |
|
プロキシ・サービスによって開始したXAトランザクションのトランザクション・タイムアウト。 デフォルト値0では、システム・デフォルトを使用します。 |
0 |
オプション |
|
詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のreference.priorityに関する項を参照してください。 |
なし |
オプション |
表52-4は、SOAPおよび非SOAPサービス両方でのサポートされないOWSMアサーションの一覧であり、アサーションを含むポリシーを示し、影響を受ける機能とその機能を実現するための代替方法について説明しています。
表52-4 サポートされないアサーション
サポートされないアサーション | アサーションを含む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/1.2 代替: WS-RM 1.0/1.1/1.2のService Busで直接WSトランスポートを使用するか、oracle/reliable_messaging_ policyおよびoracle/reliable_messaging_internal_api_policyをWSDLタイプのHTTPトランスポート・サービスにアタッチします。 |
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を追加します。 |
Oracle Service Busでは、事前定義済ポリシーのセット、およびOWSMで配信されるアサーション・テンプレートの実行がサポートされます。製品で利用できる標準ポリシーで特定の機能が提供されない場合、ユーザーはカスタム・アサーションを開発できます。
カスタム・アサーションの詳細は、Oracle Web Services Managerの拡張可能アプリケーションの開発のカスタム・アサーションについてに関する項を参照してください。
カスタム・アサーションの作成の詳細は、Oracle Web Services Managerの拡張可能アプリケーションの開発のカスタム・アサーションの作成に関する項を参照してください。
Service Bus 12.2.1以降、OAuth OWSMポリシーをアタッチすることにより、RESTエンドポイントでサービスを保護できるようになりました。
このセクションのトピックでは、Service BusでOAuthを使用するために、OAuthサーバーおよびOWSMの構成に必要な、サポートされているユースケースと手順について説明します。
Service Busの今回のリリースでは、OAuth2のみサポートされています。
Service Busの今回のリリースでは、2–legged OAuthユースケースをサポートしています。次の2–legged OAuthユースケース(クライアント認証、およびクライアント + ユーザー認証)がサポートされています。
クライアント認証:
クライアント資格証明 - 認証HTTPヘッダーのAppIDユーザー名およびパスワード(federated=false
) (SSL付き/SSLなし)
クライアント資格証明 - JWT (JSON Webトークン) (federated=true
) (SSL付き/SSLなし)
注意:
federated=true
の場合、JWTトークンがクライアント資格証明用に作成されます。この値はOWSM OAuthポリシーで変更できます。
クライアント + ユーザー認証
クライアント資格証明 - 認証HTTPヘッダーのAppIDユーザー名とパスワード + ユーザー資格証明(federated=false
) (SSL付き/SSLなし)
クライアント・アイデンティティ – JWT + ユーザー・アイデンティティ – JWT (federated=true
) (SSL付き/SSLなし)
2–legged OAuthの詳細は、『Oracle Fusion Middleware Oracle Access Management管理者ガイド』の2-legged OAuthの理解に関する項を参照してください。
Service BusでOAuthポリシーを使用してRESTエンドポイントを保護するには、OWSMおよびOAuthサーバーを構成する必要があります。
トピック
注意:
このセクションでは、サンプルOAuthサーバーの構成に必要な手順を記載しています。これらのタスクに示す構成は、すべてのデプロイメント・シナリオに適用されるわけではありません。OAuthサーバーの構成の詳細は、『Oracle Fusion Middleware Oracle Access Management管理者ガイド』のOAuthサービスの構成に関する項を参照してください
OAuthサーバーを構成するには、次のタスクを完了する必要があります。
トピック
注意:
このセクションでは、サンプルOAuthサーバーの構成に必要な手順を記載しています。これらのタスクに示す構成は、すべてのデプロイメント・シナリオに適用されるわけではありません。OAuthサーバーの構成の詳細は、『Oracle Fusion Middleware Oracle Access Management管理者ガイド』のOAuthサービスの構成に関する項を参照してください。
OAuthサーバーを構成するには、OAuthをOracle Access Managementに対して有効にしておく必要があります。これはOracle Access ManagementコンソールでAccess ManagerサービスおよびMobile and Socialサービスを有効にして実行します。
jwt.issuer
プロパティを更新します。jwt.issuer=www.example.comjwt.CryptoScheme
プロパティを更新します。jwt.CryptoScheme=RS256listCred(map="oracle.wsm.security",key="keystore-csf-key")
keytool -exportcert -keystore default-keystore.jks -alias orakey -file oauth-key.pem -rfc
orakey
からowsmkey<unique-ending>
に変更します。keytool -changealias -alias orakey -destalias owsmkey
<unique-ending>
-keystore default-keystore.jks
keytool -exportcert -keystore default-keystore.jks -alias owsmkey<unique-ending> -file owsmkey<unique-ending>.cer
keytool -importcert -file owsmkey<unique-ending>.cer -keystore default-keystore.jks -alias owsmkey<unique-ending>
keytool -importcert -file oauth-key.pem -keystore default-keystore.jks -alias orakey
OAuth OWSMポリシーは、任意のOWSMポリシーをService Busサービスにアタッチしたときと同じ方法でビジネス・サービスおよびプロキシ・サービスにアタッチします。
JDeveloperおよびService Busコンソールを使用したポリシーのサービスへのアタッチについては、「ビジネス・サービスとプロキシ・サービスの保護」を参照してください。
oracle/http_jwt_token_service_policy
またはoracle/http_jwt_token_over_ssl_service_policy
ポリシーは、プロキシ・サービスにアタッチでき、oracle/oauth2_config_client_policy
(OAuthトークンの取得元となるRESTエンドポイントを指定)およびoracle/http_oauth2_token_client_policy
またはoracle/http_oauth2_token_over_ssl_client_policy
ポリシーは、ビジネス・サービスにアタッチできます。