WebSphere Application Server が使用する Web サービス・セキュリティー・モデルは、
宣言モデルです。
WebSphere Application Server には、Web サービス・セキュリティーとプログラマチックに対話を行うための
アプリケーション・プログラミング・インターフェース (API) は含まれていません。
ただし、一部のセキュリティー関連の振る舞いを拡張するためのいくつかの
サーバー・プロバイダー・インターフェース (SPI) は使用可能です。
重要: バージョン 5.x とバージョン 6
以降のアプリケーションには重要な相違点があります。この資料の情報は、WebSphere Application Server バージョン 6.0.x 以降で使用されるバージョン 5.x アプリケーションのみをサポートしています。この情報は、バージョン 6 以降のアプリケーションには適用されません。
図 1. Web サービス・セキュリティー・モデル
Web サービス・セキュリティーのセキュリティー制約は
、Web サービスの IBM デプロイメント記述子拡張に指定されています。
Web サービス・セキュリティー・ランタイムは、SOAP メッセージの
Web サービス・セキュリティーを実行するための制約に従って処理を行います。
IBM デプロイメント記述子拡張の有効範囲は、エンタープライズ Bean (EJB) または Web モジュール・レベルです。
バインディングは、以下の各 IBM デプロイメント記述子拡張に関連付けられています。
- クライアント (Java 2 Platform, Enterprise Edition (J2EE) クライアント
(アプリケーション・クライアント・コンテナー) またはクライアントとして機能する Web サービスのいずれか)
- ibm-webservicesclient-ext.xmi
- ibm-webservicesclient-bnd.xmi
- サーバー
- ibm-webservices-ext.xmi
- ibm-webservices-bnd.xmi
IBM デプロイメント記述子拡張とバインディングを作成する場合は、
IBM が提供するアセンブリー・ツールを使用することをお勧めします。
バインディングを作成した後、
管理コンソールまたはアセンブリー・ツールを使用してバインディングを指定できます。
重要: バインディング情報は、アプリケーションをデプロイしているときではなく、
アプリケーションをデプロイした後に収集されます。
別の方法として、アプリケーションをデプロイする前に必要なバインディング情報を指定することもできます。
図 2. Web サービス・セキュリティー・メッセージの解釈
Web サービス・セキュリティー・ランタイムは、
デプロイメント記述子とバインディング・ファイル内の定義済みセキュリティー制約に基づいて
、Web サービス・セキュリティーを施行します。
Web サービス・セキュリティーには以下の 4 つのポイントがあります。
Web サービス・セキュリティーは、これらのポイントでメッセージをインターセプトし、
定義済みセキュリティー制約に従って処理を行います。
メッセージ・ポイント |
説明 |
要求送信側 (ibm-webservicesclient-ext.xmi および ibm-webservicesclient-bnd.xmi ファイルで定義) |
- メッセージを送信する前に、
適切なセキュリティー制約 (署名または暗号化など) を SOAP メッセージに適用し、
タイム・スタンプまたは必要なセキュリティー・トークンを生成します。
|
要求受信側 (ibm-webservices-ext.xmi および ibm-webservices-bnd.xmi ファイルで定義) |
- Web サービス・セキュリティー制約を満たしていることを確認します。
- タイム・スタンプに基づいてメッセージの新鮮度を検査します。
メッセージの最新度によって、そのメッセージが事前定義された時間の制約に準拠しているかどうかが示されます。
- 必要なシグニチャーを検査します。
- メッセージが暗号化されていることを確認し、暗号化されている場合には暗号化解除します。
- セキュリティー・トークンを検証し、
ダウンストリーム呼び出し用のセキュリティー・コンテキストをセットアップします。
|
応答送信側 (ibm-webservices-ext.xmi および ibm-webservices-bnd.xmi ファイルで定義) |
- メッセージへの署名、メッセージの暗号化、またはタイム・スタンプの生成と同じように、
適切なセキュリティー制約を SOAP メッセージの応答に適用します。
|
応答受信側 (ibm-webservicesclient-ext.xmi または ibm-webservicesclient-bnd.xmi ファイルに定義) |
- Web サービス・セキュリティー制約を満たしていることを確認します。
- タイム・スタンプに基づいてメッセージの新鮮度を検査します。
メッセージの最新度によって、そのメッセージが事前定義された時間の制約に準拠しているかどうかが示されます。
- 必要なシグニチャーを検査します。
- メッセージが暗号化されていることを確認し、暗号化されている場合には暗号化解除します。
|