目次 前 次 PDF


SALT WS-SecurityPolicyアサーション1.0のリファレンス

SALT WS-SecurityPolicyアサーション1.0のリファレンス
以下の項では、SALT WS-SecurityPolicy (WSSP) 1.0アサーションのリファレンス情報を示します。
概要
SALTでは、着信サービスに対してWS-Securityプロトコル・バージョン1.0の一部を実装しています。UsernameTokenとX509v3Tokenによる認証がサポートされています。WSDL定義では、認証方法を説明するにはWS-SecurityPolicy 1.0アサーションが使用されます。Oracle WebLogic 9.xとの相互運用性のために、WS-SecuirtyPolicy1.0仕様(2002)がサポートされています。
次に、SALTのサポート対象WS-SecurityPolicy 1.0アサーションをすべて示します。
SecurityTokenアサーション:
UsernameTokenアサーションとX509Tokenアサーション
整合性アサーション
IDアサーション
WebLogic 9.xでいくつかの拡張アサーションが使用され、SALTはそれらのサブセットのみ実装します。認証のためにX509v3トークンを使用する場合、整合性アサーションのみ使用されます。署名は、SOAP本文のメッセージ部にのみ指定できます。
SALT WSSP 1.0ポリシー・アサーションの書式
図F-1には、WS-PolicyファイルでのSALTのサポート対象WS-SecurityPolicy 1.0アサーションの書式のグラフィカルな表現を示します。
図F-1 SALTのサポート対象WS-SecurityPolicy 1.0アサーションの書式
SALT WSSP 1.0アサーション・ファイルの例
リストF-1には、WSSP 1.0アサーションによるユーザー名トークン認証を適用する方法を示します。
リストF-1 WSSP 1.0ポリシー・ファイルのサンプル
<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
  xmlns:wssp="http://www.bea.com/WLS/security/policy"
  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <wssp:Identity>
    <wssp:SupportedTokens>
      <wssp:SecurityToken             TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken">
        <wssp:Claims>
          <wssp:UsePassword>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText</wssp:UsePassword>
        </wssp:Claims>
      </wssp:SecurityToken>
    </wssp:SupportedTokens>
  </wssp:Identity>
</wsp:Policy>
 
SALT WSSP 1.0ポリシーのテンプレート
SALTには、代表的Webサービス・アプリケーションに使用できるいくつかのWS-SecurityPolicy 1.0テンプレート・ファイルが用意されています。これらのポリシー・ファイルはTUXDIR/udataobj/salt/policyディレクトリにあります。
 
SALT WSSP 1.0ポリシーのテンプレート・ファイル
ポリシー・ファイル
説明
wssp1.0-UsernameToken-plain-auth.xml
ユーザー名トークンとプレーンなテキスト・パスワードが認証リクエストで送信されます。
wssp1.0-x509v3-auth.xml
X509 V3バイナリ・トークン(証明書)は認証リクエストで送信されます。必要に応じて、リクエストは、リクエスト中のいくつかのメッセージ部で署名されます。
wssp1.0-signbody.xml
すべてのSOAP本文が署名されます。
これらのテンプレート・ファイルは以下の場所値の形式でWSDFファイルで直接参照することができます。
salt:<template_file_name>
たとえば、signbodyを構成する場合は、WSDFファイルに次のsignbodyを指定することができます。
<Policy location=”salt:wssp1.0-signbody.xml” />
SALT WSSP 1.0アサーション要素の説明
SALTでは、WebLogic 12.x/10 WS-SecurityPolicy 1.0アサーションの一部を実装します。WebLogicでサポートされるWSSP 1.0アサーションの一覧は、http://docs.oracle.com/middleware/1212/wls/WSREF/sec_assert.htm#g1077013を参照してください
<CanonicalizationAlgorithm>
デジタルで署名されるSOAPメッセージ要素を標準化するのに使用されるアルゴリズムを指定します。
 
<CanonicalizationAlgorithm>属性
属性
説明
必須かどうか
URI
署名されるSOAPメッセージを標準化するために使用されるアルゴリズム。
SALTでは、次の標準化するアルゴリズムのみサポートしています。
あり
 
