SPNEGO TAI カスタム・プロパティー構成 (非推奨)
Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) トラスト・アソシエーション・インターセプター (TAI) のカスタム構成プロパティーは、SPNEGO TAI オペレーションのさまざまな性質を制御します。 アプリケーション・サーバーごとに異なるプロパティーの値を指定できます。

WebSphere® Application Server バージョン 6.1 では、Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) を使用して、保護されたリソースへの HTTP 要求を安全にネゴシエーションし、認証する、トラスト・アソシエーション・インターセプター (TAI) が導入されています。 WebSphere Application Server 7.0 では、 この機能は現在推奨されていません。SPNEGO フィルターの動的再ロードおよびアプリケーション・ログイン方式へのフォールバックの有効化を行うために、SPNEGO Web 認証が用意されています
depfeat以下の表に定義された各プロパティーは、管理コンソール機能を使用して、SPNEGO TAI の「カスタム・プロパティー」パネルで指定します。 便宜のため、これらのプロパティーをプロパティー・ファイルに配置することができます。 そのようにした場合、SPNEGO TAI は「カスタム・プロパティー」パネルの定義ではなく、 そのファイルから構成プロパティーをロードします。 SPNEGO TAI JVM 構成カスタム・プロパティー (非推奨)に定義されている com.ibm.ws.security.spnego.propertyReloadFile プロパティーを参照してください。
それぞれの可能な SPN を識別する固有のプロパティー名を割り当てるために、プロパティー名に SPN<id> が組み込まれ、これが、各 SPN に関連しているプロパティーをグループ化するのに使用されます。 これらの SPN<id> は、プロパティー・グループごとに順番に番号が付けられます。
プロパティー名 | 必須 | デフォルト値 |
---|---|---|
com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate | いいえ | false |
com.ibm.ws.security.spnego.SPN<id>.filter | いいえ | 以下の説明を参照してください。 |
com.ibm.ws.security.spnego.SPN<id>.filterClass | いいえ | 以下の説明を参照してください。 |
com.ibm.ws.security.spnego.SPN<id>.hostName | はい | なし |
com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage | いいえ | 以下の説明を参照してください。 |
com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage | いいえ | 以下の説明を参照してください。 |
com.ibm.ws.security.spnego.SPN<id>.trimUserName | いいえ | true |
com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate
このプロパティーはオプションです。Kerberos 委任クレデンシャルを、SPNEGO TAI によって保管するかどうかを指示します。 このプロパティーを使用することにより、アプリケーションは保管されたクレデンシャルを取得し、それらを追加の SPNEGO 認証用に他のダウンストリームのアプリケーションに伝搬させることができます。
このプロパティーでは、拡張 Kerberos クレデンシャル代行機能の使用およびアプリケーション開発者によるカスタム・ロジックの作成が必要です。 開発者は、要求を発信したエンド・ユーザーに代わって代行 Kerberos クレデンシャルを使用して、Kerberos 発券サービス (TGS) と直接対話することにより、発券許可証 (TGT) を取得する必要があります。 また、開発者は、適切な Kerberos SPNEGO トークンを構成して、それを HTTP 要求に含めることで、ダウンストリームの SPNEGO 認証プロセスを継続する必要があります。これには、必要に応じて、追加の SPNEGO ユーザー確認のための質問への応答交換の処理が含まれます。
com.ibm.ws.security.spnego.SPN<id>.filter
このプロパティーはオプションです。指定したクラスで com.ibm.ws.security.spnego.SPN<id>.filterClass プロパティーとともに使用されるフィルター基準を定義します。 使用される実装クラスにとって意味のある任意の基準を定義します。
com.ibm.ws.security.spnego.HTTPHeaderFilter デフォルト実装クラスはこのプロパティーを使用して、HTTP 要求が SPNEGO 認証に対して選択されているかどうかを判別するために、HTTP 要求 ヘッダーに対して突き合わせる条件を表す選択ルールのリストを定義します。
各条件は、セミコロンで区切られたキーと値のペアで指定されます。 これらの条件は、指定プロパティーでの表示順に左から右へ向かって評価されます。 すべての条件に適合する場合、その HTTP 要求が SPNEGO 認証用に選択されます。
キーと値のペアのキーと値は、どの条件を検査するかを定義する演算子によって区切られます。 このキーは、要求から抽出する HTTP 要求ヘッダーを識別し、この値が演算子の指定に従ってキー値に指定されている値と比較されます。 このキーによって識別されたヘッダーが HTTP 要求に存在しない場合、条件は不適合と見なされます。
String url = request.getRequestURL() + ‘?' + request.getQueryString();
条件 | オペレーター | 例 |
---|---|---|
正確に一致 | = = 引数が等しいかどうかが比較されます。 |
host=host.my.company.com |
部分的に一致 (含む) | %= 部分的な一致を有効なものとして引数を比較します。 |
user-agent%=IE 6 |
部分的に一致 (複数の中の 1 つ) | ^= 指定された多くの引数の中の 1 つと一致する部分一致を有効なものとして比較します。 |
request-url^=webApp1|webApp2|webApp3 |
一致しない | != 引数が等しくないかどうかが比較されます。 |
request-url!=noSPNEGO |
より大きい | > 引数が辞書的により大きいかどうかが比較されます。 |
remote-address>192.168.255.130 |
より小さい | < 引数が辞書的により小さいかどうかが比較されます。 |
remote-address<192.168.255.135 |
com.ibm.ws.security.spnego.SPN<id>.filterClass
このプロパティーはオプションです。SPNEGO TAI が SPNEGO 認証の対象になる HTTP 要求を選択するために使用する Java クラスの名前を指定します。
クラスが指定されていない場合は、デフォルトの com.ibm.ws.security.spnego.HTTPHeaderFilter 実装クラスが使用されます。 指定された Java クラスは、com.ibm.wsspi.security.spnego.SpnegoFilter インターフェースを実装する必要があります。 このインターフェースにはデフォルトの実装が用意されています。 com.ibm.ws.security.spnego.HTTPHeaderFilter クラスを指定して、デフォルトの実装を使用します。 このクラスは、com.ibm.ws.security.spnego.SPN<id>.filter プロパティーで 指定された選択ルールを使用します。
com.ibm.ws.security.spnego.SPN<id>.hostName
このプロパティーは必須です。SPNEGO TAI が Kerberos セキュア・コンテキストを設定するのに使用する SPN のホスト名を指定します。 デフォルト値はありません。
com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage
このプロパティーはオプションです。ユーザー確認のための質問への応答ハンドシェークが、予想された SPNEGO トークンの代わりに NT LAN Manager (NTLM) トークンを含んでいた場合に、SPNEGO トークンがインターセプターによって受信された際、(ブラウザー) クライアント・アプリケーションが表示する、SPNEGO TAI が HTTP 要求に含めるコンテンツを含むリソースの Web アドレスを指定します。
<html><head><title>An NTLM Token was received.</title></head>
<body>Your browser configuration is correct, but you have not logged into a supported
Microsoft(R) Windows(R) Domain.
<p>Please login to the application using the normal login page.</html>
com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage
このプロパティーはオプションです。SPNEGO 認証をサポートしない場合に、(ブラウザー) クライアント・アプリケーションが表示する、SPNEGO TAI が HTTP 要求に含めるコンテンツを含むリソースの Web アドレスを指定します。 ここでは、Web (http://) またはファイル (file://) のリソースを指定できます。
<html><head><title>SPNEGO authentication is not supported</title></head>
<body>SPNEGO authentication is not supported on this client</body></html>;
com.ibm.ws.security.spnego.SPN<id>.trimUserName
このプロパティーはオプションです。SPNEGO TAI が、Kerberos レルム名に先行する、「@」で始まるプリンシパル・ユーザー名のサフィックスを除去する (true) か除去しない (false) かを指定します。
このプロパティーを true に設定すると、プリンシパル・ユーザー名のサフィックスは除去されます。 このプロパティーを false に設定すると、プリンシパル・ユーザー名のサフィックスは残されます。 使用されるデフォルト値は true です。以下に例を示します。
bobsmith@myKerberosRealm becomes bobsmith
bobsmith@myKerberosRealm remains bobsmith@myKerberosRealm