Web サービス・セキュリティー制約は、Java™ 2 Platform, Enterprise Edition (J2EE) 向け Web サービス・ デプロイメント記述子の IBM® 拡張で定義されます。 IBM 拡張の Web サービス・セキュリティー用デプロイメント記述子とバインディングは、IBM の専有物です。 デプロイメント記述子とバインディング・ファイルは複雑なので、 これをテキスト・エディターを使用して手動で編集することは、エラーを引き起こす可能性があるため お勧めしません。しかし、IBM が 提供するツールを使用して、Web サービス・セキュリティー制約をアプリケーション用に構成することは、 推奨されています。そのツールは、Rational® Application Developer、Application Server Toolkit、および WebSphere® Application Server 管理コンソールです。
ファイル・タイプ | クライアント・サイド | サーバー・サイド |
---|---|---|
デプロイメント記述子 | ibm-webservicesclient-ext.xmi | ibm-webservices-ext.xmi |
バインディング・ファイル | ibm-webservicesclient-bnd.xmi | ibm-webservices-bnd.xmi |
デプロイメント記述子では、「何を」が指定されます (例えば、署名するメッセージ・パーツ、 暗号化するトークンなど)。バインディング・ファイルでは、「どのように」が指定されます (例えば、 メッセージに署名する方法、セキュリティー・トークンの生成および消費方法など)。
アプリケーション・デプロイメント記述子とバインディング・ファイルに加えて、WebSphere Application Server バージョン 6 にはサーバー・レベルの WSS 構成があります。これらの構成は、 すべてのアプリケーションで使用できます。WebSphere Application Server バージョン 6 は 5.x の アプリケーションをサポートしているので、バージョン 5.x のアプリケーションでのみ有効な構成と、 バージョン 6 のアプリケーションでのみ有効な構成があります。
次の図は、アプリケーション・デプロイメント記述子およびバインディング・ファイルと、 セルまたはサーバー・レベルの構成との関係を表しています。
このフィーチャーで デフォルト・バインディングを指定すると、アプリケーションが、Web サービス・セキュリティーの アプリケーション・バインディング・ファイルでバインディングを定義する必要がありません。デフォルト・バインディングの セットは 1 つだけで、複数のアプリケーションで共用することができます。このフィーチャーは、WebSphere Application Server バージョン 6 のアプリケーションでのみ使用できます。
次の図は、アプリケーションのエンタープライズ・アーカイブ (EAR) ファイルと、 ws-security.xml ファイルの関係を表しています。
アプリケーションの EAR 1 と EAR 2 は、 アプリケーション・バインディング・ファイル内に固有のバインディングを持っています。しかし、 アプリケーションの EAR 3 と EAR 4 は、アプリケーション・バインディング・ファイル内に バインディングを持たないので、ws-security.xml ファイルで定義されたデフォルトのバインディングを使用します。 構成は、階層内の最も近い構成で決まります。例えば、「mykeylocator」という名前の鍵ロケーターは、 アプリケーション・バインディング・ファイルで定義したもの、サーバー・レベルで定義したもの、セル・レベルで 定義したものの 3 つが存在する場合があります。アプリケーション・バインディングで mykeylocator を 参照すると、アプリケーション・バインディングで定義した鍵ロケーターが 使用されます。データの可視性の有効範囲は、そのデータが定義された場所によって 決まります。データがアプリケーション・バインディングで定義された場合は、 可視性の有効範囲はその特定のアプリケーションです。データがサーバー・レベルで 定義された場合は、可視性の有効範囲はそのサーバー上にデプロイされているすべての アプリケーションです。データがセル・レベルで 定義された場合は、可視性の有効範囲は、そのセル内のサーバー上にデプロイされているすべての アプリケーションです。一般に、データを他のアプリケーションと共用する予定がない場合は、 構成の定義はアプリケーション・バインディング・レベルで行います。
次の図は、 アプリケーション・レベル、サーバー・レベル、セル・レベルでのバインディングの関係を表しています。