<Claims>
特定のセキュリティ・トークンの型に関連付けられている追加のメタデータ情報を指定します。セキュリティ・トークンの型によって、次の子要素を指定する必要があります。
ユーザー名トークンについて、ユーザー名を認証するために使用するパスワードの種類を指定するには、<UsePassword>子要素を指定する必要があります。
この要素に対する属性はありません。
<DigestAlgorithm>
SOAPメッセージの指定部分にデジタル署名する際に使用するダイジェスト・アルゴリズムを指定します。デジタル署名するSOAPメッセージの一部を指定するには、<MessageParts>兄弟要素を使用します。
 
<DigestAlgorithm>属性
属性
説明
必須かどうか
URI
SOAPメッセージの指定された部分をデジタルで署名する時に使用されたダイジェスト・アルゴリズム。
SALTでは、次のダイジェスト・アルゴリズムのみサポートしています。
http://www.w3.org/2000/09/xmldsig#sha1
あり
<Identity>
認証のためにサポートされているセキュリティ・トークンの型(ユーザー名またはX.509)を指定します。
この要素に対する属性はありません。
<Integrity>
デジタルで署名しなければならないSOAPメッセージ全体またはその一部ならびにSOAPメッセージを署名するために使用されたアルゴリズムとキーを指定します。
たとえば、Webサービスでは、SOAPメッセージ全体がデジタルで署名され、SHA1を使用したアルゴリズムとRSAキーが受け付けられている必要がある可能性があります。
 
<Integrity>属性
属性
説明
必須かどうか
SignToken
SOAPメッセージの指定部分に加え、<Integrity>の<SecurityToken>子要素で指定したセキュリティ・トークンにもデジタル署名するかどうかを指定します。
この属性に対する有効な値はtrueまたはfalseです。デフォルト値はtrueです。
いいえ
<MessageParts>
署名しなければならないSOAPメッセージの部分を指定します。SALTでは、特定のあらかじめ定義されたメッセージ部分の関数、wsp:Body()、つまりデジタルで署名する全体のSOAP本文のみサポートします。
MessagePartsアサーションは常に、<Target>アサーションの子となります。<Target>アサーションは、(SOAPメッセージをデジタルで署名する方法を指定するための)整合性アサーションの子である可能性があります。
署名する必要があるSOAPメッセージの部分を指定する方法の詳細は、「?$paratext>?」を参照してください。
 
<MessageParts>属性
属性
説明
必須かどうか
Dialect
署名しなければならないSOAPメッセージの部分を識別するために使用した方言を指定します。
SALTでは以下の値のみがサポートされています。
http://schemas.xmlsoap.org/2002/12/wsse#part
署名しなければならないSOAPメッセージの部分を指定するために使用する便利な方言。
あり
<SecurityToken>
親要素によって、認証またはデジタル署名に対してサポートされているセキュリティ・トークンを指定します。
この要素を<Identity>親要素に定義すると、クライアント・アプリケーションにおいて、Webサービスを呼び出すときにSOAPリクエストにセキュリティ・トークンを添付する必要があります。たとえば、Webサービスでは、WebサービスによってTuxedoサービスにアクセスできるようにクライアント・アプリケーションがユーザー名トークンを提示する必要がある可能性があります。この要素が<Integrity>の一部である場合、デジタル署名に対して使用するトークンを指定します。
特定のセキュリティ・トークンの型は、TokenType属性の値と親要素によって決まります。
 
<SecurityToken>属性
属性
説明
必須かどうか
IncludeInMessage
SOAPメッセージにトークンを含むかどうかを指定します。
有効な値はtrueまたはfalseです。
<Integrity>アサーションで使用される場合、この属性のデフォルト値はtrueです。
この属性の値は、<Identity>アサーションで使用する場合は、明示的にfalseに設定したとしても、常にtrueです。
いいえ
TokenType
セキュリティ・トークンの型を指定します。有効な値は次のとおりです:
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 (バイナリX.509 v3トークンを指定)
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken (ユーザー名トークンの指定用)
あり
<SignatureAlgorithm>
デジタル署名を計算するために使用された暗号書記法のアルゴリズムを指定します。
 
