第1章 はじめに
JBoss Negotiation は JBoss Enterprise Application Platform のコンポーネントで、SPNEGO ベース (Simple and protected Negotiation) の シングルサインオン (SSO : Single Sign on) メカニズムを提供します。
JBoss Negotiation は
$JBOSS_HOME/jboss-as/common/lib/jboss-negotiation.jar
に置かれています。
SPNEGO はクライアントとサーバー認証の Generic Security Services Application Program Interface (GSSAPI) メカニズムです。リモートシステムへのサイレント認証が可能、かつセキュリティサービスへアクセスできるようになります。また、ユーザーの認証情報をリモートシステムに委譲し、リモートシステムがユーザーの代わりに他のシステムへコンタクトすることもできます。
1.1. SPNEGO 認証プロセス リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
一般的に、サーバーでのユーザー認証時、クライアントは入力した認証情報をサーバーに送り、サーバーのログインモジュールが、保存されている認証情報とその認証情報を照合します。しかし、SPNEGO 認証はいくつかの点で異なります。
- アプリケーションサーバーは KDC に対してサーバー自身を認証し、ユーザー認証できるようになる前にチケットを取得します。
- その後にのみ、サーバーはクライアントに対し認証のプロンプトを出します。クライアントは、SPNEGO トークンに応答し、サーバーはサーバー自体のチケットを使いクライアントのチケットを解読し、クライアントへ応答します。
- 必要であればクライアントは、サーバーにそれ自体を認証するようにリクエストすることができます。
- また、呼び出しているクライアントの代わりにサーバーが他のシステムを呼び出すことができるよう、クライアントはサーバーへ認証情報を委譲することができます。
JBoss Negotiation は通常以下のようなシナリオで便利です。
- ユーザーが Active Directory ドメインや FreeIPA で統括されているログイン方法で、デスクトップコンピューターにログインする場合
- ユーザーが Web ブラウザーを開き、JBoss Negotiation を使う Web アプリケーションへアクセスする場合
- Web ブラウザーがデスクトップの認証情報を Web アプリケーションに転送する場合
重要
Active Directory および FreeIPA を設定し JBoss Negotiation を使うことができます (6章FreeIPA の設定 および 5章Microsoft Active Directory の設定 を参照)。