Windows デスクトップ SSO 認証モジュールは、Windows 2000™ に使用する、Kerberos ベースのプラグインモジュールです。このサービスを使用すると、Kerberos Distribution Center (KDC) で認証されたユーザーは、ログインの条件を再度提示しなくても Access Manager に認証されます (シングルサインオン)。
ユーザーは、SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) プロトコルで Access Manager に Kerberos トークンを送信します。この認証モジュールで Access Manager への Kerberos ベースのシングルサインオンを実行するには、ユーザーが、クライアントサイドにおいて、SPNEGO プロトコルをサポートして自分自身を認証する必要があります。一般的に、このプロトコルをサポートするすべてのユーザーは、このモジュールを使用して Access Manager に認証できます。クライアントサイドでトークンを使用できるかどうかにより、SPENGO トークンか Kerberos トークンがこのモジュールによって提供されます。どちらの場合でもプロトコルは同一です。Microsoft Windows 2000 以上で動作している Microsoft Internet Explorer 5.01 以上では、現在このプロトコルがサポートされています。Solaris 9 および 10 の Mozilla 1.4 では SPNEGO がサポートされますが、Solaris では SPNEGO がサポートされていないので、返されるトークンは KERBEROS トークンのみです。
Kerberos V5 認証モジュールの新機能を使用するには、JDK 1.4 以上を使用する必要があります。この SPNEGO モジュールで Kerberos ベースの SSO を実行するには、Java GSS API を使用する必要があります。
WindowsDesktopSSO 認証に Microsoft Internet Explorer 6.x を使用しており、WindowsDesktopSSO モジュールで設定されている KDC レルムと一致する、ユーザーの Kerberos/SPNEGO トークンにこのブラウザでアクセスできない場合、WindowsDesktopSSO モジュールへの認証がエラーになったあとで、このブラウザはその他のモジュールに対して不正に動作します。この問題の直接的な原因は、Internet Explorer が WindowsDesktopSSO モジュールでエラーになると、ブラウザを再起動するまで、コールバックを要求されても、別のモジュールのコールバックを Access Manager に渡すことができなくなることです。このため、WindowsDesktopSSO のあとのすべてのモジュールは、ユーザー資格が NULL であるためにエラーとなります。
関連情報については、次の資料を参照してください。
http://support.microsoft.com/default.aspx?scid=kb;en-us;308074
http://www.wedgetail.com/jcsi/sso/doc/guide/troubleshooting.html#ieNTLM
Windows デスクトップ SSO 認証を有効にするプロセスには、次の 2 つの段階があります。
Windows 2000 のドメインコントローラにユーザーを作成します。
Internet Explorer をセットアップします。
ドメインコントローラで、Access Manager 認証モジュール用のユーザーアカウントを作成します。
ユーザーアカウントをサービスプロバイダの名前と関連付け、Keytab ファイルを Access Manager がインストールされたシステムにエクスポートします。そのためには、次のコマンドを実行します。
ktpass -princ host/hostname.domainname@DCDOMAIN -pass password -mapuser userName-out hostname.host.keytab ktpass -princ HTTP/hostname.domainname@DCDOMAIN -pass password -mapuser userName-out hostname .HTTP.keytab |
ktpass コマンドには、次のパラメータを使用できます。
hostname: Access Manager が稼働する、ドメイン名なしのホスト名です。
domainname: Access Manager のドメイン名です。
DCDOMAIN: ドメインコントローラのドメイン名です。この名前は、Access Manager のドメイン名とは異なる場合があります。
password: ユーザーアカウントのパスワードです。ktpass はパスワードを検証しないので、パスワードが正しいことを確認してください。
userName: ユーザーアカウント ID です。これはホスト名と同じにする必要があります。
両方の Keytab ファイルがセキュリティー保護されているようにします。
サービステンプレートの値は、次の例のようになっている必要があります。
「サービス主体」: HTTP/machine1.EXAMPLE.COM@ISQA.EXAMPLE.COM
「Keytab ファイル名」: /tmp/machine1.HTTP.keytab
「Kerberos レルム」: ISQA.EXAMPLE.COM
「Kerberos サーバー名」: machine2.EXAMPLE.com
「ドメイン名を含む主体を返す」: false
「認証レベル」: 22
サーバーを再起動します。
この手順は、Microsoft Internet Explorer™ 6 以上に当てはまります。これよりも前のバージョンを使用している場合は、Access Manager がブラウザのインターネットゾーンにあり、ネイティブ Windows 認証が有効であることを確認します。