|
以下の節では、SALT WSSP 1.2 のリファレンス情報について説明します。
Oracle 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 アサーションは以下のように制限されています。
WS-SecurityPolicy 1.2 アサーションの制限の詳細については、「SALT WSSP 1.2 アサーションの説明」を参照してください。
WebLogic 10 によってサポートされる WSSP 1.2 アサーションの詳細については、『WebLogic Web サービス プログラマーズ ガイド』の「WS-SecurityPolicy 1.2 ポリシー ファイルの使用」を参照してください。
このドキュメントでは、プレフィックス「sp」の XML ネームスペースは「http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512」ネームスペース URI を表しています。
コード リスト D-1 に、WSSP 1.2 アサーションによるユーザ名トークン認証を適用する方法を示します。
<!-バインディング ポリシー -->
<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>
Oracle SALT には、ほとんどの典型的な Web サービス アプリケーションに使用できるいくつかの WS-SecurityPolicy 1.2 テンプレート ファイルが用意されています。これらのポリシー ファイルは TUXDIR/udataobj/salt/policy ディレクトリにあります。
これらのテンプレート ファイルは以下の場所値の形式で WSDF ファイルで直接参照することができます。
たとえば、signbody をコンフィグレーションする場合は、WSDF ファイルに次の signbody を指定することができます。
<Policy location=”salt:wssp1.2-signbody.xml” />
以下に、Oracle SALT でサポートされる WSSP 1.2 アサーションおよびその制限を示します。顧客は独自のカスタマイズした WSSP 1.2 ポリシー ファイルを書き込む時に制限に従う必要があります。Oracle SALT は制限事項ルールに対しカスタマイズした WSSP 1.2 ポリシー ファイルをチェックしません。カスタマイズした WSSP 1.2 ポリシー ファイルに請求したものが Oracle SALT によってサポートされない場合は、web サービス クライアント プログラムには実行時エラーが報告されることがあります。
以下にリストされていない WS-SecurityPolicy 1.2 アサーションは、Oracle SALT ではサポートされません。
署名しなければならない SOAP メッセージの部分を指定します。Oracle SALT では、署名する SOAP 全体のみサポートします。
SOAP メッセージに追加するユーザ名トークンを指定します。Oracle SALT では、WS-Security ユーザ名トークン プロファイル 1.0 に定義したクリア テキスト パスワードのみサポートします。<UsernameToken> アサーションはセキュリティ バインディングのアサーションおよび Supporting Token アサーションのネストされたアサーションとして使用する必要があります。
SOAP メッセージに追加する X509 トークンを含むバイナリ セキュリティ トークンを指定します。<X509Token> アサーションはセキュリティ バインディングのアサーションおよび Supporting Token アサーションのネストされたアサーションとして使用する必要があります。
セキュリティ トークンにおいて暗号操作を実行するアルゴリズム スイートを指定します。<AlgorithmSuite> アサーションはセキュリティ バインディング アサーションのネストされたアサーションとして使用する必要があります。
セキュリティ ヘッダに項目を追加する場合のレイアウト ルールを指定します。<Layout> アサーションはセキュリティ バインディング アサーションのネストされたアサーションとして使用する必要があります。
メッセージの保護とセキュリティ間の相互関係は転送方法により提供されることを示します。<TransportBinding> トークンを使用して、主に SOAP メッセージにおける遠隔ユーザ名トークンを実行します。
コード リスト D-2 に、Oracle SALT でサポート対象の 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 バイナリ セキュリティ トークンを実行するために使用します。
コード リスト D-3 に、Oracle SALT でサポート対象の AsymmetricBinding アサーションの例を示します。このアサーションは WS-Security X.509 Token Profile 1.1 仕様に定義した X.509 V3 バイナリ トークンは、SOAP リクエスト メッセージのデジタル署名のために使用されることおよび X.509 トークンは常に SOAP メッセージ セキュリティ ヘッダに含まれていることを示します。
<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>
セキュリティ トークンがセキュリティ ヘッダにあって、必要に応じて、署名および暗号化する追加のメッセージを含む場合があることを指定します。Oracle SALT では、<sp:AsymmetricBinding> アサーションを使用すると、主にユーザ名トークンをセキュリティ ヘッダにインクルードするために <SupportingToken> アサーションが使用されます。
コード リスト D-4 に、Oracle SALT でサポート対象の SupportingToken アサーションの例を示します。このアサーションは、ユーザ名トークンが常に SOAP リクエスト メッセージに含まれていることを示します。
<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>