WebSphere Application Server は、Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) を使用して、WebSphere Application Server の保護されているリソースに対する HTTP 要求を安全に折衝し、認証するトラスト・アソシエーション・インターセプター (TAI) を提供します。SPNEGO TAI をデプロイして使用するには、インストールを調べて、SPNEGO TAI の最適な構成方法を決定する必要があります。
SPNEGO TAI デプロイメントで、デフォルトとして HTTPHeaderFilter クラスを使用するかどうかを決定する必要があります。このクラスを使用する場合は、このクラスに対して正確なフィルター・プロパティーを指定する必要があります。SPNEGO TAI のデフォルトの動作では、com.ibm.ws.spnego.HTTPHeaderFilter クラスを使用して、すべての要求がインターセプトされます。
サンプルの com.ibm.ws.spnego.HTTPHeaderFilter クラスを使用しない場合は、com.ibm.wsspi.security.spnego.SpnegoTAIFilter インターフェースをインプリメントする新しいクラスを定義する必要があります。
サービス・プロバイダー・プログラミング・インターフェース (SPI) SPNEGO TAI に対する HTTP 要求のフィルター処理 を使用して、HTTP 要求がインターセプトするものをさらに制御するかを、決定することができます。
WebSphere Application Server では、カスタム・ログイン・モジュールを定義または開発して、ユーザー ID をマップできます。このマッピングの実行方法について詳しくは、Kerberos クライアント・プリンシパル名の WebSphere ユーザー・レジストリー ID (SPNEGO 用) への マッピング を参照してください。
TAI をデプロイする前に、このカスタム・ログイン・モジュールを使用して SPNEGO TAI ID のマッピングを実行するかどうかを決定する必要があります。
Kerberos は、クレデンシャルの委任をサポートしています。クライアントから Kerberos クレデンシャルを受け取るサーバーは、委任されたクレデンシャルを使用して、他のサーバーに対してそのクライアントの偽名を使用することができます。SPNEGO TAI トークンは Kerberos クレデンシャルのラッピングなので、SPNEGO トークン内の Kerberos クレデンシャルを受け取るサーバーは、それらの Kerberos クレデンシャルを使用して、元のユーザーの偽名を使用できます。そのサーバーは、適切な HTTP 許可ヘッダーを合成することにより、HTTP を介して SPNEGO を他の SPNEGO サーバーに対する SPNEGO クライアントとして使用して、相互作用することができます。
Windows で実行される Web ブラウザーは、DNS ドメインに依存しています。これらのブラウザーは、ターゲットのホスト名が、クライアント・マシンの DNS ドメインで定義されているホスト名を示している場合にのみ SPNEGO トークンを送信します。HTTP リダイレクトを使用すると、各 DNS ドメインに疑似 Kerberos サービス・プリンシパル名 (SPN) を作成して、この構成をサポートできます。 WebSphere Application Server がサポートしているすべての SPN では、 それぞれの秘密鍵が Kerberos keytab ファイルで使用可能になっている必要があります。 複数の DNS ドメインでシングル・サインオンを使用可能にするために、個別の Kerberos キー・タブ・ファイルが、ドメインごとにそれぞれの SPN に対して生成されます。WebSphere Application Server がこれらの個々の Kerberos キー・タブ・ファイルを使用できるようにするには、これらの Kerberos キー・タブ・ファイルをマージする必要があります。
SPNEGO TAI には、オプション・プロパティー再ロード機能があります。この機能を使用すると、Java 仮想マシン (JVM) を再始動しなくても TAI プロパティーを再ロードすることができます。この再ロード機能は、システム・プロパティー com.ibm.ws.security.spnego.propertyReloadFile および com.ibm.ws.security.spnego.propertyReloadTimeout によって制御されます。これらのプロパティーを一緒に使用することにより、ある時間経過後、ファイル・システム上のファイルから SPNEGO TAI 内部プロパティーを再ロードすることができます。 com.ibm.ws.security.spnego.propertyReloadTimeout 属性が有効な整数値に設定され、 com.ibm.ws.security.spnego.propertyReloadFile 属性がファイル・システム上のファイルを指している場合、各 JVM は、タイムアウト期間が終了した後に、そのファイルから SPNEGO TAI プロパティーを再ロードします。 また、SPNEGO TAI プロパティーは、ファイルの日付が変更された場合にのみ再ロードされます。これらの再ロード・プロパティーが設定されていない場合は、JVM の初期化時に、WebSphere Application Server 構成データで定義されている SPNEGO TAI カスタム・プロパティーから SPNEGO TAI プロパティーが一度だけロードされます。これらの再ロード・プロパティーについて詳しくは、SPNEGO TAI JVM 構成カスタム・プロパティー を参照してください。
Windows Active Directory (Web) 管理者、WebSphere Application Server 管理者、およびアプリケーション・チームがこれらの質問を検討し、それぞれについて回答を出してから、SPNEGO TAI に対して最適なデプロイメント設定および構成設定を決定します。