Web テクニカル・コミュニティー・グループである W3C および OASIS は、Web サービスに適用可能なポリシーを定義するための標準を作成しました。
(01) <wsp:Policy
xmlns:sp=http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702
xmlns:wsp=http://www.w3.org/ns/ws-policy
xmlns:wsu=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
wsu:Id="SecureMessages"> <!-- policy expression -->
(02) <wsp:ExactlyOne>
(03) <wsp:All> <!-- policy alternative #1 -->
(04) <sp:SignedParts>; <!-- policy assertion -->
(05) <sp:Body> <!-- policy assertion parameter -->
(06) </sp:SignedParts>
(07) </wsp:All>
(08) <wsp:All> <!-- policy alternative #2 -->
(09) <sp:EncryptedParts> <!-- policy assertion -->
(10) <sp:Body/> <!-- policy assertion parameter -->
(11) </sp:EncryptedParts>
(12) </wsp:All>
(13) </wsp:ExactlyOne>
(14) </wsp:Policy>
行 (03-07) は、メッセージ本文に署名するための 1 つのポリシー・オルタナティブを表しています。
行 (08-12) は、メッセージ本文を暗号化するための 2 つ目のポリシー・オルタナティブを表しています。
行 (02-13) は ExactlyOne ポリシー演算子を示します。 ポリシー演算子は、ポリシー・アサーションをポリシー・オルタナティブにグループ化します。 このポリシーの正しい解釈は、Web サービスの呼び出しでメッセージ本文に対して署名または暗号化のいずれか一方を行いますが、両方は行わないということです。
<wsp:PolicyAttachment>
<wsp:AppliesTo>
</wsp:AppliesTo>
<wsp:Policy>
</wsp:Policy>
</wsp:PolicyAttachment>
WSRR は、SLA モデルで適切なポリシー添付を獲得するための REST インターフェースを提供します。 ポリシーが適用されるコンシューマーとプロバイダーのペアに関する情報は、WS-PolicyAttachment 形式で ESB に渡されます。 構文は、WS-PolicyAttachment: Message Content Filters 仕様で定義されています。
ポリシーは、プロバイダー・サービスに対してのみ指定することも、特定のコンシューマーとプロバイダーのペアや、匿名コンシューマーに対して指定することもできます。 匿名コンシューマーによって、他のポリシーが適用されないコンシューマーに対してのみ適用されるデフォルト・ポリシーを定義する方法が提供されます。
図 3 で、<wsp:AppliesTo> セクションには、ポリシーが適用されるドメイン固有のポリシー・サブジェクト (プロバイダー) が入ります。 その後に、ポリシーを適用するコンシューマー・コンテキスト・フィルター (コンシューマー) が続きます。次に、<wsp:Policy> セクションで、ポリシー (複数可) が宣言または参照されます。