リファレンス ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

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

以下の節では、SALT WS-SecurityPolicy (WSSP) 1.0 アサーションのリファレンス情報を示します。

 


概要

Oracle SALT では、着信サービスに対して WS-Security プロトコル バージョン 1.0 の一部を実装しています。UsernameToken と X509v3Token による認証がサポートされています。WSDL 定義では、認証方法を説明するには WS-SecurityPolicy 1.0 アサーションが使用されます。Oracle WebLogic 9.x との相互運用性のために、WS-SecuirtyPolicy1.0 仕様 (2002) がサポートされています。

Oracle SALT のサポート対象 WS-SecurityPolicy 1.0 アサーションを以下に示します。

WebLogic 9.x でいくつかの拡張アサーションが使用され、SALT はそれらのサブセットのみ実装します。認証のために X509v3 トークンを使用する場合、整合性アサーションのみ使用されます。署名は、SOAP 本文のメッセージ部にのみ指定できます。

 


SALT WSSP 1.0 ポリシー アサーションの書式

図 E-1 に、WS-Policy ファイルでの Oracle SALT のサポート対象 WS-SecurityPolicy 1.0 アサーションの形式のグラフィカル表現を示します。

図 E-1 SALT のサポート対象 WS-SecurityPolicy 1.0 アサーションの形式

SALT のサポート対象 WS-SecurityPolicy 1.0 アサーションの形式

 


SALT WSSP 1.0 アサーション ファイルの例

コード リスト E-1 に、WSSP 1.0 アサーションによるユーザ名トークン認証を適用する方法を示します。

コード リスト E-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 ポリシーのテンプレート

Oracle SALT には、代表的 Web サービス アプリケーションに使用できるいくつかの WS-SecurityPolicy 1.0 テンプレート ファイルが用意されています。これらのポリシー ファイルは TUXDIR/udataobj/salt/policy ディレクトリにあります。

表 E-1 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 アサーション要素の説明

Oracle SALT では、WebLogic 9.x/10 WS-SecurityPolicy 1.0 アサーションの一部を実装します。WebLogic でサポートされる WSSP 1.0 アサーションのすべての一覧については、http://edocs.bea.com/wls/docs100/webserv_ref/sec_assert.html を参照してください。

<CanonicalizationAlgorithm>

デジタルで署名される SOAP メッセージ要素を標準化するのに使用されるアルゴリズムを指定します。

表 E-2 <CanonicalizationAlgorithm> 属性
属性
説明
必須/省略可能
URI
署名される SOAP メッセージを標準化するために使用されるアルゴリズム。
SALT では、次の標準化するアルゴリズムのみサポートしている。
必須

<Claims>

特定のセキュリティ トークンの型に関連付けられている追加のメタデータ情報を指定します。セキュリティ トークンの型によって、次の子要素を指定する必要があります。

この要素に対する属性はありません。

<DigestAlgorithm>

SOAP メッセージの指定された部分をデジタルで署名する時に使用されたダイジェスト アルゴリズムを指定します。デジタルで署名する SOAP メッセージの部分を指定するには、<MessageParts> 兄弟要素を使用します。

表 E-3 <DigestAlgorithm> 属性
属性
説明
必須/省略可能
URI
SOAP メッセージの指定された部分をデジタルで署名する時に使用されたダイジェスト アルゴリズム。
SALT では、次のダイジェスト アルゴリズムのみサポートしている。
http://www.w3.org/2000/09/xmldsig#sha1
必須

<Identity>

認証のためにサポートされているセキュリティ トークンの型 (ユーザ名または X.509) を指定します。

この要素に対する属性はありません。

<Integrity>

デジタルで署名しなければならない SOAP メッセージ全体またはその一部ならびに SOAP メッセージを署名するために使用されたアルゴリズムとキーを指定します。

たとえば、Web サービスでは、SOAP メッセージ全体がデジタルで署名され、SHA1 を使用したアルゴリズムと RSA キーが受け付けられている必要がある可能性があります。

表 E-4 <Integrity> 属性
属性
説明
必須/省略可能
SignToken
SOAP メッセージの指定された部分に加えて、<Integrity> の <SecurityToken> 子要素を使用して指定したセキュリティ トークンもデジタルで署名する必要があるかどうかを指定する。
この要素に対する有効な値は true または false である。デフォルト値は true である。
省略可能

<MessageParts>

署名しなければならない SOAP メッセージの部分を指定します。SALT では、特定のあらかじめ定義されたメッセージ部分の関数、wsp:Body()、つまりデジタルで署名する全体の SOAP 本文のみサポートします。

MessageParts アサーションは常に <Target> アサーションの子です。<Target> アサーションは、整合性アサーションの子である可能性があります (SOAP メッセージのデジタルで署名する方法を指定するために)。

署名しなければならない SOAP メッセージの部分を指定する方法については、「MessageParts の使用」を参照してください。

表 E-5 <MessageParts> 属性
属性
説明
必須/省略可能
Dialect
署名しなければならない SOAP メッセージの部分を識別するために使用した方言を指定する。
SALT では以下の値のみがサポートされている。
  • http://schemas.xmlsoap.org/2002/12/wsse#part
  • 署名しなければならない SOAP メッセージの部分を指定するために使用する便利な方言。

必須

<SecurityToken>

親要素によって、認証またはデジタル署名に対してサポートされているセキュリティ トークンを指定します。

この要素を <Identity> 親要素に定義すると、クライアント アプリケーションにおいて、Web サービスを呼び出す時に SOAP リクエストにセキュリティ トークンを添付する必要があります。たとえば、Web サービスでは、Web サービスによって Tuxedo サービスにアクセスできるようにクライアント アプリケーションがユーザ名トークンを提示する必要がある可能性があります。この要素は <Integrity> の一部である場合、デジタル署名に対して使用するトークンを指定します。

特定のセキュリティ トークンの型は、TokenType 属性の値と親要素によって決まります。

表 E-6 <SecurityToken> 属性
属性
説明
必須/省略可能
IncludeInMessage
SOAP メッセージにトークンを含むかどうかを指定する。
有効な値は true または false である。
この属性のデフォルト値は <Integrity> アサーションに使用された場合は true である。
この属性のデフォルト値は明示的に false に設定されても <Identity> アサーションに使用された場合は、常に 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>

デジタル署名を計算するために使用された暗号書記法のアルゴリズムを指定します。

表 E-7 <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> 要素の子要素のみで存在できます。

<Target> 親要素に表れた順序で実行した 0 または複数の変換を指定することができます。

表 E-8 <Transform> 属性
属性
説明
必須/省略可能
URI
変換アルゴリズムの URI を指定する。
SALT では、次の変換アルゴリズムのみサポートしている。
  • http://www.w3.org/2000/09/xmldsig#base64 (Base64 のデコード変換)
変換アルゴリズムの詳細については、「XML-署名の構文と処理」を参照。
必須

<UsePassword>

SOAP メッセージにパスワードのプレーンなテキストまたはダイジェストを表示するかどうかを指定します。この要素はユーザ名トークンのみに使用されます。SALT では、プレーンなテキストとして指定する必要があります。

表 E-9 <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> アサーションでは、デジタルで署名しなければならない SOAP メッセージの実際の部分を指定するために <MessageParts> 子アサーションを使用する必要があります。SOAP メッセージの部分を識別するために使用された方言を指定するには <MessageParts>Dialect 属性を使用することができます。Oracle SALT Web サービスのセキュリティ モジュールでは、次の方言のみがサポートされています。

クライアントが message-secured Web サービスを呼び出すように SOAP メッセージ内に実際に存在しているメッセージ部分を指定するようにします。Web サービスのセキュリティ モジュールは、WS-Policy ファイルによりる署名または暗号化される必要がある部分を含まれていない着信 SOAP メッセージを受信すると、そのモジュールはエラーを返し、メッセージを呼び出すことに失敗します。

あらかじめ定義されたメッセージ部分の選択関数

この節では、メッセージ部分を選択するために「http://schemas.xmlsoap.org/2002/12/wsse#part」方言で使用された SALT のサポート対象関数を示します。

表 E-10 SALT のサポート対象メッセージ部分の選択関数
関数
説明
wsp:Body()
部分的に選択する SOAP メッセージ全体を指定する。

署名する SOAP 全体のみ指定することができます。このためには wsp:Body() 関数をあらかじめ定義した方言を使用することをお勧めします。

コード リスト E-2 に、wsp:Body() 関数の例を示します。

コード リスト E-2 wsp:Body() 関数
<wssp:MessageParts
    Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
      wsp:Body()
</wssp:MessageParts>

  ページの先頭       前  次