Web Services Security は、LTPA (バージョン 1) と LTPA バージョン 2 (LTPA2) の両方のトークンをサポートします。LTPA2 トークンは、
バージョン 1 よりもセキュアであり、JAX-WS ランタイムでのみサポートされます。
トラブルの回避 (Avoid trouble): このトピックでのサポートに関する記述は、
WebSphere® Application Server の Web Services Security
実装に関するものであり、非 Web サービス機能に対するセキュリティー実装には当てはまりません。
gotcha
Lightweight Third Party Authentication (LTPA) トークンは、特定タイプのバイナリー・セキュリティー・トークンです。
WebSphere Application Server バージョン 5 以降
に対する Web Services Security 実装では、LTPA バージョン 1 トークンがサポートされています。WebSphere Application
Server バージョン 7 以降では、JAX-WS ランタイム環境を使用して LTPA バージョン 2 トークンが
サポートされています。
LTPA バージョン 1 と LTPA バージョン 2 の両方のポリシーで同じ LTPAToken アサーション
が使用されますが、バージョン 2 トークンの valuetype 値
はバージョン 1 と異なります。valuetype 値は、URI とローカル名
を組み合わせたものです。次の表に、
ポリシー・セット・バインディングのトークン・タイプとして
選択された場合の、各バージョンの LTPA トークンの valuetype 値を
示します。これらの値を編集することは
できません。
表 1. LTPA トークンのバージョンと valuetype 値. この表は、LTPA (バージョン 1) トークンおよび LTPA2 トークン
両方の valuetype 値を示します。LTPA バージョン・トークン |
Valuetype 値 |
LTPA (バージョン 1) |
http://www.ibm.com/websphere/appserver/tokentype/5.0.2/LTPA |
LTPA2 |
http://www.ibm.com/websphere/appserver/tokentype/LTPAv2 |
異なるバージョンの WebSphere Application Server が稼働しているサーバー間での
相互運用性を確保するため、デフォルトで、バージョン 7.0 以降での JAX-WS Web Services Security ランタイム
は、LTPA2 トークンを予期するようバインディングが構成されている場合に、LTPA バージョン 1 トークンを正常に
コンシュームできます。ただし、JAX-WS ランタイムのバインディングを、
LTPA2 トークンのみを受け入れるように構成することもできます。詳しくは、
『認証ジェネレーターまたはコンシューマーのトークン設定』
を参照してください。
Web Services Security ランタイムは、受信したトークン
の valuetype 値が認識されないものであり、
'1' に等しい mustUnderstand 属性値が SOAP セキュリティー・ヘッダーに
含まれている場合、SOAPFaultException エラーを発行します。mustUnderstand 属性
値が '0' の場合、トークンは無視されます。
mustUnderstand 属性の値が
'1' に等しい LTPA2 トークン
が、LTPA2 トークンがサポートされていない Web Services Security ランタイムに
送信された場合、ランタイムは LTPAv2 valuetype 値を
認識しません。従って、受信するランタイムは、
SOAPFaultException エラーを発行します。以下の表に、
これらのさまざまな構成と発生する可能性のあるエラー・メッセージを示します。
表 2. LTPA トークン構成. この表は、LTPA バージョン 1 トークンがオプションまたは必須のどちらなのか、
関連する mustUnderstand 属性値、およびランタイムを
リストし、結果として SOAPFaultException エラーがある場合はそれを示します。ランタイム |
LTPA バージョン 1 トークン状況 |
MustUnderstand 属性値 |
SOAPFaultException エラー |
JAX-RPC |
必須 |
1 |
com.ibm.wsspi.wssecurity.SoapSecurityException:
WSEC5509E: A security token whose type is
[{http://www.ibm.com/websphere/appserver/tokentype/5.0.2}LTPA]
is required.
|
JAX-RPC |
必須 |
0 |
com.ibm.wsspi.wssecurity.SoapSecurityException:
WSEC5509E: A security token whose type is
[{http://www.ibm.com/websphere/appserver/tokentype/5.0.2}LTPA]
is required.
|
JAX-RPC |
オプション |
1 |
com.ibm.wsspi.wssecurity.SoapSecurityException:
WSEC5502E: Unexpected element as the target element:
s:BinarySecurityToken.
|
JAX-RPC |
オプション |
0 |
なし |
JAX-RPC |
未構成 |
1 |
com.ibm.wsspi.wssecurity.SoapSecurityException:
WSEC5502E: Unexpected element as the target element:
s:BinarySecurityToken.
|
JAX-RPC |
未構成 |
0 |
なし |
JAX-WS (バージョン 6.1 Feature Pack for Web Services) |
未構成 |
1 |
CWWSS5502E: The target element:
s:BinarySecurityToken was not expected.
|
JAX-WS (バージョン 6.1 Feature Pack for Web Services) |
未構成 |
0 |
なし |
JAX-WS (バージョン 6.1 Feature Pack for Web Services) |
構成済み (Configured) |
1 |
CWWSS5509E: A security token whose type is
[{http://www.ibm.com/websphere/appserver/tokentype/5.0.2}LTPA]
is required.
|
JAX-WS (バージョン 6.1 Feature Pack for Web Services) |
構成済み (Configured) |
0 |
CWWSS5509E: A security token whose type is
[{http://www.ibm.com/websphere/appserver/tokentype/5.0.2}LTPA]
is required.
|
LTPA (バージョン 1) トークンまたは LTPA2 トークンのどちらかを生成
するよう JAX-WS ランタイムを構成することができます。ポリシー・バインディングの LTPA トークン生成プログラムを構成して LTPA (バージョン 1) トークンを生成する場合、次のいずれかを実行する必要があります。
- 管理コンソールのシングル・サインオン (SSO) パネルにあるシングル・サインオン・インターオペラビリティー・モードを使用可能にします。
このオプションについて詳しくは、
シングル・サインオン設定についての説明を参照してください。
- LTPA トークン生成プログラムに対して com.ibm.wsspi.wssecurity.tokenGenerator.ltpav1.pre.v7 カスタム・プロパティーを true に設定します。
上記のステップの少なくともいずれか 1 つを実行していない場合、これらのバインディングに関連付けられたアプリケーションを開始するとエラーが発生します。