前へ     目次     索引     DocHome     次へ     
iPlanet Directory Server 5.1 導入ガイド



第 1 章   Directory Server の概要


iPlanet Directory Server は、イントラネット、ネットワーク、およびエクストラネットの情報を集中管理するディレクトリサービスを提供します。Directory Server は、既存のシステムと統合することができ、社員、顧客、供給業者、提携業者などの情報を管理する中央リポジトリとして機能します。また、Directory Server を拡張して、ユーザのプロファイルや環境設定、エクストラネットのユーザ認証などを管理することもできます。

この章では、ディレクトリを設計する前に理解しておく必要がある基本事項について説明します。この章は、次の節で構成されています。



ディレクトリサービスとは

ディレクトリサービス (directory service) は、企業や加入者あるいはその両方に関する情報を格納し、その情報をユーザが使用できるようにするための、ソフトウェア、ハードウェア、および処理の集合です。ディレクトリサービスは、少なくとも 1 つの Directory Server のインスタンスと、1 つ以上のディレクトリクライアントプログラムから構成されます。クライアントプログラムは、ディレクトリに格納されている名前、電話番号、住所、およびその他のデータにアクセスできます。

よく知られているディレクトリサービスの 1 つに、DNS (ドメインネームシステム) サーバがあります。DNS サーバは、コンピュータのホスト名を IP アドレス (IP address) に割り当てます。そのため、コンピュータ資源 (ホスト) はすべて DNS サーバのクライアントになります。ホスト名を割り当てることにより、計算資源のユーザは、数値の IP アドレスではなく覚えやすいホスト名を使用して、ネットワーク上のコンピュータを簡単に見つけることができます。

ただし、DNS サーバは名前と IP アドレスの 2 種類の情報しか格納していません。実際のディレクトリサービスでは、格納される情報の種類に制限はありません。

iPlanet Directory Server では、ネットワークを介してアクセスできる 1 つのリポジトリに、すべての情報を格納します。ディレクトリに格納できる情報の例を次に示します。

  • 組織のプリンタに関するデータ (設置場所、カラーまたは白黒の区別、製造元、購入日、シリアル番号) などの物理デバイス情報

  • 名前、電子メールアドレス、所属部署などの、公開社員情報

  • 給与、社会保障番号、自宅住所、電話番号などの、非公開社員情報

  • 顧客名、最終納品日、入札情報、契約番号、プロジェクト日程などの、契約または取引の情報

iPlanet Directory Server は、多種多様なアプリケーションの要件に対応しています。また、格納されている情報にアクセスするための標準プロトコルと API (アプリケーションプログラミングインタフェース) も提供しています。

次に、グローバルディレクトリサービスと LDAP (Lightweight Directory Access Protocol) について説明します。


グローバルディレクトリサービスについて

iPlanet Directory Server は、さまざまな種類のアプリケーションに情報を提供するグローバルなディレクトリサービスを提供します。最近まで、多くのアプリケーションはそれぞれ独自の専用データベースと一体になっていました。専用データベースは 1 つのアプリケーションだけを使用している場合には便利ですが、複数のデータベースが同じ情報を管理している場合は、その管理業務が大きな負担となります。

たとえば、それぞれが独自の専用ディレクトリサービスを備えた 3 種類の専用電子メールシステムをネットワークで使用しているとします。1 つのディレクトリでパスワードを変更した場合、その変更が自動的にほかのディレクトリに複製されることはありません。同じ情報を持つ複数のインスタンスの管理は、ハードウェアコストと人的コストの増大を招きます。この問題は、「N + 1 ディレクトリ問題 (n + 1 directory problem)」と呼ばれています。

グローバルディレクトリサービスは、すべてのアプリケーションがアクセス可能なディレクトリ情報の中央リポジトリを 1 つ装備することで、「N + 1 ディレクトリ問題」を解決しています。ただし、多様なアプリケーションがディレクトリにアクセスできるようにするには、アプリケーションとディレクトリ間でネットワークを介した通信手段が必要です。iPlanet Directory Server では、LDAP (Lightweight Directory Access Protocol) を使用して、アプリケーションがグローバルディレクトリサービスにアクセスできるようにしています。