<SignatureAlgorithm>属性
属性
説明
必須かどうか
URI
署名を計算するために使用された暗号書記法のアルゴリズムを指定します。
注意:
企業において使用する証明書と互換性のあるアルゴリズムが指定されていることを確認すること。
有効な値は次のとおりです。
http://www.w3.org/2000/09/xmldsig#rsa-sha1
http://www.w3.org/2000/09/xmldsig#dsa-sha1
あり
<SupportedTokens>
親要素によって、認証またはデジタル署名に対して使用できるサポートされているセキュリティ・トークンのリストを指定します。
この要素に対する属性はありません。
<Target>
SOAPメッセージの署名するターゲットについての情報をカプセル化します。<Integrity>で使用する場合は、<DigestAlgorithm><Transform>および<MessageParts>子要素を指定できます。
理想的に、1つまたは複数のターゲットが含めることができます。ただし、SALTにはデジタル署名に対して構成するSOAP全体のみをサポートしているので、最大で1つのターゲットが必要となります。
この要素に対する属性はありません。
<Transform>
署名されたSOAPメッセージの部分に適用する変換アルゴリズムのURIを指定します。<Integrity>要素の子要素のみで存在できます。
0個以上の任意の数のトランスフォーメーションを指定できます。指定したトランスフォーメーションは、<Target>親要素で指定されている順序で実行されます。
 
<Transform>属性
属性
説明
必須かどうか
URI
変換アルゴリズムのURIを指定します。
SALTでは、次の変換アルゴリズムのみサポートしています。
http://www.w3.org/2000/09/xmldsig#base64 (Base64デコード変換)
これらの変換アルゴリズムの詳細は、「XML-Signature Syntax and Processing」を参照してください。
あり
<UsePassword>
SOAPメッセージにパスワードのプレーンなテキストまたはダイジェストを表示するかどうかを指定します。この要素はユーザー名トークンのみに使用されます。SALTでは、プレーンなテキストとして指定する必要があります。
 
<UsePassword>属性
属性
説明
必須かどうか
Type
パスワードのタイプを指定する。SALTでは、クリア・テキスト・パスワードのみサポートされている。URIの値は次のとおりです。
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
SOAPメッセージでクリア・テキスト・パスワードを使用する必要があることを指定します。
注意:
下位互換性のため、前のURIには最初に「www」を指定することも可能です。例:
http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
あり
MessagePartsの使用方法
WS-Policyファイル内で<Integrity>アサーションを使用すると、デジタルで署名するSOAPメッセージのターゲットを指定するには、Targetの子アサーションも使用する必要があります。<Target>アサーションでは、デジタルで署名する必要があるSOAPメッセージの実際の部分を指定するために<MessageParts>子アサーションを使用する必要があります。SOAPメッセージの部分を識別するために使用する方言を指定するには、<MessageParts>Dialect属性を使用できます。SALT Webサービスのセキュリティ・モジュールでは、次の言語のみがサポートされています。
クライアントがmessage-secured Webサービスを呼び出すようにSOAPメッセージ内に実際に存在しているメッセージ部分を指定するようにします。Webサービスのセキュリティ・モジュールは、WS-Policyファイルによりる署名または暗号化される必要がある部分を含まれていない着信SOAPメッセージを受信すると、そのモジュールはエラーを返し、メッセージを呼び出すことに失敗します。
あらかじめ定義されたメッセージ部分の選択関数
この項では、メッセージ部分を選択するためにhttp://schemas.xmlsoap.org/2002/12/wsse#part方言で使用されたSALTのサポート対象関数を示します。
 
SALTのサポート対象メッセージ部分の選択関数
関数
説明
wsp:Body()
部分的に選択するSOAPメッセージ全体を指定します。
署名するSOAP全体のみ指定することができます。このためにはwsp:Body()関数をあらかじめ定義した方言を使用することをお薦めします。
リストF-2には、wsp:Body()関数の例を示します。
リストF-2 wsp:Body()関数
<wssp:MessageParts
    Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
      wsp:Body()
</wssp:MessageParts>
 
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved