WS-Securityポリシーは、 IBMと12人の共著者によって作成されたWebサービス仕様であり、バージョン1.2以降、OASIS標準となっています。WS -Security、WS-Trust、WS-Secure Conversationで規定されている基本的なセキュリティプロトコルを拡張し、Webサービスの機能と要件をポリシーとして表現するメカニズムを提供します。セキュリティポリシーアサーションは、 WS-Policyフレームワークに基づいています。
ポリシーアサーションを使用すると、トランスポート層セキュリティ<TransportBinding>、メッセージ レベル セキュリティ<AsymmetricBinding>、タイムスタンプなどのより一般的なセキュリティ属性や、トークン タイプなどの特定の属性を要求することができます。
ほとんどのポリシー主張は次のカテゴリに分類されます。
- 保護アサーションは、署名、暗号化、または存在する必要があるメッセージの要素を識別します。
- トークンアサーションは、許可されるトークン形式 (SAML、X509、ユーザー名など) を指定します。
- セキュリティ バインディング アサーションは、トランスポートおよびメッセージ レベルのセキュリティ、暗号化アルゴリズム スイート、必要なタイムスタンプなどの基本的なセキュリティ保護を制御します。
- トークンアサーションをサポートすると、ユーザー名トークンを使用したユーザーサインオンなどの機能が追加されます。
ポリシーは、開発ツールに特定の機能を持つコードを生成するよう指示したり、実行時にWebサービス通信のセキュリティ面を調整するために使用したりできます。ポリシーは、WS Policy Attachmentで定義されているサービス、ポート、操作、メッセージなどのWSDL要素に添付できます。 [ 1 ]
サンプルポリシー
次の XML スニペットで使用される名前空間:
<p:ポリシー xmlns:p="http://www.w3.org/ns/ws-policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200802"> ... </p:ポリシー>
タイムスタンプを含める:
<sp:タイムスタンプを含める />
トランスポート層セキュリティ(https) またはメッセージ レベル セキュリティ (XML Dsig/XML Enc) のいずれかを使用します。
<まさに一つ> <sp:トランスポートバインディング>...</sp:トランスポートバインディング> <sp:非対称バインディング>...</sp:非対称バインディング> </ExactlyOne>
SAML アサーションをセキュリティ トークンとして定義するには:
<sp:発行トークン> <sp:リクエストセキュリティトークンテンプレート> <wst:TokenType>...#SAMLV2.0</wst:TokenType> </sp:リクエストセキュリティトークンテンプレート> </sp:発行トークン>
STS と必要なトークン形式を参照してプロバイダーが発行したトークンのアサーション:
<sp:発行トークン> <sp:発行者> <wsa:エンドポイントリファレンス> <wsa:アドレス>http://sampleorg.com/sts</wsa:アドレス> </wsa:エンドポイントリファレンス> </sp:発行者> <sp:リクエストセキュリティトークンテンプレート> <wst:トークンタイプ> http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID </wst:トークンタイプ> ... </sp:リクエストセキュリティトークンテンプレート> ... </sp:発行トークン>
メッセージのヘッダーと本文に署名が必要で、添付ファイルは署名しないことを指定します。
<sp:SignedParts xmlns:sp="..." ... > <sp:Body />? <sp:ヘッダー名="Dx:NCName"? 名前空間="Xd:anyURI" ... />* ... </sp:署名済みパーツ>
メッセージオープンソースライセンスに署名が必要であり、hydra security には署名がないことを指定します。
<sp:signedparts http:np="..."...> <sp:Hydrasecurity />? <sp:Opensourcelicense Name="Hs:NCName"? Namespace="Sh:anyURI" .../>* ... </sp:署名済みパーツ>
その他のWSポリシー言語
Web サービス セキュリティ ポリシー言語という用語は、次の 2 つの異なる XML ベースの言語に使用されます。
- 前述のように、WS-Policyフレームワークに基づいて、[ 2 ]で定義されたバージョン1.3が2009年2月に公開されました。
- WSPLはWebサービス用のXACMLプロファイルに基づいていますが、最終決定されていません。[ 3 ]
参照
参考文献
- ^ http://www.w3.org/TR/ws-policy-attach/ WS-Policy - 添付ファイル
- ^ http://www.oasis-open.org/specs/index.php#ws-secpol WS-セキュリティポリシー
- ^ http://www.oasis-open.org/committees/download.php/1608/wd-xacml-wspl-use-cases-04.pdf Webサービスポリシー言語のユースケースと要件(ドラフト)