LDAP について

LDAP は、クライアントアプリケーションとサーバが相互通信を行うための共通言語を提供します。LDAP は、ISO X.500 標準で使用される DAP (Directory Access Protocol) の「軽量」バージョンです。DAP では、任意のアプリケーションが、拡張可能で堅牢な情報のフレームワークを通じてディレクトリにアクセスできますが、管理コストがかかりすぎます。また DAP では、インターネット標準の TCP/IP プロトコル以外の通信層が使用されており、ディレクトリの命名規則が複雑です。

LDAP は、DAP の優れた機能を保持しながら、管理コストの削減を図っています。LDAP では、TCP/IP 上で動作する開放型ディレクトリアクセスプロトコルと簡易符号化方式を使用します。LDAP は、X.500 標準 (X.500 standard) のデータモデルを維持しながら、ハードウェアとネットワークインフラストラクチャに適度な投資をすれば、数百万のエントリをサポートすることが可能です。



iPlanet Directory Server の概要



iPlanet Directory Server には、ディレクトリそれ自体である LDAP プロトコルを実装するサーバ側のソフトウェア、およびエンドユーザによるディレクトリ内のエントリの検索と変更を可能にするグラフィカルユーザインタフェースが含まれます。iPlanet Console のディレクトリマネージャや Netscape Communicator 4.x のアドレス帳など、ほかの LDAP クライアントも使用できます。さらに、ほかの LDAP クライアントプログラムを購入したり、iPlanet Directory Server 製品に含まれている LDAP クライアント SDK を使用して独自のプログラムを作成したりすることもできます。

ほかの LDAP クライアントプログラムを追加しなくても、Directory Server はインターネットやエクストラネット向けの基盤を提供します。すべての iPlanet サーバは、社員や顧客、供給業者や提携業者に関するデータなど、共有サーバ情報用の中央リポジトリとしてディレクトリを使用します。

Directory Server を使用すると、エクストラネットのユーザ認証の管理、アクセス制御の作成、ユーザ環境の設定、ユーザの集中管理などを行うことができます。ホストされる側の環境では、提携業者、顧客、供給業者が、それぞれに関連するディレクトリ部分を管理できるので、管理コストを削減できます。

Directory Server のインストール時に、使用しているマシンに次のコンポーネントがインストールされます。

このマニュアルでは、中核となる Directory Server と、Directory Server での処理に使用されるプラグインについて説明します。次の節では、Directory Server について詳しく説明します。説明する内容は以下のとおりです。


Directory Server アーキテクチャの概要

Directory Server には、インストール時点で次のコンポーネントが含まれています。

  • ネットワーク通信を実行するサーバフロントエンド

  • アクセス制御や複製などを行うためのサーバ機能のプラグイン

  • サーバに関連するデータを格納する基本ディレクトリツリー

次に、ディレクトリの各コンポーネントについて詳しく説明します。


サーバフロントエンドの概要

Directory Server のサーバフロントエンドは、ディレクトリクライアントプログラムとの通信を管理します。Directory Server は、デーモンとして機能します。複数のクライアントプログラムが、LDAP を通じてサーバと対話できます。これらのクライアントプログラムは、TCP/IP 上の LDAP を使用して通信できます。クライアントが接続に TLS (Transport Layer Security) を使用する場合は、SSL/TLS で接続を保護することもできます。

通常、TLS で通信を行う場合は通信が暗号化されます。将来、DNS セキュリティが実装されている場合は、安全な DNS と組み合わせて使用される TLS によって、クライアントアプリケーションが適切なサーバに接続しているかどうかクライアントアプリケーションに通知されるようになります。クライアントに証明書が発行されている場合、iPlanet Directory Server では TLS を使用して、クライアントにサーバへのアクセス権があることを確認できます。TLS およびその前身である SSL は、iPlanet Directory Server の製品で、メッセージの整合性検査、デジタル署名、サーバ間の相互認証などのセキュリティ機能を実行するために使用されます。

