WebSphere Application Server は、Simple and Protected GSS-API Negotiation Mechanism (SPNEGO)
を使用して、WebSphere Application Server の保護されたリソースへの HTTP 要求を安全にネゴシエーションし、
認証する、トラスト・アソシエーション・インターセプター (TAI) を提供しています。
SPNEGO は、『The Simple and Protected GSS-API Negotiation
Mechanism (IETF RFC 2478)』で定義された標準規格です。
WebSphere Application Server 管理セキュリティーを
使用可能にすると、SPNEGO TAI が初期化されます。
インバウンド HTTP 要求の
処理中に、Web オーセンティケーター・コンポーネントは、
セキュリティー構成リポジトリーで定義され、
使用可能にされた SPNEGO TAI と対話します。
1 つのインターセプターが選択され、HTTP 要求で識別される、保護リソースへのアクセスを認証します。
重要: TAI の使用は、オプション機能です。
TAI を選択しない場合、認証プロセスは正常に続行します。
HTTP ユーザーはデスクトップで 1 度だけログインと認証を行い、その後は WebSphere Application Server で (内部的に) 認証されます。SPNEGO TAI は、
WebSphere アプリケーションのエンド・ユーザーには可視になりません。
SPNEGO TAI は、Web 環境の正しく構成し、容量を確保し、保守を行う Web 管理者にのみ可視になります。
SPNEGO TAI の操作を完全に有効にするには、WebSphere Application Server セキュリティー・ランタイ
ム・サービスに加えて、いくつかの外部コンポーネントが必要です。
外部コンポーネントには、以下のものが含まれます。
Active Directory ドメインおよび関連する Kerberos Key Distribution Center (KDC) を備えた Microsoft
Windows 2000 または Windows 2003 サーバー。
- IETF RFC 2478 で定義されている SPNEGO 認証メカニズムをサポートするクライアント・アプリケーション (例えば、ブラウザーまたは .NET クライアント)。
Microsoft Internet Explorer バージョン 5.5 以降および Mozilla Firefox バージョン 1.0 は、ブラウザーの例です。
どのブラウザーも、SPNEGO メカニズムを使用するように構成する必要があります。
この構成の実行について詳しくは、SPNEGO を使用するためのクライアント・ブラウザーの構成
を
参照してください。
HTTP 要求の認証は、要求側 (クライアント・サイド) によって起動され、SPNEGO トークンを生成します。WebSphere Application Server はこのトークンを受け取り、要求側と WebSphere
Application Server 間の信頼の妥当性検査を行います。特に、SPNEGO TAI は要求側の ID を デコードし、SPNEGO トークンから取り出します。この ID は、要求側
とアプリケーション・サーバー間でコンテキストの保護を確立するために使用します。
要確認: SPNEGO TAI は、WebSphere Application Server のサーバー・サイドのソリューシ
ョン
です。クライアント・サイドのアプリケーションは、SPNEGO TAI が使用する SPNEGO トークンの生成を担当します。
WebSphere Application Server セキュリティー・レジストリーにある要求側の ID は、SPNEGO TAI が取り出す
ID と同一である必要があります。Microsoft Windows Active Directory サーバーが、WebSphere Application Server で
使用される Lightweight Directory Access Protocol (LDAP) サーバーである場合は、突き合わせたものが一致します。カスタム・ログイン・モジュールは、Active Directory から WebSphere Application
Server セキュリティー・レジストリーへの ID のカスタム・マッピングをサポートするプラグインとして使用可能です。このカスタム・ログイン・モジュールの使用法について詳しくは、
Kerberos クライアント・プリンシパル名の WebSphere ユーザー・レジストリー ID (SPNEGO 用) への
マッピング
を参照してください。
WebSphere Application Server は、そのセキュリティー・レジストリーに照らし合わせて ID の妥当性
検査を行
い、妥当性検査が正常に終了した場合は Lightweight Third Party Authentication (LTPA) セキュリティー・トークンを作成して、HTTP 応答の要求側に Cookie を置き、戻します。
WebSphere Application Server 内のその他の保護されたリソースへアクセスするための、この同じ要求側からの以降
の HTTP 要求は、ログインの反復の問題を回避するために、以前に作成した LTPA セキュリティー・トークンを使用し
ます。
ユーザー確認のための質問への応答のハンドシェーク・プロセスを、次の図で説明します。
図 1. HTTP 要求処理、WebSphere Application Server - SPNEGO
TAI
SPNEGO TAI は、WebSphere Application Server セル構成のすべてのまたは選択した WebSphere Application Server に
対して使用可能にすることができます。また、各 SPNEGO TAI インスタンスの振る舞いは、カスタム構成プロパティーによって制御されます。カスタム構成プロパティーは、例えば Kerberos Service Principal Name (SPN) の作成に使用するホスト名とセキュリティー・レルム名のような HTTP 要求をフィルタリングするために使用する基準などの識別に使用します。SPNEGO TAI カスタム構成プロパティーの設定と設定値に関して詳しくは、次のトピックを参照してください。
Web 管理者は、以下の図で説明するように、次の SPNEGO TAI セキュリティー・コンポーネントおよび関連付けられた構成データへのアクセス権を持っています。
図 2. SPNEGO TAI セキュリティーおよび構成の要素
- Web 認証モジュールおよび Lightweight Third Party Authentication
(LTPA) メカニズムは、トラスト・アソシエーション・インターセプターのプラグイン・ランタイム・フレームワークを提供します。
SPNEGO TAI で使用するために LTPA メカニズムを構成する方法の詳細については、
Lightweight Third Party Authentication メカニズムの構成
を参照してください。
- Java Generic Security Service (JGSS) プロバイダーは、Java
SDK (jre/lib/ibmjgssprovider.jar) に
含まれており、認証に使用される Kerberos セキュリティー・コンテキスト
およびクレデンシャルの取得に使用されます。
IBM JGSS 1.0 は、Kerberos V5 を基底となるデフォルトのセキュリティー・メカニズムとする、Java Generic
Security Service Application Programming Interface (GSSAPI) フレームワークです。
GSSAPI は標準化された抽象インターフェースであり、その下で秘密鍵、公開鍵、および他のセキュリティー技術を基
礎にしたさまざまなセキュリティー・メカニズムに接続できます。
基底となるさまざまなセキュリティー・メカニズムが複雑であり特異であっても、GSSAPI を使用することによって、
セキュア・アプリケーションはこれらを意識する必要がなくなります。
また、GSSAPI は ID とメッセージの発信元認証、メッセージの保全性、およびメッセージの機密性を提供します。
詳しくは、JGSS を
参照してください。
- Kerberos 構成プロパティー (krb5.conf または krb5.ini ) と Kerberos
暗号鍵 (Kerberos キー・タブ・ファイルに保管) は、セキュアな相互認証の確立に使用されます。
JGSS の一部である Kerberos キー・テーブル・マネージャー
(Ktab) により、ローカルの Kerberos
キー・タブ・ファイルに保管されたプリンシパル名とサービス・キーを管理できます。Kerberos
キー・タブ・ファイルにリストされたプリンシパル名と鍵ペアにより、ホスト上で実行している
サービスは、Kerberos 鍵配布センター (KDC) に対し、自己の認証を行うことができます。サーバーが
Kerberos を使用する前に、サーバーが稼働するホスト上で
Kerberos キー・タブ・ファイルを初期化する必要があります。
Kerberos キー・タブ・ファイルを管理するための ktab コマンドの使用
では、Ktab の使用法と同時に SPNEGO TAI に対する Kerberos の構成要件を中心に説明しています。
- SPNEGO プロバイダーによって、SPNEGO 認証メカニズムの実装が提供されます。
これは、/$WAS_HOME/java/jre/lib/ext/ibmspnego.jar に
あります。
- カスタム構成プロパティーは、SPNEGO TAI のランタイムの振る舞いを制御します。構成の操作は、管理コンソールまたはスクリプト機能を使用して実行します。
これらのカスタム構成プロパティーについて詳しくは、SPNEGO TAI カスタム・プロパティー構成
を参照してください。
- Java 仮想マシン (JVM) カスタム・プロパティーは、JGSS
セキュリティー・プロバイダーの問題判別のための診断トレース情報と、
プロパティー再ロード機能の使用を制御します。
SPNEGO TAI JVM 構成カスタム・プロパティー
では、これらの
JVM カスタム・プロパティーを説明しています。
WebSphere Application Server が SPNEGO TAI を使用する利点として、次のものが挙げられます。
Active Directory ドメインを
使用した、Microsoft Windows 2000 サーバーまたは 2003 サーバー
との統合シングル・サインオン環境が確立されます。
- 多数の ID およびパスワードの管理コストが削減されます。
- Web ブラウザーまたは .NET クライアントからのセキュリティー・クレデンシャルの送信を保護し、相互認
証します。
- SPNEGO 認証を使用する Web サービスおよび .NET アプリケーションとの、トランスポート・レベルでのインター
オペラビリティーを実現します。
SPNEGO TAI を WebSphere Application Server 環境で使用するには、計画を立ててから実装する必
要があります。
SPNEGO TAI の計画を立てる際は、
SPNEGO TAI のシングル・サインオン機能 - チェックリスト
を参照してください。SPNEGO TAI の使用の実装は、次の責任領域に分けられます。
- エンド・ブラウザー・ユーザー
- エンド・ユーザーは Web browser または .NET アプリケーションを構成して、SPNEGO TAI により処理される HTTP 要求を発行する必要があります。
- Web 管理者
- Web 管理者は、クライアントの HTTP 要求
に応答するように、WebSphere Application Server の SPNEGO TAI の構成します。
- WebSphere Application Server 管理者
- WebSphere Application Server 管理者は、最適なインストール・パフォーマンスを目指して、
WebSphere Application Server と SPNEGO TAI を構成します。
SPNEGO TAI の使用に必要なタスクの説明、および担当者がこれらのタスクをどのように実行するかについては、
SPNEGO TAI を使用した HTTP 要求のシングル・サインオンの作成
を参照してください。