このページは、JAAS (Java 認証・承認サービス) および Java GSS-API のさまざまな使用方法を示す一連のチュートリアルにリンクしています。
JAAS は、次の 2 つの目的で使用できます。
Java GSS-API は、通信アプリケーション間のセキュアなメッセージ交換に使用されます。Java GSS-API には、RFC 2853 で定義された GSS-API (Generic Security Services Application Program Interface) 用の Java バインディングが含まれます。GSS-API は、アプリケーションプログラマに対し、Kerberos を含む基盤となるさまざまなセキュリティーメカニズム上のセキュリティーサービスへの統一されたアクセスを提供します。
注:JSSE は、セキュアな通信に使用可能な別の API です。2 つの API の相違点の詳細は、「Java GSS-API および JSSE をいつ使用するか」を参照してください。
JAAS と Java GSS-API のチュートリアルが両方提供されている理由は、JAAS 認証は、通常 Java GSS-API を使用したセキュアな通信の前に行われるためです。JAAS および Java GSS-API は、関連しており、しばしば併用されます。ただし、アプリケーションから、Java GSS-API なしで JAAS を使用することも、JAAS なしで Java GSS-API を使用することも可能です。さらに、JAAS 自体を認証のみに使用することも、認証と承認の両方に使用することもできます。
次に示すチュートリアルでは、上述のシナリオすべての実例を示します。
Java GSS-API を使用して、クライアントアプリケーションとサーバーアプリケーション間のセキュアなメッセージ交換を行う方法を示します。
JAAS を使用して、アプリケーションからユーザーの認証を行う方法を説明します。
JAAS を使用して、ユーザーベースのアクセス制御を実行する方法を説明します。
JAAS を使用してユーザーを認証し、そのユーザーでアプリケーションを実行するユーティリティープログラムについて説明します。アプリケーションの実行中に、ユーザーベースの適切なアクセス制御が行われます。このユーティリティーは、便宜上、基本的に JAAS 認証および JAAS 承認チュートリアルで説明した操作をユーザーに代わって実行します。このため、JAAS 認証および承認を直接実行する方法を知る必要がない場合、前のチュートリアルをスキップして、このチュートリアルに進んでもかまいません。
もっとも総合的なチュートリアルです。Login ユーティリティーは、サービスのユーザーを認証し、そのユーザーでサーバーアプリケーションを起動するために使用します。Login ユーティリティーは、クライアントのユーザーを認証し、そのユーザーでクライアントアプリケーションを起動する場合にも使用します。最後に、クライアントおよびサーバーアプリケーションは、認証されたクライアントおよびサービスのユーザーの代わりに、Java GSS-API を使用してセキュアなメッセージを交換します。
前のチュートリアルのサーバーアプリケーションでクライアントアプリケーションとの通信確立後に実行可能な、ほかの操作について説明します。
このシリーズのチュートリアル内のアプリケーションはすべて、認証およびセキュアな通信用の基盤となる技術として、Kerberos Version 5 を使用します。「Kerberos 要件」を参照してください。チュートリアルを通じて、「Kerberos」という語は Kerberos Version 5 を指します。