Directory Server はマルチスレッドアプリケーションなので、複数のクライアントが同じネットワーク上で同時にサーバに接続することができます。ディレクトリサービスが、膨大な数のエントリや物理的に分散している多数のクライアントを取り込んでその規模を拡大するにつれて、複数の Directory Server をネットワーク上の戦略的な位置に配置するようにします。


サーバプラグインの概要

Directory Server はプラグインを利用しています。プラグインは、コアサーバの機能を拡張する手法の 1 つです。たとえば、プラグインの例として、データベースが挙げられます。

プラグインは、無効にすることもできます。無効にすると、プラグインの構成情報はディレクトリ内に残りますが、その機能はサーバで使用されなくなります。ディレクトリでどのような処理をするかに応じて、Directory Server が提供するプラグインの中から利用したいプラグインを選択できます。

iPlanet プロフェッショナルサービスでは、Directory Server の導入においてカスタムプラグインを作成するサービスを提供しています。詳細は、iPlanet プロフェッショナルサービスにお問い合わせください。


基本ディレクトリツリーの概要

ディレクトリツリー (directory tree) はディレクトリ情報ツリーまたは DIT とも呼ばれ、ほとんどのファイルシステムで使用されるツリーモデルに酷似して、階層の最上位にツリーのルート、つまり最初のエントリが置かれています。インストール時に、Directory Server によってデフォルトのディレクトリツリーが作成されます。

デフォルトのディレクトリツリーを次に示します。



ツリーのルートはルート接尾辞 (root suffix) と呼ばれます。ルート接尾辞の命名方法については、「接尾辞の選択」を参照してください。

インストール時に、ディレクトリにはルート接尾辞の下に最大 4 つのサブツリーを作成できます。

  • cn=config

    このサブツリーには、サーバの内部構成に関する情報が含まれます。

  • o=NetscapeRoot

    このサブツリーには、iPlanet Administration Server など、ほかの iPlanet サーバの構成情報が含まれます。Administration Server は、認証のほかに、LDAP 経由では実行できないすべての処理 (起動や停止など) を行います。

  • o=userRoot

    インストール時に、ユーザデータベースがデフォルトで作成されます。このデータベースのデフォルト名は、o=userRoot です。



     

    Directory Server の別のインスタンスをインストールするときに、o=NetscapeRoot 情報を含めずに、別のサーバにある構成ディレクトリまたは o=NetscapeRoot サブツリーを使用するように指定できます。  



デフォルトのディレクトリツリーを基に、インストールするディレクトリに関連するデータを追加できます。次に、siroe.com 社のディレクトリツリーの例を示します。



ディレクトリツリーの詳細については、第 4 章「ディレクトリツリーの設計」を参照してください。


Directory Server のデータ保存

ディレクトリデータは、LDBM データベース (LDBM database) に保存されます。LDBM データベースは、ディレクトリとともに自動的にインストールされるプラグインとして実装されており、デフォルトで有効になっています。

データベースは、保存、性能、複製、およびインデックス付けに適用される基本単位です。データベースに対して、インポート、エクスポート、バックアップ、復元、インデックス付けなどの操作を実行できます。

デフォルトでは、Directory Server はディレクトリツリーを 1 つのデータベースに収めます。このデータベースにより、数百万のエントリを管理できます。デフォルトデータベースには、データを安全に保護するために、データのバックアップと復元を行うための高度なツールが用意されています。

複数のデータベースを使用して Directory Server をサポートするように選択できます。データを複数のデータベースに分散すると、1 つのデータベースに保存するよりも多くのデータをサーバで保持できます。

次に、ディレクトリデータベースによるデータの保存方法について説明します。


ディレクトリのエントリについて

