サーバーまたはセル・レベルのトークン・コンシューマーは、セキュリティー・トークンを処理するために必要な情報がアプリケーション・レベルで定義されていない場合に、これを指定するために使用されます。
このタスクについて
ベスト・プラクティス: WebSphere Application Server Version
6.1 Feature Pack for Web Services は、本製品の機能を拡張して、Java API for XML-Based Web Services (JAX-WS) 2.0 の
プログラミング・モデルを導入できるようにします。
JAX-WS は、次世代の Web サービス・プログラミング・モデルであり、
Java API for XML-based RPC (JAX-RPC) プログラミング・モデルが提供する
基盤を提供します。戦略的 JAX-WS プログラミング・モデルを使用すると、
標準ベースの注釈モデルのサポートによって、Web サービスおよび Web クライアントの開発が
容易になります。
JAX-RPC プログラミング・モデルとアプリケーションは
引き続きサポートされますが、Web サービス・アプリケーションおよびクライアントを
新規に開発する場合は、
実装が容易な JAX-WS プログラミング・モデルをご利用ください。bprac
WebSphere Application Server には、バインディングのデフォルト値が用意されています。
ユーザーは実稼働環境用にデフォルトを変更する必要があります。
トークン・コンシューマーは、サーバー・レベルおよびセル・レベルで構成できます。
以下のステップでは、最初のステップでサーバー・レベルのデフォルト・バインディングにアクセスし、
第 2 ステップでセル・レベルのバインディングにアクセスします。
プロシージャー
- サーバー・レベルのデフォルト・バインディングにアクセスします。
- 「サーバー」>「アプリケーション・サーバー」>「server_name」とクリックします。
- 「セキュリティー」の下の「Web サービス:
Web サービス・セキュリティーのデフォルト・バインディング」をクリックします。
- 「セキュリティー」>「Web サービス」とクリックして、
セル・レベルのデフォルト・バインディングにアクセスします。
- 「デフォルト・コンシューマー・バインディング」の下の「トークン・コンシューマー」をクリックします。
- 「新規」をクリックしてトークン・コンシューマー構成を作成するか、「削除」をクリックして
既存の構成を削除するか、または、既存のトークン・コンシューマー構成の名前をクリックして、その設定を編集します。
新規構成を作成する場合は、
「トークン・コンシューマー名」フィールドにそのトークン・コンシューマー構成の固有の名前を入力します。
例えば、sig_tcon と指定します。このフィールドは、トークン・コンシューマー・エレメントの名前を指定します。
- 「トークン・コンシューマー・クラス名」フィールドでクラス名を指定します。
トークン・コンシューマー・クラスは、
com.ibm.wsspi.wssecurity.token.TokenConsumerComponent インターフェースを
実装する必要があります。Java
Authentication and Authorization Service (JAAS) ログイン・モジュール実装は、
コンシューマー側のセキュリティー・トークンの検証 (認証) に使用されます。トークン・コンシューマー・クラス名は、
トークン・ジェネレーター・クラス名と類似している必要があります。
例えば、アプリケーションが X.509 証明書トークン・コンシューマーを必要とする場合、
「Token generator」パネルで com.ibm.wsspi.wssecurity.token.X509TokenGenerator クラス名を、
このフィールドで com.ibm.wsspi.wssecurity.token.X509TokenConsumer クラス名を指定することができます。
WebSphere Application Server は、以下のデフォルトのトークン・コンシューマー・クラス・インプリメンテーションを提供します。
- com.ibm.wsspi.wssecurity.token.UsernameTokenConsumer
- このインプリメンテーションは、ユーザー名トークンを統合します。
- com.ibm.wsspi.wssecurity.token.X509TokenConsumer
- このインプリメンテーションは、X.509 証明書トークンを統合します。
- com.ibm.wsspi.wssecurity.token.LTPATokenConsumer
- このインプリメンテーションは、Lightweight Third Party Authentication (LTPA) トークンを統合します。
- com.ibm.wsspi.wssecurity.token.IDAssertionUsernameTokenConsumer
- このインプリメンテーションは、IDAssertionUsername トークンを統合します。
このインプリメンテーション用の、対応するトークン・ジェネレーター・クラスは存在しません。
- 証明書パス・オプションを選択します。
証明書パスは、証明書失効リスト (CRL) とともに PKCS#7 内にラップされたセキュリティー・トークンの生成に使用される、
CRL を指定します。
WebSphere Application Server には、以下の証明書パス・オプションが用意されています。
- なし
- このオプションを選択した場合、証明書パスは指定されません。
- すべてを信頼
- このオプションを選択した場合は、すべての証明書が信頼されます。
受け取ったトークンが消費されるとき、証明書パスの妥当性検査は行われません。
- 専用署名情報
- このオプションを選択した場合は、トラスト・アンカーおよび証明書ストアを指定することができます。
トラステッド証明書のトラスト・アンカーまたは証明書ストアを選択した場合、
証明書パスを設定する前にコレクション証明書ストアを構成する必要があります。
サーバーまたはセル・レベルでコレクション証明書ストアを定義するには、
サーバー・レベルまたはセル・レベルでのコレクション証明書の構成
を参照してください。
- 「Trust anchor」フィールドでトラスト・アンカーを選択します。
WebSphere Application Server には、2 つのサンプル・トラスト・アンカーが用意されています。
ただし、実稼働環境用に独自のトラスト・アンカーを構成することをお勧めします。
トラスト・アンカーの構成に関する詳細については、
サーバー・レベルまたはセル・レベルのトラスト・アンカーの構成
を参照してください。
- 「証明書ストア」フィールドでコレクション証明書ストアを選択します。
WebSphere Application Server には、サンプル・コレクション証明書ストアが用意されています。
「なし」を選択する場合、コレクション証明書ストアは指定されません。
妥当性検査を待つ、信頼されていない中間証明書ファイルを含む証明書ストアのリストの指定に関する詳細については、
サーバーまたはセル・レベルでのトラステッド ID エバリュエーターの構成
を参照してください。
- 「Trusted ID evaluation reference」フィールドからトラステッド ID エバリュエーターを選択します。
このフィールドは、
「トラステッド ID エバリュエーター」パネルで定義されるトラステッド ID エバリュエーター・クラス名の参照を指定します。
トラステッド ID エバリュエーターは、受け取った ID が信頼できるかどうかを評価するために使用されます。
「なし」を選択した場合、トラステッド ID エバリュエーターはこのトークン・コンシューマー構成で参照されません。
トラステッド ID エバリュエーターを構成する場合は、サーバーまたはセル・レベルでのトラステッド ID エバリュエーターの構成
を参照してください。
- ジェネレーター側でユーザー名トークンに nonce が含まれている場合、
「nonce の検査」オプションを選択します。
nonce はメッセージに組み込まれた固有の暗号数値であり、
ユーザー名トークンの、繰り返される未許可の攻撃を防ぐのに役立ちます。
トークン・コンシューマーのユーザー名トークンを指定し、ジェネレーター側でユーザー名トークンに nonce が追加されている場合、
「nonce の検査」オプションが使用可能になります。
- ジェネレーター側でユーザー名トークンにタイム・スタンプが含まれている場合、「タイム・スタンプの検査」オプションを選択します。
トークン・コンシューマーのユーザー名トークンを指定し、
ジェネレーター側でユーザー名トークンにタイム・スタンプが追加されている場合、
「タイム・スタンプの検査」オプションが使用可能になります。
- 統合されたトークンの値タイプのローカル名を指定します。
この項目は、鍵 ID によって参照されるセキュリティー・トークンの値タイプのローカル名を指定します。
この属性は、「鍵 ID」が鍵情報タイプとして選択されている場合に有効です。
鍵情報タイプを指定するには、
サーバーまたはセル・レベルでのコンシューマー・バインディングの鍵情報の構成
を参照してください。
WebSphere Application Server には、
ユーザー名トークンおよび X.509 証明書セキュリティー・トークン用の事前定義値タイプのローカル名があります。
ユーザー名トークンおよび X.509 証明書セキュリティー・トークンの、
以下のローカル名のいずれかを入力します。
以下のローカル名を指定する場合、値タイプの URI を指定する必要はありません。
- ユーザー名トークン
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
- X.509 証明書トークン
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3
- PKIPath 内の X.509 証明書
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1
- PKCS#7 内の X.509 証明書および CRL のリスト
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7
注: Lightweight Third Party Authentication (LTPA) またはトークンの伝搬 (LTPA_PROPAGATION) を指定するには、
値タイプのローカル名と URI の両方を指定する必要があります。
LTPA の場合は、ローカル名に LTPA を、URI に
http://www.ibm.com/websphere/appserver/tokentype/5.0.2 を指定します。
LTPA トークンの伝搬の場合は、ローカル名に LTPA_PROPAGATION を、URI に http://www.ibm.com/websphere/appserver/tokentype を指定します。
例えば、X.509 証明書トークンが指定される場合、
ローカル名に http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 を使用することができます。
別のトークンのローカル名を指定する場合、値タイプ Qname を指定する必要があります。
例えば、uri=http://www.ibm.com/custom,
localName=CustomToken のようになります。
- 「URI」フィールドで値タイプの URI を指定します。
この項目は、鍵 ID によって参照されるセキュリティー・トークンの値タイプのネーム・スペース URI を指定します。
この属性は、デフォルトのジェネレーターの「鍵情報」パネルで、
鍵情報タイプとして「鍵 ID」が選択されている場合に有効です。
ユーザー名トークンまたは X.509 証明書セキュリティー・トークンのトークン・コンシューマーを指定する場合、
このオプションを指定する必要はありません。
別のトークンを指定する場合、値タイプの QName の URI を指定する必要があります。
- 「OK」をクリックしてから「保管」をクリックして、構成を保管します。
トークン・ジェネレーター構成を保管した後、トークン・コンシューマーの JAAS 構成を
指定することができます。
- トークン・ジェネレーター構成の名前をクリックします。
- 「追加プロパティー」の下の「JAAS 構成」をクリックします。
- 「JAAS configuration name」フィールドで JAAS 構成を選択します。
このフィールドは、アプリケーション・ログイン構成の JAAS システムの名前を指定します。
「セキュリティー」>「管理、アプリケーション、およびインフラストラクチャーの保護」とクリックして、
追加の JAAS システムおよびアプリケーション構成を指定することができます。「Java Authentication and Authorization Service」を展開し、
「アプリケーション・ログイン」>「新規」とクリックするか、
または「システム・ログイン」>「新規」とクリックします。
JAAS 構成について詳しくは、JAAS 構成の設定
を参照してください。
事前定義システムまたはアプリケーション・ログイン構成は除去しないでください。
ただし、これらの構成内では、モジュール・クラス名の追加、
および WebSphere Application Server が各モジュールをロードする順序の指定を行うことができます。
WebSphere Application Server には、以下の事前定義 JAAS 構成が用意されています。
- ClientContainer
- この選択は、クライアント・コンテナー・アプリケーションが使用するログイン構成を指定します。
この構成は、クライアント・コンテナー用のデプロイメント記述子で定義される
CallbackHandler アプリケーション・プログラミング・インターフェース (API) を使用します。
この構成を変更する場合は、アプリケーション・ログインの JAAS 構成パネルを参照してください。
- WSLogin
- この選択は、すべてのアプリケーションが、セキュリティー・ランタイムの認証を実行するために、
WSLogin 構成を使用できるかどうかを指定します。
この構成を変更する場合は、アプリケーション・ログインの JAAS 構成パネルを参照してください。
- DefaultPrincipalMapping
- この選択は、J2C 認証データ・エントリーに定義されたプリンシパルにユーザーをマップするために
Java 2 Connectors (J2C) が使用するログイン構成を指定します。
この構成を変更する場合は、アプリケーション・ログインの JAAS 構成パネルを参照してください。
- system.LTPA_WEB
- この選択により、サーブレットや JavaServer Pages (JSP) ファイルなどの Web コンテナーによって使用されるログイン要求が処理されます。
この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.X509BST
- この選択は、証明書および証明書パスの妥当性を検査することによって、X.509 バイナリー・セキュリティー・トークン (BST) を検査します。
この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.PKCS7
- この選択は、PKCS7 オブジェクトの証明書失効リストで、X.509 証明書を検査します。
この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.PkiPath
- この選択は、Public Key Infrastructure (PKI) パスで X.509 証明書を検査します。
この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.UsernameToken
- この選択は、基本認証 (ユーザー名およびパスワード) データを検査します。
この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.IDAssertionUsernameToken
- これを選択すると、バージョン 6 以降のアプリケーションは、ID アサーションを使用して
ユーザー名を WebSphere Application Server クレデンシャル・プリンシパルにマップできるようになります。
この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.WSS_INBOUND
- この選択では、Web
サービス・セキュリティーを使用したセキュリティー・トークンの伝搬用のインバウンドまたはコンシューマー要求のログイン構成を指定します。
この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.WSS_OUTBOUND
- この選択では、Web
サービス・セキュリティーを使用したセキュリティー・トークンの伝搬用のアウトバウンドまたはジェネレーター要求のログイン構成を指定します。
この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- なし
- これを選択する場合、JAAS ログイン構成は指定しません。
- 「OK」をクリックしてから「保管」をクリックして、構成を保管します。
結果
サーバー・レベルまたはセル・レベルのトークン・コンシューマーが構成されました。
次の作業
サーバー・レベルまたはセル・レベルに対して同様のトークン・ジェネレーター構成を指定する必要があります。