セキュリティー・トークンの伝搬
この例では、Web Services Security、WebSphere® Application Server のセキュリティー・インフラストラクチャー、および Java™ Platform, Enterprise Edition (Java EE) セキュリティーを使用してセキュリティー・トークンを伝搬します。
重要: バージョン 5.x とバージョン 6
以降のアプリケーションには重要な相違点があります。
この情報は、WebSphere Application Server バージョン 6.0.x 以降で使用されるバージョン 5.x アプリケーションのみをサポートしています。
この情報はバージョン
6.0.x 以降のアプリケーションには適用されません。
シナリオ例
この例では、クライアント 1 が Web サービス 1 を起動します。次に Web サービス 1 が Enterprise JavaBeans (EJB) ファイル 2 を呼び出します。EJB ファイル 2 は Web サービス 3 を呼び出します。そして Web サービス 3 が Web サービス 4 を呼び出します。
図 1. セキュリティー・トークンの伝搬

上記の図は、Web Services Security、WebSphere
Application Server のセキュリティー・インフラストラクチャー、および Java Platform, Enterprise Edition (Java EE) セキュリティーを使用して伝搬されるセキュリティー・トークンを示しています。Web サービス 1 は、<wsse:UsernameToken> のみを
受け入れ、BasicAuth 認証メソッドを使用するよう、構成されています。
ただし、Web サービス 4 は、BasicAuth 認証メソッドを
使用して <wsse:UsernameToken> を受け入れるか、
または <wsse:BinarySecurityToken> として Lightweight
Third Party Authentication (LTPA) を受け入れるよう、構成されています。
以下のステップでは、前出の図で示されているシナリオについて説明します。
- クライアント 1 は、<wsse:UsernameToken> エレメントの user1 および password を 使用して、SOAP メッセージを Web サービス 1 に送信します。
- user1 値および password 値は、Web Services Security ランタイムによって認証され、 現在のセキュリティー・コンテキストに Java Authentication and Authorization Service (JAAS) サブジェクトとして設定されます。
- Web サービス 1 は、RMI/IIOP (Remote Method Invocation over the Internet Inter-ORB Protocol) プロトコルを使用して EJB ファイル 2 を呼び出します。
- user1 ID は、ダウンストリーム呼び出しに伝搬されます。
- EJB ファイル 2 の EJB コンテナーは、user1 の許可検査を実行します。
- EJB ファイル 2 は Web サービス 3 を呼び出します。Web サービス 3 は、LTPA トークンを受け入れるように構成されています。
- EJB ファイル 2 の RunAs ロールは、user2 に対して設定されています。
- LTPA CallbackHandler 実装が、 セキュリティー・コンテキストの現在の JAAS サブジェクトから、LTPA トークンを抽出し、Web Services Security ランタイムが、 トークンを <wsse: BinarySecurityToken> と して、SOAP ヘッダーに挿入します。
- Web サービス 3 の Web Services Security ランタイムは、JAAS ログイン構成を呼び出して LTPA トークンを検証し、このトークンを現在のセキュリティー・コンテキストに JAAS サブジェクトとして設定します。
- Web サービス 3 は、LTPA セキュリティーを Web サービス 4 に送信するよう構成されています。 この場合、Web サービス 3 に対して RunAs ロールが構成されていないことが前提となります。 user2 の LTPA トークンは、Web サービス 4 に伝搬されます。
- クライアント 2 は、<wsse:UsernameToken> エレメントを使用して、基本認証データを Web サービス 4 に伝搬します。
Web Services Security によって、WebSphere Application Server セキュリティー・ランタイムおよび Java EE ロール・ベースのセキュリティーが補完されます。 この例では、Web サービスおよび EJB ファイルなどの複数のリソースへのセキュリティー・トークンの伝搬方法を示しています。