LDIF (LDAP Data Interchange Format) は、ディレクトリのエントリを記述するための標準のテキスト形式です。エントリ (entry) は、組織のメンバーやネットワーク上のプリンタなどのオブジェクトに関する情報を含む LDIF ファイルの行のグループです。エントリについての情報は、LDIF ファイル内で属性や値のセットで表されます。各エントリはオブジェクトの種類を示すオブジェクトクラス (object class) 属性を持ち、このオブジェクトに含まれている属性をエントリで記述して定義します。各属性 (attribute) は、エントリの特性を示します。

たとえば、オブジェクトクラスが organizationalPerson で、特定の組織のメンバーを表すエントリがあるとします。このオブジェクトクラスには、givenname 属性と telephoneNumber 属性があります。これらの属性に割り当てられた値は、エントリが示すメンバーの名前と電話番号を表します。

iPlanet Directory Server は、サーバによって計算される読み取り専用属性も使用します。これらの属性は、操作属性と呼ばれます。アクセス制御やその他のサーバ機能に関連した、管理者が設定可能な操作属性もあります。

エントリは、ディレクトリツリー内の階層構造に保存されます。LDAP では、1 つのエントリを照会し、ディレクトリツリー内でそのエントリの下位にあるすべてのエントリを要求できます。このサブツリーは、ベース識別名またはベース DN と呼ばれます。たとえば、 ou=people, dc=siroe,dc=com というベース DN を指定して LDAP 検索を要求すると、 dc=siroe,dc=com ディレクトリツリーの ou=people サブツリーだけが検索されます。

ただし、LDAP 検索に呼応してすべてのエントリが自動的に返されるわけではありません。ldapsubentry オブジェクトクラスのエントリは、通常の検索要求では返されません。ldapsubentry エントリは管理オブジェクトを表します。たとえば、ロール (role)サービスクラス (Class of Service) を定義するエントリは、Directory Server で内部的に使用されます。これらのエントリが返されるようにするには、クライアントは特別な方法で ldapsubentry オブジェクトクラスのエントリを検索する必要があります。

ロールについては、「管理されているロール、フィルタを適用したロール、入れ子のロール」を参照してください。サービスクラスについては、「サービスクラス」を参照してください。


ディレクトリデータの分散

ツリーのさまざまな部分を別々のデータベースに格納すると、ディレクトリがクライアントの要求を並行して処理できるようになり、性能が向上します。データベースを異なるマシンに保存すれば、さらに性能を向上させることができます。

分散されたデータに接続するには、ディレクトリのサブツリーに特殊なエントリを作成します。このエントリの下で実行されるすべての LDAP 操作は、エントリが実際に格納されているリモートマシンに送信されます。この手法は、連鎖 (chaining) と呼ばれます。

連鎖はプラグインとしてサーバに実装されます。プラグインはデフォルトで有効になっています。このプラグインを使用して、離れた場所に格納されているデータをポイントするための特殊なエントリである、データベースリンクを作成できます。クライアントアプリケーションがデータベースリンク (database link) からデータを要求すると、データベースリンクはリモートデータベースからデータを検索して、クライアントに返します。



ディレクトリ設計の概要



前節では、ディレクトリサービスの概要を説明し、そしてiPlanet Directory Server について特に説明しました。ここでは、ユーザ独自のディレクトリサービスの設計について説明します。

実際にディレクトリサービスを導入する前に設計計画を立てることは、ディレクトリを確実に成功させるためのもっとも重要な作業です。ディレクトリの設計時には、環境、データソース、ユーザ、ディレクトリを使用するアプリケーションなど、ディレクトリに求められる要件に関するデータを収集します。これらのデータを活用することにより、要件を満たすディレクトリサービスを設計できます。

ただし、iPlanet Directory Server が備える柔軟性により、Directory Server を導入した後も、予期しない状況や要件の変更に対応して設計を見直すことができます。


設計プロセスの概要

