Solaris のシステム管理 (第 2 巻)

SEAM の動作

この節の説明は SEAM 認証システムの一般的な概要です。詳細は、「認証システムの動作」を参照してください。

ユーザーの観点からいえば、SEAM は、SEAM セッションが起動された後はほとんど目につきません。SEAM セッションの初期化には通常、ログインと Kerberos パスワードの入力しか必要ありません。

SEAM システムは「チケット」の概念を中心に動作します。チケットは、ユーザーや NFS などのサービスの識別情報となる一連の電子情報です。運転免許証が運転する人と免許の種類を表すのと同じように、チケットもユーザーとユーザーのネットワークアクセス権を表します。SEAM ベースのトランザクションを行うと (たとえば、新しいプリンシパルに対し kinit を行う場合)、チケットの要求が Key Distribution Center (KDC) に透過的に送信されます。KDC はデータベースにアクセスしてこの識別情報を認証して、その他のマシンへのアクセスを許可するチケットをユーザーに戻します。「透過的」とは、チケットを明示的に要求する必要がないという意味です。この要求は kinit コマンドの中で行われます。特定のサービスのチケットを取得できるのは認証されたクライアントだけで、別のクライアントが識別情報を仮定して kinit を行うことはできません。

チケットには一定の属性が与えられています。たとえば、チケットは「転送可能」(新しい認証プロセスを経なくても別のマシンで使用できる) や「遅延」(指定の日付にならないと有効でない) の属性をもつことができます。どのユーザーがどのタイプのチケットを取得できるかなど、チケットをどのように使用するかは、SEAM のインストールや管理の際に決める「方針」によって設定されます。


注 -

「資格」と「チケット」という用語がよく出てきます。広い意味の Kerberos では、これらの用語は同じ意味で使われることがあります。しかし、技術的には資格はチケットとそのセッションに対するセッション鍵からなります。この違いについては、「SEAM によるサービスへのアクセス」 の「SEAM によるサービスのアクセス」で詳しく説明します。


プリンシパル

SEAM 内のクライアントはその「プリンシパル」で識別されます。プリンシパルとは、KDC がチケットを割り当てることができる固有の識別情報です。プリンシパルは、joe などのユーザーや nfs などのサービスです。

プリンシパル名は慣習で「一次」、「インスタンス」、「レルム」という 3 つの部分からなります。joe/admin@ENG.ACME.COM は一般的な SEAM プリンシパルの例です。各文字列は次の意味を持ちます。

次に示すのはすべて、有効なプリンシパル名です。

レルム

レルムとはドメインのようなもので、同じ「master KDC」の下にあるシステムをグループとして定義する論理ネットワークです (下記を参照)。図 21-1 はレルムの相互関係を表したものです。階層的なレルムでは、1 つのレルムが他のレルムのスーパーセットになります。非階層的なレルムでは、2 つのレルム間のマッピングを定義する必要があります。SEAM では、レルム間で共通の認証が可能です。その場合、各レルムの KDC に、他のレルムのプリンシパルエントリが必要になるだけです。

図 21-1 レルム

Graphic

レルムとサーバー

それぞれのレルムには、プリンシパルデータベースのマスターコピーを保守するサーバーが含まれていなければなりません。これを「マスター KDC サーバー」と呼びます。さらにレルムには、プリンシパルデータベースの重複データベースを保持する「スレーブ KDC サーバー」が少なくとも 1 つ必要です。マスターおよびスレーブ KDC サーバーは共に認証を確立するために使用するチケットを作成します。

レルムにはさらに SEAM サーバーを 2 種類持つことができます。1 つはSEAM ネットワーク「アプリケーションサーバー」で、Kerberos 対応のアプリケーション (ftptelnetrsh など) へのアクセスを提供するサーバーです。もう 1 つは、Kerberos 認証を使用する「NFS サーバー」です。NFS サーバーは NFS サービスを提供します。

図 21-2 は、レルムの構成例を示したものです。

図 21-2 一般的なレルム

Graphic