WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化
             New or updated topic for this feature pack

Web サービス・セキュリティー API プログラミング・モデル

WebSphere Application Server のプログラミング・モデルは、SOAP メッセージを保護するために Web サービス・セキュリティー・プログラミング・アプリケーション・プログラミング・インターフェース (WSS API) を提供しています。

API プログラミング・モデルの設計は再設計されました。新しい設計は、インターフェース・ベースのプログラミング・モデルで、Web サービス・セキュリティー・バージョン 1.1 標準に基づいていますが、この設計には SOAP メッセージを保護するために Web サービス・セキュリティー・バージョン 1.0 のサポートも含まれています。WSS API プログラミング・モデルの実装は簡素化されたバージョンで、これは Web サービス・セキュリティー用の Java API バインディングを定義するための JSR である JSR-183 の初期ドラフト提案に基づいています。 設計によって、インターフェースに対してアプリケーション・コードがプログラムされるので、オープン・ソース実装によりプログラムされたすべてのアプリケーション・コードは最小の変更または全く変更なしで WebSphere Application Server 上で実行できます。

2 つの異なる Web サービス・セキュリティー・ランタイムに加えて、WebSphere Application Server バージョン 6.1 と Feature Pack for Web Services の違いには、他に以下のものがあります。

また、Web サービスの構成モデルは、デプロイメント記述子モデルからポリシー・セット・モデルへと再設計されました。Web サービス・セキュリティーは、管理コンソールを使用して構成されたポリシー・セットか、構成用の WSS API を使用して使用可能にできます。 ポリシー・セット構成により提供される機能は、Web サービス・セキュリティー・ランタイムの WSS API によりサポートされている機能と同じです。 ただし、ポリシー・セットを使用して定義されるセキュリティー・ポリシーの方が WSS API よりも優先されます。アプリケーションで WSS API とポリシー・セットの両方が使用される場合は、ポリシー・セットのセキュリティー・ポリシーのデフォルトの振る舞いが有効になり、WSS API は無視されます。 アプリケーションで WSS API を使用するには、アプリケーションまたはアプリケーション・リソースにポリシー・セットが添付されていないことを確認するか、添付されているポリシー・セットにセキュリティー・ポリシーがないことを確認する必要があります。

Web サービス・セキュリティーでの既存の JAX-RPC アプリケーションは、まだバージョン 6.1 ランタイムでサポートされています。ただし、それらのアプリケーションは Feature Pack for Web Services で追加されている新しいフィーチャー (ポリシー・セットを使用してセキュリティー・ポリシーを構成する新しい Web サービス・セキュリティー・バージョン 1.1 機能、OM フィルター・パフォーマンスの改善、WSS API、Web Service Secure Conversation (WS-SecureConversation)、および Web Services Trust (WS-Trust) フィーチャーなど) を利用できません。

マイグレーションの場合は、JAX-RPC アプリケーションから JAX-WS アプリケーションへのコード・マイグレーションを明示的に行い、手動でセキュリティー制約をポリシー・セットに対して再構成し、Feature Pack for Web Services で DOM ベースの SPI から OM ベースの SPI へのコード・マイグレーションを実行する必要がありました。ただし、バージョン 6.1 と Feature Pack for Web Services のバージョンはどちらも同時に提供されているため、今回はマイグレーションは必要ありません。

WSS API を使用する場合にサポートされる機能

WSS API はクライアント上でのみ使用できます。API を使用して J2SE クライアント、J2EE アプリケーション・クライアント、またはサーバー・クライアント (クライアントとして機能するサービス・プロバイダー) を使用し、メッセージ・レベルのセキュリティーにより SOAP メッセージを保護することができます。

WSS API を使用するには、Web サービス・セキュリティー (WSS) の知識が必要です。WSS API を使用する前に、WSS API について以下のことに留意してください。
  • WSS API は Java ベースのインターフェースです。
  • WSS API はファクトリー・モデル (WSSFactory) を使用して実装されます。
  • WSS API は WS-Security バージョン 1.0 および 1.1 標準をサポートしています。これには、ユーザー名トークン・プロファイルおよび X.509 トークン・プロファイルのバージョン 1.0 と 1.1 が含まれます。
  • WSS API は非常に XML 中心です。
  • WSS API には、API を簡素化するオブジェクト指向設計が組み込まれています。
  • WSS API はタスク指向型で、本文の署名と SOAP メッセージ本文のコンテキストの暗号化など、共通のシナリオを使用できます。
  • WSS API は柔軟かつ拡張可能で、トークン・タイプのサポートを拡張できます。
  • WSS API はプロバイダーのフレームワークに基づいており、AXIOM や DOM など、異なるデータ・モデルを使用できます。
  • WSS API はアプリケーションで WSS を適用するうえで、アプリケーション・プログラマーに対してより優れた制御および柔軟性を提供します。

