JAASおよびJava GSS-APIチュートリアルの紹介

このページは、JAAS (Java認証・承認サービス)およびJava GSS-APIのさまざまな使用方法を示す一連のチュートリアルにリンクしています。

JAASは、次の2つの目的で使用できます。

  • ユーザーの認証。Javaコードを現在実行中のユーザーを、信頼性が高く、セキュアな方法で確認します。
  • ユーザーの承認。セキュリティ関連操作の実行に必要なアクセス制御権(アクセス権)の保持を保証します。

Java GSS-APIは、通信アプリケーション間のセキュアなメッセージ交換に使用されます。Java GSS-APIには、RFC 5653で定義されたGSS-API (Generic Security Services Application Program Interface)用のJavaバインディングが含まれます。GSS-APIは、アプリケーション・プログラマに対し、Kerberosを含む基盤となるさまざまなセキュリティ・メカニズム上のセキュリティ・サービスへの統一されたアクセスを提供します。

ノート: JSSEは、セキュアな通信に使用可能な別のAPIです。2つの相違点の詳細は、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自体を認証のみに使用することも、認証と承認の両方に使用することもできます。

次に示すチュートリアルでは、上述のシナリオすべての実例を示します:

  1. Java GSS-APIを使用した、JAASプログラミングなしのセキュアなメッセージ交換

    Java GSS-APIを使用して、クライアント・アプリケーションとサーバー・アプリケーション間のセキュアなメッセージ交換を行う方法を示します。

  2. JAAS認証

    JAASを使用して、アプリケーションからユーザーの認証を行う方法を説明します。

  3. JAAS承認

    JAASを使用して、ユーザー・ベースのアクセス制御を実行する方法を説明します。

  4. JAAS Loginユーティリティの使用

    JAASを使用してユーザーを認証し、そのユーザーでアプリケーションを実行するユーティリティ・プログラムについて説明します。アプリケーションの実行中に、ユーザー・ベースの適切なアクセス制御が行われます。このユーティリティは、便宜上、基本的にJAAS認証およびJAAS承認チュートリアルで説明した操作をユーザーに代わって実行します。このため、JAAS認証および承認を直接実行する方法を知る必要がない場合、前のチュートリアルをスキップして、このチュートリアルに進んでもかまいません。

  5. JAAS LoginユーティリティおよびJava GSS-APIを使用したセキュアなメッセージ交換

    もっとも総合的なチュートリアルです。Loginユーティリティは、サービスのユーザーを認証し、そのユーザーでサーバー・アプリケーションを起動するために使用します。Loginユーティリティは、クライアントのユーザーを認証し、そのユーザーでクライアント・アプリケーションを起動する場合にも使用します。最後に、クライアントおよびサーバー・アプリケーションは、認証されたクライアントおよびサービスのユーザーの代わりに、Java GSS-APIを使用してセキュアなメッセージを交換します。

  6. Java GSS-APIおよびJAASで実行可能な他の操作

    前のチュートリアルのサーバー・アプリケーションでクライアント・アプリケーションとの通信確立後に実行可能な、ほかの操作について説明します。

このシリーズのすべてのチュートリアル内のアプリケーションはすべて、認証およびセキュアな通信用の基盤となるテクノロジとして、Kerberos Version 5を使用します。「Kerberos要件」を参照してください。チュートリアル全体で使われている「Kerberos」という語はKerberos Version 5を指します。