SALT WS-SecurityPolicyアサーション1.2のリファレンス
以下の項では、SALT WSSP 1.2のリファレンス情報について説明します。
SALTでは、着信サービスに対してWS-Securityプロトコル・バージョン1.1の一部を実装しています。UsernameTokenとX509v3Tokenによる認証がサポートされています。認証の実装方法を説明するには、WSDL定義にWS-SecurityPolicyを使用します。
WS-Security 1.1を介してOracle WebLogicリリース10と通信するために、SALTはWebLogic 10によってサポートされているWS-SecurityPolicy (WSSP) 1.2の対応物を実装しています。ただし、サポートされているWSSP 1.2アサーションは次のように制限されています。
|
•
|
AsysmmetricBindingアサーション(限定サポート)
|
|
•
|
SupportingTokensアサーション(限定サポート)
|
WS-SecurityPolicy 1.2アサーションの制限の詳細は、
「Oracle SALT WSSP1.2アサーションの説明」を参照してください。
このドキュメントでは、接頭辞
spのXMLネームスペースは
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512ネームスペースURIを表しています。
リストE-1に、WSSP 1.2アサーションによるユーザー名トークン認証を示します。
リストE-1
WSSP 1.2ポリシー・ファイルの例
<!-Binding Policy -->
<wsp:Policy
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512">
<sp:TransportBinding>
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpToken/>
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
</wsp:Policy>
</sp:TransportBinding>
<sp:SupportingTokens>
<wsp:Policy>
<sp:UsernameToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssUsernameToken10/>
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</sp:SupportingTokens>
</wsp:Policy>
Wssp1.2-Wss1.0-X509.xmlファイルの例
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512"
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient">
<sp:OnlySignEntireHeadersAndBody/>
SALTには、代表的Webサービス・アプリケーションに使用できるいくつかのWS-SecurityPolicy 1.2テンプレート・ファイルが用意されています。これらのポリシー・ファイルは
TUXDIR/udataobj/salt/policyディレクトリにあります。
SALT WSSP 1.2ポリシーのテンプレート・ファイル
|
|
|
wssp1.2-UsernameToken-plain-auth.xml
|
ユーザー名トークンとプレーンなテキスト・パスワードが認証リクエストで送信されます。
|
|
|
X509 V3バイナリ・トークン(証明書)は認証リクエストで送信されます。必要に応じて、リクエストは、リクエスト中のいくつかのメッセージ部で署名されます。
|
|
|
|
これらのテンプレート・ファイルは以下の場所値の形式でWSDFファイルで直接参照することができます。
salt:<template_file_name>
たとえば、signbodyを構成する場合は、WSDFファイルに次のsignbodyを指定することができます。
<Policy location=”salt:wssp1.2-signbody.xml” />
次に、SALTでサポートされるすべてのWSSP 1.2アサーションおよびその制限を示します。顧客は独自のカスタマイズしたWSSP 1.2ポリシー・ファイルを書き込む時に制限に従う必要があります。SALTは制限事項ルールに対しカスタマイズしたWSSP 1.2ポリシー・ファイルをチェックしません。カスタマイズしたWSSP 1.2ポリシー・ファイルに請求したものがSALTによってサポートされない場合は、Webサービス・クライアント・プログラムで実行時エラーが発生することがあります。
次にリストされていないWS-SecurityPolicy 1.2アサーションは、SALTではサポートされません。
署名しなければならないSOAPメッセージの部分を指定します。SALTでは、署名するSOAP全体のみサポートします。
|
•
|
子要素<sp:Body>は、署名するSOAP本文全体を構成するためにサポートされています。
|
|
•
|
子要素<sp:Header>は、まだサポートされていません。
|
|
•
|
このアサーションについては、WSSP 1.2アサーションをネストできません。
|
SOAPメッセージに追加するユーザー名トークンを指定します。SALTでは、WS-Securityユーザー名トークン・プロファイル1.0に定義したクリア・テキスト・パスワードのみがサポートされます。<UsernameToken>アサーションはセキュリティ・バインディングのアサーションおよびSupporting Tokenアサーションのネストされたアサーションとして使用する必要があります。
SOAPメッセージに追加するX509トークンを含むバイナリ・セキュリティ・トークンを指定します。<X509Token>アサーションは、セキュリティ・バインディングのアサーションおよびSupporting Tokenアサーションのネストされたアサーションとして使用する必要があります。
|
•
|
<sp:WssX509PkiPathV1Token10>
|
|
•
|
<sp:WssX509PkiPathV1Token11>
|
セキュリティ・トークンにおいて暗号操作を実行するのに使用するアルゴリズム・スイートを指定します。<AlgorithmSuite>アサーションは、セキュリティ・バインディング・アサーションのネストされたアサーションとして使用する必要があります。
|
•
|
サポートされていないネスト・アルゴリズム・スイート
|
|
•
|
WS-Security Policy 1.2仕様にリストされている他のアルゴリズム・スイート
|
セキュリティ・ヘッダーに項目を追加する場合のレイアウト・ルールを指定します。<Layout>アサーションは、セキュリティ・バインディング・アサーションのネストされたアサーションとして使用する必要があります。
メッセージの保護とセキュリティ間の相互関係はトランスポート方法によって提供されることを示します。<TransportBinding>トークンを使用して、主にSOAPメッセージにおける遠隔ユーザー名トークンを実行します。
|
•
|
ネスト・アサーション<sp:TransportToken>は、<sp:HttpToken>のみサポートします。
|
リストE-3に、SALTでサポート対象のTransportTokenアサーションの例を示します。
リストE-3
サポート対象のTransportTokenアサーション
<sp:TransportBinding>
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpToken />
</wsp:Policy>
</sp:TransportToken>
<sp:Algorithm>
<wsp:Policy>
<sp:Basic256>
</wsp:Policy>
</sp:Algorithm>
</wsp:Policy>
</sp:TransportBinding>
メッセージの保護はWS-Security SOAPメッセージ・セキュリティで定義した方法によって提供されることを指定します。また、要求メッセージと応答メッセージのライフサイクルが異なっているので、それらの暗号化および署名に対して別のキーを使用できます。<AsymmetricBinding>アサーションは主に着信呼出しに対してSOAPリクエスト・メッセージでのX.509バイナリ・セキュリティ・トークンを実行するために使用します。
|
•
|
<sp:OnlySignEntireHeadersAndBody>
|
|
•
|
<sp:InitiatorSignatureToken>
|
|
•
|
<sp:InitiatorEncryptToken>
|
|
•
|
<sp:RecipientSignatureToken>
|
|
•
|
<sp:RecipientEncryptToken>
|
|
•
|
<sp:EncryptBeforeSigning>
|
|
•
|
<sp:InitiatorToken>は <sp:X509Token>に関連付けられ、トークンのインクルード型はAlwaysToRecipientである必要があります。
|
|
•
|
<sp:RecipientToken>は <sp:X509Token>に関連付けられ、トークンのインクルード型はNeverである必要があります。
|
リストE-4に、SALTでサポート対象のAsymmetricBindingアサーションの例を示します。このアサーションは、WS-Security X.509 Token Profile 1.1仕様で定義したX.509 V3バイナリ・トークンがSOAPリクエスト・メッセージのデジタル署名のために使用されること、およびX.509トークンは常にSOAPメッセージ・セキュリティ・ヘッダーに含まれていることを示します。
リストE-4
サポート対象のAsymmetricBindingアサーション
<sp:AsymmetricBinding>
<wsp:Policy>
<sp:InitiatorToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken=���http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient���>
<wsp:Policy>
<sp:WssX509V3Token11 />
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:InitiatorToken>
<sp:RecipientToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken=���http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/Never���>
<wsp:Policy>
<sp:WssX509V3Token11 />
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:RecipientToken>
<sp:Algorithm>
<wsp:Policy>
<sp:Basic256>
</wsp:Policy>
</sp:Algorithm>
<sp:Layout>
<wsp:Policy>
<sp:Lax>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp />
</wsp:Policy>
</sp:AsymmetricBinding>
セキュリティ・トークンがセキュリティ・ヘッダーにあり、必要に応じて、署名および/または暗号化する追加のメッセージ部分を含む場合があることを示します。SALTでは、
<sp:AsymmetricBinding>アサーションを使用すると、主にユーザー名トークンをセキュリティ・ヘッダーにインクルードするために<SupportingToken>アサーションが使用されます。
|
•
|
サポート対象のすべてのトークン・アサーションは、トークンのインクルード・タイプとして「AlwaysToRecipient」を使って定義する必要があります。
|
リストE-5に、SALTでサポート対象のSupportingTokenアサーションの例を示します。このアサーションは、ユーザー名トークンが常にSOAPリクエスト・メッセージに含まれていることを示します。
リストE-5
サポート対象のSupportingTokenアサーション
<sp:SupportingTokens>
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssUsernameToken10/>
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</sp:SupportingTokens>