WSS API のデフォルト値は事前定義されており、Web サービス・セキュリティー・ランタイムの一部です。 以下について、デフォルト値が提供されています。

署名の妥当性検査には、署名 (署名情報) と似たデフォルト値があります。 同様に、暗号化解除には暗号化と似たデフォルト値があります。

WSS API を使用する場合にサポートされない機能

IBM WebSphere Application Server バージョン 6.1 Feature Pack for Web Services の場合、WebSphere Application Server で提供される WSS API は次の機能をサポートしていません。

サービス・プログラミング・インターフェース

同様に、Web サービス・セキュリティー・ランタイムのトークン生成サービス・プログラミング・インターフェース (SPI) およびトークン消費サービス・プログラミング・インターフェースは、同じセキュリティー・トークン・インターフェースおよび JAAS ログイン・モジュール実装を WSS API および SPI の両方で使用できるように再設計されました。 サービス・プロバイダー用の WSS SPI はセキュリティー・トークン・タイプを拡張し、署名用、署名の妥当性検査用、暗号化および暗号化解除用の鍵および派生鍵を提供します。

プログラミング・モデルにおける違いのため、Web Service Security バージョン 6.1 ランタイムのすべての WebSphere Application Server またはカスタム SPI の実装は、Feature Pack for Web Services を持つ新しい Web サービス・セキュリティー・ランタイムでの実行がサポートされません。 ただし、Web Service Security バージョン 6.1 ランタイムは Feature Pack for Web Services と同時にサポートされます。つまり、バージョン 6.1 SPI 実装は、オリジナルのランタイムにより、まだサポートされています。 新しい Web Service Security ランタイムを使用する前は、SPI を使用できるようにする前に Feature Pack for Web Services でバージョン 6.1 DOM ベースの SPI から AXIOM ベースの SPI へのコード・マイグレーションが必要でした。

WS-Trust および WS-SecureConversation のシナリオ

WS-Trust SOAP メッセージを保護するには 2 つの方法があります。1 つの方法は、ポリシー・セットで定義されるブートストラップ・ポリシーを使用することで、もう 1 つの方法は WSS API を使用することです。 また、WSS API は WS-SecureConversation もサポートしています。

アプリケーションでは WSS API を使用して、プログラムによる API ベースのセキュアな会話用のセキュリティー・コンテキスト・トークンを取得します。 WebSphere Application Server のトラスト・サービスはアプリケーションに対して、サービスへアクセスするためのセキュリティー・トークンを要求する機能を提供します。 Feature Pack for Web Services には、WS-SecureConversation の WebSphere Application Server セキュリティー・コンテキスト・トークン (SCT) についてのみ、トラスト・サービスの有効範囲および重点があります。

WS-SecureConversation および WS-Trust のシナリオは、さまざまなコンポーネントの構成およびランタイムのやりとりなどのインターオペラビリティー機能に重点を置いています。 ユーザーは WSS API を使用してブートストラップ RST および RSTR を保護し、トラスト・サービスからセキュリティー・コンテキスト・トークンを取得します。 セキュリティー・コンテキスト・トークンを取得したら、WSS API を使用して派生鍵トークンを作成します。 その後で、派生鍵トークンを使用して署名や暗号化を行うことができます。

WSS API を使用して Web サービス・セキュリティーで SOAP メッセージを保護する場合には、2 つの状況があります。
  • 要求ジェネレーターのアプリケーション・コードでの、セキュアな SOAP メッセージの生成。
  • 応答コンシューマー・アプリケーション・コードでの、セキュアな SOAP メッセージの消費。

両方の場合で、エラーが起こると Java 例外クラス com.ibm.websphere.wssecurity.wssapi.WSSException が提供されます。




関連概念
Web サービス・セキュリティーによるメッセージ保全性、機密性および認証の提供
関連資料
例: Secure Conversation を保護するためのセキュリティー・コンテキスト・トークンの設定
例: 高信頼性メッセージングを保護するためのセキュリティー・コンテキスト・トークンの設定
Web サービス・セキュリティー API
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/cwbs_wss_api.html