Web Services Security トークンの伝搬
Web Services Security は、セキュリティー・トークンを SOAP メッセージのセキュリティー・ヘッダー を使用して送信する機能を持っています。こうしたセキュリティー・トークンは、署名、検査、暗号化、または暗号化解除のメッセージ部分に使用することができます。 また、セキュリティー・トークンをスタンドアロン・セキュリティー・トークンとして送信し、要求コンシューマーの呼び出し元として設定することもできます。 Web Services Security トークンの伝搬 を使用して、これらのスタンドアロンのセキュリティー・トークンを SOAP メッセージのセキュリティー・ヘッダー内の wsse:BinarySecurityToken エレメントで送信します。
- ユーザー名トークン
- X.509 トークン
- Lightweight Third-Party Authentication (LTPA) トークン
カスタム・セキュリティー・トークンを使用するよう Web Services Security を構成できます。Web Services Security は、セキュリティー属性伝搬フィーチャーで使用される伝搬トークン・フォーマットと同じフォーマットを使用します。Web Services Security は、すべての組み込みセキュリティー・トークン・タイプを伝搬でき、カスタム・トークン・タイプがセキュリティー属性伝搬フィーチャーによってシリアライズ可能である限り、カスタム・トークン・タイプを伝搬できます。
- トークン・タイプ URI: http://www.ibm.com/websphere/appserver/tokentype
- トークン・タイプのローカル名: LTPA_PROPAGATION
伝搬トークンが生成されると、Web Services Security は、現在のスレッドの RunAs サブジェクト内のすべてのシリアライズ可能セキュリティー・トークンを収集し、それらのセキュリティー・トークンを wsse:BinarySecurityToken token トークン内でシリアライズします。RunAs サブジェクトと、現在のスレッドで必要なクレデンシャルを持つには、伝搬トークンが作成される前に JAAS ログインが現在のスレッドで行われなければなりません。
通常の環境下では、サービス・プロバイダーの場合は、WS-Security 構成内にインバウンド・トークンの定義済み呼び出し元パーツを組み込むことによって、Java 認証・承認サービス (JAAS) ログインが実現されます。Web サービス・クライアントの場合、JAAS ログインは、HTTP 基本認証によって実現されます。
- 保護されたサービス内からのクライアントが、シリアライズ可能なセキュリティー・トークンとクレデンシャルを現在の RunAs サブジェクトからダウンストリーム・サーバーへ伝搬します。
- Web コンテナー内で HTTP 基本認証により保護されているサーバー・ベースのクライアントは、伝搬トークンを使用できます。
サーバー・ベースのクライアントの場合、必要なのはその識別のみであり、クレデンシャルの完全セットは不要であるため、伝搬トークンのオーバーヘッドは不要です。ただし、クライアント・アプリケーションが、Web コンテナーによって呼び出された後に、そのサブジェクトに変更を加えた場合は、伝搬トークンを使用する方が適切です。識別トークンのみが必要な場合は、通常の LTPA トークンを使用する方が適切です。この LTPA トークンは、JAAS ログインによって作成された RunAs サブジェクトから生成できます。