Sun Java Enterprise System 2005Q4 技術の概要

認証とシングルサイオン

Java ES の認証および承認サービスは、Access Manager によって提供されます。Access Manager は、Directory Server 内の情報を使用することで、ユーザーと Java ES Web サービスまたは企業内のその他の Web ベースのサービスとの対話を仲介します。

Access Manager は、ポリシーエージェントと呼ばれる外部コンポーネントを使用します。ポリシーエージェントは、サービスをホストする Web サーバーまたは Access Manager によってセキュリティー保護されているリソースにプラグインとして追加されます。ユーザーがセキュリティー保護されたリソースに対する要求を送信したときに、ポリシーエージェントは Access Manager の代わりに対話を仲介します。Portal Server や Communications Express といった一部の Java ES コンポーネントでは、Access Manager のサブコンポーネントによってポリシーエージェントの機能が提供されます (「Sun Java System Access Manager 7 2005Q4」を参照)。

認証

Access Manager には、HTTP または HTTPS を介して企業内の Web サービスへのアクセスを要求したユーザーのアイデンティティーを検証する認証サービスが含まれています。たとえば、企業の従業員が同僚の電話番号を調べる必要がある場合に、ブラウザを使用してその企業のオンライン電話帳にアクセスします。電話帳サービスにログインするには、ユーザーが自分のユーザー ID とパスワードを入力する必要があります。

認証が行われる順序を図 3–2 に示します。ポリシーエージェントは、電話帳へのログオン要求を仲介し (1)、認証サービスに要求を送信します(2)。認証サービスでは、Directory Server に格納されている情報と照合して、ユーザー ID とパスワードを確認します (3)。ログイン要求が有効と認められると、そのユーザーは認証され (4)、(5)、および (6)、企業の電話帳が従業員に表示されます (7)。ログイン要求が有効と認められない場合は、エラーが生成されて認証に失敗します。

認証サービスは、証明書ベースの HTTPS を介した認証もサポートします。

図 3–2 認証順序

Web ブラウザ、ポリシーエージェント、認証サービス、セッションサービス、および Directory Server を使用する認証の順序を示す図。

シングルサインオン

前の段落で説明した認証の例では、重要な手順を説明しています。ユーザーの認証要求が検証されると、図 3–2 に示すように Access Manager のセッションサービスが起動されます (4)。セッションサービスによってセッショントークンが生成され、ここにユーザーのアイデンティティー情報およびトークン ID が保持されます (5)。セッショントークンはポリシーエージェントに返され (6)、さらに認証要求を発行したブラウザに Cookie として転送されます (7)。

認証されたユーザーがセキュリティー保護された別のサービスにアクセスしようとすると、ブラウザはセッショントークンを対応するポリシーエージェントに渡します。ポリシーエージェントはセッションサービスを使用して、そのユーザーの以前の認証が現在も有効であることを確認します。 これにより、ユーザー ID およびパスワードの再入力を求めずに、そのユーザーに対して別のサービスへのアクセスが許可されます。

したがって、ユーザーは 1 回のサインオンだけで、Java Enterprise System が提供する Web ベースの複数のサービスから認証されます。シングルサインオン認証は、ユーザーが明示的にサインオフするか、セッションが期限切れになるまで有効です。