注意: この章はWLS 9.2ポリシーのみに該当し、Oracle Web Services Managerポリシーは対象ではありません。Oracle Service Busの将来のリリースでは、Oracle Web Services ManagerポリシーがWLS 9.2のセキュリティ・ポリシーを強化して、これに置き換わります。このバージョンのOracle Service Busでは、引き続きWLS 9.2ポリシーはサポートされますが、新しいサービスの作成にはOracle Web Services Managerポリシーを使用して、将来的なWLS 9.2ポリシーのサポート廃止に備えることを検討してください。 |
Webサービスであるプロキシ・サービスまたはビジネス・サービスのメッセージ・レベルのセキュリティ要件を指定するには、Webサービス・ポリシー(WS-Policy)フレームワークを使用します。
この章では、次の章第52章「Webサービスのメッセージ・レベルでのセキュリティの構成」で必要となる概念情報について説明します。
以下の項では、プロキシ・サービスとビジネス・サービスのWS-Policyの構成について説明します。
Webサービス・ポリシー(WS-Policy)は、Webサービスの制約と要件を定義するための標準ベースのフレームワークです。WS-Policyでは、それぞれ1つまたは複数のアサーションを含む、ポリシーと呼ばれるXML文の集合で制約と要件を表します。
Oracle Service Busでは、WS-Policyアサーションを使用して、デジタル署名や暗号化に対するWebサービスの要件、および必要なセキュリティ・アルゴリズムや認証メカニズムを指定します。
WS-Policyフレームワークを使用すると、他の仕様で「ポリシー・アサーション」を宣言できます。ポリシー・アサーションは、<policy>
要素内に示されるドメイン固有のXML要素です。ポリシー・アサーションの仕様は、このドメイン固有のアサーションの構文とセマンティクスを記述します。
WS-SecurityPolicyは、ドメイン固有のアサーション言語の一例です。WS-SecurityPolicy仕様は、WS-Policyフレームワークで使用する一連のセキュリティ・ポリシー・アサーションを定義しています。
WS-ReliableMessagingは、ドメイン固有のアサーション言語のもう1つの例であり、信頼性のあるメッセージング・ポリシーを宣言するためのアサーションを定義しています。
Webサービス・セキュリティ(WS-Security)は、Webサービス・ポリシー・フレームワーク(WS-Policy)と連動して機能します。以下の用語の意味とこれらがどのように関係するのかを理解することが重要です。
Webサービス・セキュリティ(WS-Security)はOASIS標準の1つです。SOAPメッセージにメッセージ・レベルのセキュリティを組み込むための相互運用可能なメカニズムを定義しています。WS-Securityによって、メッセージ・レベルのセキュリティが「どのように」 SOAPメッセージに組み込まれるかが決まります。
WS-Securityは、メッセージの整合性と機密性をサポートします。また、SOAPエンベロープにセキュリティ・トークンを含める拡張モデルや、SOAPエンベロープ内からセキュリティ・トークンを参照するモデルも定義しています。WS-Securityでは、SOAPメッセージのどの部分をデジタル署名または暗号化するかを指定できます。
Webサービス・ポリシー・フレームワーク(WS-Policy)は、Webサービスのポリシーを記述して通信するための汎用モデルとその構文を提供します。WS-Policyは、抽象XMLフレームワークです。WS-Policyの特徴は、ポリシー「アサーション」と呼ばれる子要素です。
WS-SecurityPolicyは、WS-Policyのセキュリティ面を指定するためのアサーションを定義します。WS-SecurityPolicyは、SOAPメッセージで「どの」メッセージ・レベルのセキュリティが必要かを決定します。
ポリシーでは、セキュリティで保護する操作と、Webサービス・クライアントが適用する必要があるセキュリティ対策を決定できます。
プロキシ・サービスまたはビジネス・サービスのWS-Policyを構成するときに、WS-Policyに1つまたは複数のセキュリティ・ポリシー・アサーションが含まれている場合、プロキシ・サービスまたはビジネス・サービスは、WS-Securityが有効になっていると見なされます。
Oracle Service Busの以前のリリースと同様に、WS-PolicyポリシーはWSDLドキュメントに直接含めることも、または参照によって含めることも可能です。WSDLドキュメントは、WS-Policyポリシーを含むか参照する他のWSDLドキュメントをインポートできます。WS-Policyポリシーを含むXMLファイルは、複数のプロキシ・サービスまたはビジネス・サービスから使用できます。
また、WS-Policyをサービスにバインドする別の方法があります。ポリシー・コンソールページを使用すると、ポリシーをサービスの直接バインドすることができます。ポリシーは、異なるスコープにバインド可能です。
サービス全体
サービスの操作
サービスの操作のリクエスト・メッセージ
サービスの操作のレスポンス・メッセージ
ポリシーをサービス全体にバインドすると、ポリシーはサービスのすべての操作と、すべての操作のリクエストおよびレスポンス・メッセージすべてに適用されます。ポリシーを操作にバインドすると、ポリシーはその操作のリクエストおよびレスポンス・メッセージに適用されます。
いずれのスコープにも、任意の数のポリシーをバインドできます。
例として、操作A、B、CおよびDを含むサービスSがあるとします。A、BおよびCは、リクエスト/レスポンス操作であり、Dはリクエストのみの操作です。管理者は、以下のようにWS-Policyのバインディングを構成できます。
ポリシーXをサービスS全体にバインド
ポリシーYおよびZを操作Aに
ポリシーYおよびZを操作Bに
ポリシーPを操作Cのリクエスト・メッセージに
ポリシーQを操作Cのレスポンス・メッセージに
ポリシーRを操作Dのリクエスト・メッセージに
次に例を示します。
操作AおよびBのリクエスト/レスポンス・メッセージの有効ポリシーは、ポリシーX、YおよびZを結合したものです。
操作Cのリクエスト・メッセージの有効ポリシーは、XおよびYを結合したものです。操作Cのレスポンス・メッセージの有効ポリシーは、XおよびQを結合したものです。
操作Dのリクエスト・メッセージの有効ポリシーは、XおよびRを結合したものです。
WS-Policy仕様に基づいて(Oracle独自のセキュリティ・ポリシー・スキーマを使用して)記述されたセキュリティ・ポリシー・アサーションの場合、WebLogic Webサービス実行時環境では、2つのタイプのWS-Policy文を認識します。
具象WS-Policy文では、認証、暗号化、およびデジタル署名のために使用されるセキュリティ・トークンを指定します。具象暗号化ポリシーでは、必ず、サーバーの暗号化証明書が、base 64でエンコードされた証明書の形式でX.509バイナリ・セキュリティ・トークンに組み込まれます。
必要な認証のタイプ(X.509またはSAMLトークンの使用など)が設計時にわかっている場合は、具象WS-Policy文を作成できます。
抽象WS-Policy文では、セキュリティ・トークンを指定しません。具体的には、WS-Policyファイルの<Identity>
要素や<Integrity>
要素(またはアサーション)に<SupportedTokens><SecurityToken>
子要素が含まれないこと、およびWS-Policyファイルの<Confidentiality>
要素に<KeyInfo><SecurityToken>
子要素が含まれないことです。
抽象ポリシーが受け取るセキュリティ・トークンのタイプは、Oracle Service Busの実行時環境で決定します。
Oracle Service Busには、すぐに使用可能なWS-Policyファイルのセットが含まれます(Oracle Service Busポリシー・ファイルは、Oracle WebLogic Serverにより提供されるポリシー・ファイルのサブセットです)。
ポリシー文には、以下の3タイプがあります。
WS-Security Policyアサーション
Oracleセキュリティ・ポリシー・アサーション
信頼性のあるメッセージング・アサーション
定義済みのポリシー・ファイルについては、以降の項で説明します。
以下の、Oracle独自の定義済みのポリシー・ファイルが使用可能です。
Auth.xml
- Webサービス・クライアントに認証を要求するポリシーが含まれます。可能な限り、Auth.xml
ポリシー・ファイルを使用せずに、Sign.xml
およびEncrypt.xml
のポリシーを使用することをお薦めします。
Encrypt.xml
- クライアントにSOAP本体を3DES-CBCで暗号化するように要求するポリシーが含まれます。キー・ラップ・アルゴリズムはRSA 1.5です。Triple DES (Data Encryption Standard)の対称キーはクライアントが生成し、受信者用にRSA 1.5で暗号化します。
このポリシーはビジネス・サービスでは使用できません。かわりに、独自の具象暗号化ポリシーを作成します。51.3項「カスタムWS-Policy文の作成と使用」を参照してください。
Sign.xml
- クライアントにSOAP本体を署名するように要求するポリシーが含まれます。署名したタイム・スタンプをクライアント側のWS-Securityエンジンがwsse:Security
ヘッダーに追加するよう要求します。この署名により、特定のリプレイ攻撃を防止できます。システム・ヘッダーもすべて署名されます。デジタル署名アルゴリズムはRSA-SHA1です。Exclusive XML Canonicalizationが使用されます。
システム・ヘッダーを以下に示します。
wsrm:SequenceAcknowledgement
wsrm:AckRequested
wsrm:Sequence
wsa:Action
wsa:From
wsa:To
wsa:FaultTo
wsa:MessageID
wsa:RelatesTo
wsa:ReplyTo
wsu:Timestamp
wsax:SetCookie
ネームスペース接頭辞は、以下の表のネームスペースに対応します。
接頭辞 | ネームスペース |
---|---|
wsrm |
http://schemas.xmlsoap.org/ws/2005/02/rm |
wsa |
http://schemas.xmlsoap.org/ws/2004/08/addressing |
wsu |
http://schemas.xmlsoap.org/ws/2002/07/utility |
wsax |
http://schemas.xmlsoap.org/ws/2004/01/addressingx |
WebLogic Web Servicesでは、WS-Policyファイルを使用して宛先エンドポイントを有効にし、Webサービスの信頼性のあるメッセージングの機能と要件を記述および公開できるようにする、WS-Policyファイルを使用します。WS-Policyファイルは、サポートされているWS-ReliableMessaging仕様のバージョンや、ソース・エンドポイントの再伝送までの時間間隔、宛先エンドポイントの確認応答間隔などが記述されたXMLファイルです。
Oracle Service Busには、独自のWS-Policyファイルを作成しない場合に(WS-RMトランスポートでのみ)使用できる、2つの単純で信頼性のあるメッセージングWS-Policyファイルが用意されています。
DefaultReliability.xml
- 信頼性のあるメッセージングのポリシーのアサーションに一般的な値(非アクティブ・タイムアウト10分、確認応答の間隔200ミリ秒、基本的な再送信間隔3秒など)を指定します。実際のWS-Policyファイルについては、「DefaultReliability.xml WS-Policyファイル」を参照してください。
LongRunningReliability.xml
— 前述のデフォルトの信頼性のあるメッセージングWS-Policyファイルと似ていますが、アクティビティのタイムアウト間隔に、より大きな値(24時間)を指定します。
あらかじめパッケージされたポリシーをできる限り使用することをお薦めします。ただし、次の条件下ではこのポリシーを使用できません。
トランスポート・レベルのポリシーは、メッセージ・レベルのセキュリティが必要ない場合にのみ使用します。
SOAPメッセージの本文全体ではなく、特定の部分を暗号化またはデジタル署名するように指定する必要がある場合は、Oracle Service Bus WS-Policy文は使用できません。
かわりに、カスタムのWS-Policy文を作成します。52.5.1項「例: SOAP本体およびヘッダー部分の暗号化」を参照してください。
クライアントにSAMLトークンを提供するよう要求する場合は、Oracle Service Bus WS-Policy文を使用できません。SAMLトークンを要求するWS-Policy文ではconfirmationMethod
を指定する必要があるため、必ず具象ポリシーになります。
ビジネス・サービスで暗号化を要求する必要がある場合は、Oracle Service Bus Encrypt.xmlのポリシーを使用できません。ビジネス・サービスでは具象的な暗号化ポリシーが必要です(証明書をポリシーに埋め込む必要があります)。
プロキシ・サービスまたはビジネス・サービスでのこれらのポリシーの使用については、51.4項「WSDLドキュメントへのWS-Policy文の付加」を参照してください。
Oracle Service Bus WS-Policyのパッケージ化されたポリシー・ファイルがセキュリティ要件を満たさない場合は、独自のWS-Policy文を作成できます。Oracle Service Bus WS-Policy文を変更することはできません。
WebサービスのWSDLドキュメントに直接カスタムWS-Policy文を記述できます。または、複数のWebサービスで文を再利用する場合は、別のXMLファイルにその文を記述し、以下のいずれかを実行します。
文をOracle Service Busにインポートして、WSDLドキュメントから参照します。
文をサービスに直接バインドします。
Oracle Service BusのWS-Policy文では次の制限に注意してください。
WS-Policy仕様に基づき、Oracle独自のセキュリティ・ポリシー・スキーマを使用して記述されたセキュリティ・ポリシー・ファイルは、次のネームスペースのId
属性を持つ必要があります。http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
この属性の値は、Oracle Service Busドメイン内にあるすべてのWS-Policy文についてユニークである必要があります。この属性はWS-Policyスキーマでは省略可能ですが、Oracle Service Bus Webサービスでは必須です。
プロキシ・サービスで機密性アサーションを作成する場合、それは抽象的である必要があります(証明書をポリシーに埋め込むことはできません)。具象的な機密アサーションが含まれるプロキシ・サービスを作成すると、エラー・メッセージが表示されます。
ビジネス・サービスで機密性アサーションを作成する場合は、具象的であることが必要(証明書がポリシーに埋め込まれていることが必要)であり、WSDLドキュメントに直接配置する必要があります。このようなポリシーを参照で付加することはできません。52.5.1項「例:SOAP本体およびヘッダー部分の暗号化」を参照してください。
Oracle Service Busでは、WS-Policy Attachment仕様(http://www.w3.org/Submission/WS-PolicyAttachment/
)を実装しています。これは、WS-Policy文をWebサービスを関連付けるメカニズムを定義するものです。
WebサービスのためにWS-Policy文をWSDLドキュメントに付加するには
別のXMLファイルでカスタムのWS-Policyを作成した場合、そのカスタムWS-PolicyファイルをOracle Service Busでリソースとして追加します。『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「カスタムのWS-Policiesの追加」を参照してください。
WSDLドキュメントの<definitions>
要素で、以下の子要素を追加します。
<wsp:UsingPolicy wsdl:Required="true" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
wsdl:required="true"
属性によって、プロキシ・サービスとビジネス・サービスがポリシーの付加を処理できることが保証されます。
この要素を追加しないと、Oracle Service BusではWSDLのすべてのWS-Policy文が無視されます。
保護するWSDLドキュメントの各要素内で、以下を実行します。
使用するWS-Policy文のURIを決定します。51.4.1項「WS-Policy文のURIの確認」を参照してください。
WSDLドキュメント中のURIを指定します。51.4.2項「WSDLドキュメントでのWS-Policy文のURIの指定」を参照してください。
Oracle Service Bus WS-Policy文では、URLは常に次のようになります。
policy:Auth.xml
policy:Encrypt.xml
policy:Sign.xml
WS-Policy文がWSDLドキュメントに直接記載される場合、URIは次のようになります。#
policy-ID
。ここで、policy-ID
はポリシーのwsu:ID
属性値です。例51-2を参照してください。
別のXMLファイルに作成してOracle Service Busにリソースとして追加したWS-Policy文の場合、URIは次のようになります。policy:
policy-ID
。ここで、policy-ID
はポリシーのwsu:ID
属性(ポリシーのXMLファイルで指定)の値です。
また、UDDIを使用してWS-Policy文をWSDLドキュメントに付加することもできます。この場合、URIは別の形になります。詳細については、WS-Policy Attachment仕様(http://www.w3.org/Submission/WS-PolicyAttachment/
)を参照してください。
WSDLドキュメントでURIを指定するには、次のいずれかの方法を使用します。
PolicyURIs
属性
WSDLスキーマ(http://www.w3.org/TR/wsdl
を参照)によって、保護する要素に対して属性の拡張が可能な場合は、その要素にPolicyURIs
グローバル属性を追加します。
この要素の値では、それぞれ1つのポリシーを参照するURIのリストを指定します。
例:
<input message="tns:foo" wsp:PolicyURIs="policy:Sign.xml"/>
ネストされた<Policy>
要素
WSDLスキーマによって、保護する要素に対する要素の拡張が可能な場合は、グローバル子要素として<Policy>
を追加します。使用する各WS-Policyに対し、<Policy>
要素の子として1つの<PolicyReference>
要素を追加します。
各<PolicyReference>
要素に対し、1つのポリシーを参照するURI属性を含めます。また、ダイジェストとダイジェスト・アルゴリズムを要素に含めることもできます。
例:
<wsp:Policy> <wsp:PolicyReference URI="policy:Sign.xml"/> </wsp:Policy>
表51-1は、WS-Policy文のURIを指定するために使用するWSDL要素のXPath名および方法のリストです。また、Oracle Service BusでWS-Policy文の付加をサポートしないWSDL要素も示します。
表51-1 Oracle Service Busで保護可能なWSDL要素
ポリシーを付加するWSDL要素 | 方法 |
---|---|
/definitions/message |
ネストされた |
/definitions/message/part |
|
/definitions/portType |
|
/definitions/portType/operation |
ネストされた |
/definitions/portType/operation/input |
|
/definitions/portType/operation/output |
|
/definitions/portType/operation/fault |
Oracle Service Busはこの要素へのWS-Policy文の付加をサポートしていません |
/definitions/binding |
ネストされた |
/definitions/binding/operation |
ネストされた |
/definitions/binding/operation/input |
ネストされた |
/definitions/binding/operation/output |
ネストされた |
/definitions/binding/operation/fault |
Oracle Service Busはこの要素へのWS-Policy文の付加をサポートしていません |
/definitions/binding/service |
Oracle Service Busはこの要素へのWS-Policy文の付加をサポートしていません |
/definitions/service/port |
ネストされた |
次の要素またはその子孫にWS-Policy文を付加することをお薦めします。
portType
binding
次の要素にWS-Policy文を付加しないことをお薦めします。
service
port
messageまたはmessage/part
WS-Policy文が認証を行うためにX.509トークンを必要とする場合は、デジタル署名も必要です。クライアントが対応する秘密鍵付きのコンテンツに署名していないと、X.509トークンはIDアサーションを満たすことができません。
認証およびデジタル署名に対してX.509証明書を使用するようクライアントに要求するプロキシ・サービスを作成するには、次の操作を行います。
プロキシ・サービスを作成するために使用するWSDLドキュメントで、Sign.xml
ファイルとAuth.xml
ファイルにあるOracle Service Busポリシーを付加します。例51-1を参照してください。
デジタル署名用にX.509証明書を含むサービス・キー・プロバイダを使用するプロキシ・サービスを構成します。『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の「サービス・キー・プロバイダ」を参照してください。
Oracle Service BusのSign.xml
とAuth.xml
ポリシーは抽象的であるため、プロキシ・サービスと関連付けられたサービス・キー・プロバイダで指定される資格証明をクライアントが提供することが必要です。
例51-1は、Oracle Service BusのSign.xml
およびAuth.xml
ポリシーへの参照を含むWSDLを示します。
例51-1 Oracle Service Bus WS-Policiesへのポリシー参照を含むWSDL
<definitions ... xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401 -wss-wssecurity-utility-1.0.xsd"> <wsp:UsingPolicy wsdl:Required="true" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/> ... <portType name="Sample"> <operation name="doFoo" parameterOrder="data"> <input message="tns:foo" wsp:PolicyURIs="policy:Sign.xml"/> <output message="tns:fooResponse"/> </operation> </portType> <binding name="SampleBinding" type="tns:Sample"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="doFoo"> <wsp:Policy> <wsp:PolicyReference URI="policy:Sign.xml"/> <wsp:PolicyReference URI="policy:Auth.xml"/> </wsp:Policy> ... </operation> </binding> ... </definitions>
例51-2は、wsu:Id="policy1"
とwsu:Id="policy2"
という2つのカスタムWS-Policyポリシーを持つWSDLを示します。ポリシーはWSDLに記述されるため、このポリシーを参照するURIはXMLフラグメントを使用します。
例51-2 カスタムのインライン・ポリシーへのポリシー参照を含むWSDL
<definitions ... xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis- 200401-wss-wssecurity-utility-1.0.xsd"> <wsp:UsingPolicy wsdl:Required="true" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/> <wsp:Policy wsu:Id="policy1">...</wsp:Policy> <wsp:Policy wsu:Id="policy2">...</wsp:Policy> ... <portType name="Sample"> <operation name="doFoo" parameterOrder="data"> <input message="tns:foo" wsp:PolicyURIs="#policy1"/> <output message="tns:fooResponse"/> </operation> </portType> <binding name="SampleBinding" type="tns:Sample"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="doFoo"> <wsp:Policy> <wsp:PolicyReference URI="#policy2"/> </wsp:Policy> <soap:operation soapAction="http://com.bea.samples/sample/doFoo" style="document"/> <input> <soap:body namespace="http://com.bea.samples/sample" use="literal"/> </input> <output> <soap:body namespace="http://com.bea.samples/sample" use="literal"/> </output> </operation> </binding> ... </definitions>
この項では、WS-Policy仕様に基づき、Oracle独自のセキュリティ・ポリシー・スキーマを使用して記述されたセキュリティ・ポリシー・アサーションを使用する際に考慮すべきベスト・プラクティスについて説明します。
注意: WS-SecurityPolicyを設計する前に、セキュリティ要件を入念に分析してください。このベスト・プラクティスは、特定のビジネス・セキュリティのニーズには当てはまらない可能性もあります。 |
操作のレスポンス・ポリシーでは、IDアサーションを使用しないでください。結果として、レスポンス・ポリシーでは、定義済みのAuth.xml
ポリシーを使用しないでください。
アクティブな仲介プロキシ・サービスへのインバウンドでWS-Securityユーザー名トークンを使用するときに、ユーザー名/パスワードをバックエンド・サービスに渡す(ユーザー名/パスワード・パススルー)場合は、ユーザー名トークンにパスワードをクリア・テキストで含める必要があります。
WS-Securityユーザー名トークンをクリア・テキストのパスワードと共に使用する場合は、(WS-Securityで)トークン全体を暗号化するか、またはメッセージをSSLを使用して送信して、ユーザー名トークンの機密性を保護することを強くお薦めします。
IDアサーションを使用する場合は、Integrityアサーションを使用して、機密メッセージ・コンテンツ(SOAP本体およびSOAPヘッダー部分)と共に、認証トークン(ユーザー名、X.509またはSAMLトークン)にデジタル署名することもできます。デジタル署名は、署名されたコンテンツの整合性を保護し、認証トークンとメッセージ・コンテンツをバインドします。これは、第三者による認証トークンの任意のSOAPエンベロープへのコピーと、それによるメッセージの偽造を防止するために重要です(Integrityアサーションを使用するかわりに、SSLを使用してメッセージを送信することもできます)。
Integrityアサーションを使用する場合は、MessageAgeアサーションも使用することをお薦めします。さらに、署名トークン(つまり検証証明書)をwsse:Securityヘッダーに含めること、およびデジタル署名で、署名するSOAP本体またはSOAPヘッダー部分に加えて、署名トークンおよびタイムスタンプを対象とすることをお薦めします。MessageAgeアサーションは、タイムスタンプがセキュリティ・ヘッダーに含まれることを保証します。タイムスタンプは、反射攻撃の防止に使用されます。定義済みのSign.xml
ポリシーは、このベスト・プラクティスに従っています。
JMSでタイム・スタンプを使用する場合は(MessageAgeアサーション)、MessageAgeアサーションの有効期限を適切に設定するようにしてください。値が小さ過ぎると、キューに置かれている間にメッセージが有効期限切れになる可能性があります。
IDアサーションで、X.509トークンをサポートされるトークン・リストに含める場合は、ポリシーにもIntegrityアサーションを含める必要があります。X.509トークンがデジタル署名で使用されていない場合、サーバーはX.509トークンを認証の証拠として受け入れません。
IDアサーションがその他のトークン・タイプを受け入れる場合、IntegrityアサーションのX509AuthConditional属性を使用して、実際の認証トークンがX.509トークンの場合のみ、デジタル署名を必要とすることを指定できます。抽象IDアサーションは、デプロイ時にあらかじめ処理されており、実行時環境によってサポートされているすべてのトークン・タイプのリストを挿入することで、具象アサーションに変換されます。
ポリシーでは抽象IDアサーションを使用しないことをお薦めします。かわりに、認証でサポートされるトークン・タイプを直接正確に指定するようにしてください。また、IDアサーションでサポートするトークン・タイプは1つのみにすることをお薦めします。
注意: これにより、サポートされるトークン・タイプがあいまいでなくなるため、IntegrityアサーションのX509AuthConditional属性は不要になります。 |
結果として、可能な限りAuth.xml
ポリシー・ファイルを使用せずに、Sign.xml
およびEncrypt.xml
のポリシーを使用することをお薦めします。
Oracle Service Busプロキシが、(インバウンド・リクエスト・メッセージまたはバックエンドのレスポンス・メッセージで)デジタル証明書を処理する場合は、必ず、セキュリティ・レルムに証明書レジストリを構成して、トレーディング・パートナ証明書をそのレジストリにインポートすることを強くお薦めします。
ポリシー・サブジェクトは、サービス、エンドポイント、操作、メッセージなどのエンティティであり、これにポリシーを関連付けることができます。1つのWS-Policy文を複数のポリシー・サブジェクトと関連付けることができ、反対に、複数のWS-Policy文を1つのポリシー・サブジェクトを関連付けることができます。ポリシー・スコープは、ポリシーが適用されるポリシー・サブジェクトの集合です。たとえば、wsd:binding/wsdl:operation/wsdl:input
に付加されたポリシーが適用されるポリシー・スコープは、入力メッセージ、操作、エンドポイント、およびサービスです。
特定のポリシー・サブジェクトの有効ポリシーは、スコープにそのポリシー・サブジェクトを含むすべてのポリシーを結合したものになります。たとえば、バインディング操作の入力メッセージの有効ポリシーは、以下に付加されるすべてのポリシーを結合したものになります。
バインディング操作の入力メッセージ
バインディング操作
バインディング
ポートのタイプの操作の入力メッセージ
ポートのタイプの操作
ポートのタイプ
サービス
WS-Policy文を使用してプロキシ・サービスまたはビジネス・サービスを構成した場合、Oracle Service Busコンソールに有効ポリシーが表示されます(読取り専用)。