デフォルト・バインディング情報は、ws-security.xml ファイルで定義されており、
管理コンソールまたはスクリプトのいずれでも管理できます。
重要: バージョン 5.x とバージョン 6
以降のアプリケーションには重要な相違点があります。この資料の情報は、WebSphere Application Server バージョン 6.0.x 以降で使用されるバージョン 5.x アプリケーションのみをサポートしています。この情報は、バージョン
6 以降のアプリケーションには適用されません。
特定のアプリケーションは、特定のバインディング情報を共用できます。
この情報には、トラストストア、鍵ストア、および認証メソッド (トークンの検証) が含まれています。
WebSphere Application Server は、デフォルト・バインディング情報をサポートします。
管理者は以下でバインディング情報を定義することができます。
アプリケーションはこのバインディング情報を参照することができます。
次のバインディング情報を ws-security.xml ファイルで定義できます。
- トラスト・アンカー (トラストストア)
- トラスト・アンカー には、ルート・トラステッド証明書を持つ鍵ストア構成情報が含まれています。
トラスト・アンカーは、
X.509 形式の着信セキュリティー・トークンの証明書パス検証のために使用されます。
- トラスト・アンカー名は、デフォルト・バインディング情報で定義されたトラスト・アンカーを参照するバインディング・ファイル (ibm-webservices-bnd.xmi。Web サービスがクライアントとして実行されている場合は ibm-webservicesclient-bnd-xmi) で使用されます。
トラスト・アンカー名は、トラスト・アンカー・コレクション内で固有でなければなりません。
- コレクション証明書ストア
- コレクション証明書ストア は、信頼されない中間証明書のリストを指定し
、X.509 形式の着信セキュリティー・トークンの証明書パス検証のために使用されます。
デフォルトのプロバイダーは IBMCertPath です。
- 証明書ストア名は、デフォルト・バインディング情報で定義された証明書を参照するバインディング・ファイル (ibm-webservices-bnd.xmi。Web サービスがクライアントとして実行されている場合は ibm-webservicesclient-bnd-xmi) で使用されます。
証明書ストア名は、コレクション証明書ストアのコレクションに対して固有でなければなりません。
- 鍵ロケーター
- 鍵ロケーター は、com.ibm.wsspi.wssecurity.config.KeyLocator インターフェースのインプリメンテーションを指定します。
このインターフェースは、シグニチャーまたは暗号化の鍵を検索するために使用されます。
顧客のインプリメンテーションにより、
その他のメソッドを使用して鍵を検索するように鍵ロケーター・インターフェースを拡張できます。
WebSphere Application Server は、鍵ストアから鍵を検索したり、
認証された ID を鍵ストア内の鍵にマップしたり、
署名者証明書から鍵を検索したりするインプリメンテーションを提供します (マッピングおよび検索のアクションは、
応答の暗号化に使用されます)。
- 鍵ロケーター名は、デフォルト・バインディング情報で定義された鍵ロケーターを参照するバインディング・ファイル (ibm-webservices-bnd.xmi。Web サービスがクライアントとして実行されている場合は ibm-webservicesclient-bnd-xmi) で使用されます。
鍵ロケーター名は、デフォルト・バインディング情報内の鍵ロケーター・コレクションに対して固有でなければなりません。
- トラステッド ID エバリュエーター
- トラステッド ID エバリュエーター は、com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator
インターフェースのインプリメンテーションです。
このインターフェースを使用して、識別子 (ID) を表明する権限が信頼されていることを確認します。
さらに、トラステッド ID エバリュエーターを拡張して、トラストを検証することができます。
WebSphere Application Server は、
事前定義された ID のリストに基づいてトラストを検証するための、デフォルトのインプリメンテーションを提供します。
- トラステッド ID エバリュエーター名は、デフォルト・バインディング情報で定義されたトラステッド ID エバリュエーターを参照するバインディング・ファイル (ibm-webservices-bnd.xmi) で使用されます。
トラステッド ID エバリュエーター名は、トラステッド ID エバリュエーター・コレクションに対して固有でなければなりません。
- ログイン・マッピング
- ログイン・マッピング は、
Java Authentication and Authorization Service (JAAS) ログイン構成への認証メソッドのマッピングを定義します。
このマッピングを使用して、Web サービス・セキュリティーの SOAP メッセージ・ヘッダーに組み込まれた着信セキュリティー・トークンを認証します。
JAAS ログイン構成は、管理コンソールで定義します (「セキュリティー」>「セキュア管理、アプリケーション、およびインフラストラクチャー」>「Java Authentication and Authorization Service」>「アプリケーション・ログイン」と選択)。
- WebSphere Application Server は以下の認証メソッドを定義します。
- BasicAuth
- ユーザー名とパスワードを認証します。
- Signature
- 証明書内のサブジェクトの識別名 (DN) を WebSphere Application Server のクレデンシャルにマップします。
- IDAssertion
- ID を WebSphere Application Server のクレデンシャルにマップします。
- LTPA
- Lightweight Third Party Authentication (LTPA) トークンを認証します。
ID が認証されると、関連したクレデンシャルがダウンストリーム・コールで使用されます。
- カスタム JAAS ログイン構成を提供し、
WebSphere Application Server で必要なプリンシパルとクレデンシャルを作成するための com.ibm.wsspi.wssecurity.auth.module.WSSecurityMappingModule を使用することにより、このメソッドを拡張して、カスタム・セキュリティー・トークンを認証することができます。
- LoginConfig
(AuthMethod) が IBM 拡張デプロイメント記述子 (ibm-webservices-ext.xmi) で定義されているのに、
AuthMethod に対してログイン・マッピング・バインディング (ibm-webservices-bnd.xmi) が定義されていない場合、
Web サービス・セキュリティー・ランタイムはデフォルト・バインディング情報で定義されているログイン・マッピングを使用します。
WebSphere Application Server
WebSphere Application
Server では、各サーバーに
ws-security.xml ファイル
(Web サービス・セキュリティーのデフォルト・バインディング情報が含まれています) のコピーがあります。
ws-security.xml ファイルのセル・レベルのコピーはありません。
このファイルは、WebSphere Application Server Network Deployment インストールでのみ使用可能です。
管理コンソール内のサーバー・レベルのデフォルト・バインディングにナビゲートするには、
以下のステップを実行します。
- 「サーバー」>「アプリケーション・サーバー」>「server1」をクリックします。
- 「セキュリティー」の下の「Web Services:
Default bindings for Web Services Security」をクリックします。
図 1. Web サービス・セキュリティーのアプリケーション・レベルのバインディングとサーバー・レベルのデフォルト・バインディング情報
Web サービス・セキュリティー・ランタイムは、
バインディング情報がアプリケーション・レベルのバインディング・ファイルに定義されている場合は、
アプリケーションの Enterprise JavaBeans (EJB) モジュールまたは Web モジュール・バインディング・ファイル (ibm-webservices-bnd.xmi または Web サービスがサーバー上でクライアントとして機能している場合は ibm-webservicesclient-bnd.xmi) 内のバインディング情報を使用します。
例えば、鍵ロケーター K1 がアプリケーション・レベルのバインディング・ファイルとデフォルト・バインディング・ファイル (ws-security.xml) の両方に定義されている場合は、
アプリケーション・レベルのバインディング・ファイル内の K1 が使用されます。