次に、設計プロセスを 6 段階に分けて説明します。

  • ディレクトリデータの設計

    ディレクトリには、ユーザ名、電話番号、ユーザが属するグループの情報などのデータが入ります。組織内のさまざまなデータソースを分析し、それらの相互関係を理解するには、第 2 章「ディレクトリデータの設計」を参照してください。第 2 章では、ディレクトリに保存するデータのタイプや、Directory Server の内容の設計に必要なほかの作業について説明しています。

  • スキーマの設計

    ディレクトリは、1 つ以上のディレクトリ対応アプリケーションをサポートするように設計します。これらのアプリケーションには、ディレクトリに格納するデータについて、形式などの要件があります。ディレクトリに格納するデータの特性は、ディレクトリスキーマで決定します。第 3 章「スキーマの設計」では、iPlanet Directory Server に含まれる標準スキーマを紹介し、スキーマをカスタマイズする方法を説明しています。スキーマの一貫性を保持するためのヒントも記載されています。

  • ディレクトリツリーの設計

    ディレクトリに格納するデータを決めたら、そのデータを編成して、参照させる必要があります。ディレクトリツリーの目的は、この編成と参照です。第 4 章「ディレクトリツリーの設計」では、ディレクトリツリーを紹介し、データ構造の設計方法を説明しています。ディレクトリツリーの設計例も記載されています。

  • ディレクトリトポロジの設計

    トポロジの設計では、ディレクトリツリーを複数の物理的な Directory Server 上に分割する方法や、これらのサーバ間での通信方法を決定します。第 5 章「ディレクトリトポロジの設計」では、トポロジ (topology) 設計の基礎となる一般原則、複数のデータベースの使用方法、分散したデータをリンクするのに使用するメカニズム、ディレクトリ自体で分散したデータを追跡する方法について説明しています。

  • レプリケーションの設計

    レプリケーションを使用すると、複数の Directory Server が同じディレクトリデータを保持するので、性能が向上し、耐障害性が高まります。第 6 章「レプリケーションの設計」では、レプリケーションのしくみ、レプリケートできるデータの種類、一般的なレプリケーションの使用例について説明しています。また、可用性の高いディレクトリサービスを構築するためのヒントを示しています。

  • 安全なディレクトリの設計

    最後に、ディレクトリ内のデータを保護する方法を計画し、ユーザとアプリケーションのセキュリティ要件を満たすように、サービスをほかの側面から検討します。第 7 章「安全なディレクトリの設計」では、一般的なセキュリティ上の危険、セキュリティ手法の概要、必要なセキュリティ要件を分析する際の手順について説明しています。また、アクセス制御を設計し、ディレクトリデータの整合性を保持するためのヒントを示しています。


ディレクトリの導入

ディレクトリサービスの設計が完了したら、導入フェーズに進みます。導入フェーズは、次のステップから構成されます。


ディレクトリの試験

導入フェーズの最初のステップでは、サーバのインスタンスを試験的にインストールし、サービスがユーザの負荷を処理できるかどうかをテストします。サービスが適切でない場合は、設計を調整してパイロットテストを繰り返します。自信を持って全社的に導入できるような堅牢なサービスが完成するまで、設計を調整します。

試験的なディレクトリ作成と実装の概要については、『Understanding and Deploying LDAP Directory Services』 (T. Howes、M. Smith、G. Good 著、Macmillan Technical Publishing 発行、1999 年) を参照してください。


ディレクトリの実際の導入

パイロットテストを実施して、サービスを調整したら、ディレクトリサービスを試験的な導入から実際の導入に移す計画を立て、それを実行します。次のような内容の導入計画を作成します。

  • 必要な資源の見積もり

  • サーバをインストールする前にやっておくべき作業

  • 達成すべき事柄と作業日程

  • 導入が成功したかどうかを測定するための一連の基準

ディレクトリの管理と保守については、『iPlanet Directory Server 管理者ガイド』を参照してください。



その他の一般的なディレクトリ関連資料



ディレクトリ、LDAP、および LDIF については、次のドキュメントを参照してください。


前へ     目次     索引     DocHome     次へ     
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.

Last Updated March 02, 2002