コンピューティングにおいて、ディレクトリ サービスまたはネーム サービスは、ネットワーク リソースの名前をそれぞれのネットワーク アドレスにマッピングします。これは、ボリューム、フォルダー、ファイル、プリンター、ユーザー、グループ、デバイス、電話番号、その他のオブジェクトを含む日常的なアイテムやネットワーク リソースを検索、管理、運営、整理するための共有情報インフラストラクチャです。ディレクトリ サービスは、ネットワーク オペレーティング システムの重要なコンポーネントです。ディレクトリ サーバーまたはネーム サーバーは、このようなサービスを提供するサーバーです。ネットワーク上の各リソースは、ディレクトリ サーバーによってオブジェクトとみなされます。特定のリソースに関する情報は、そのリソースまたはオブジェクトに関連付けられた属性のコレクションとして保存されます。
ディレクトリ サービスは、ネットワークの名前空間を定義します。名前空間は、各オブジェクトに名前(一意の識別子) を割り当てるために使用されます。ディレクトリには通常、ネットワーク リソースの命名と識別方法を決定する一連の規則があり、通常、識別子は一意で曖昧でないことが求められます。ディレクトリ サービスを使用する場合、ユーザーはネットワーク リソースの物理アドレスを覚えておく必要はなく、名前を指定すればリソースが見つかります。一部のディレクトリ サービスにはアクセス制御規定が含まれており、ディレクトリ情報の利用を承認されたユーザーに限定します。
リレーショナルデータベースとの比較
ディレクトリ サービスとリレーショナル データベースにはいくつかの違いがあります。パフォーマンスが向上する場合は、データを冗長化することができます (たとえば、キーを介して別のテーブルの内容に値を関連付けるのではなく、テーブル内の行で値を繰り返すことで、この手法は非正規化と呼ばれます。別の手法としては、実際のスループットを向上させるためにレプリカを利用することが挙げられます)。[1]
ディレクトリ スキーマは、オブジェクト クラス、属性、名前のバインディング、および知識 (名前空間) であり、オブジェクト クラスには次のものが含まれます。
- 必須- 各インスタンスが持つ必要のある属性
- 5月- インスタンスに対して定義できるが省略可能な属性。存在しない場合はリレーショナルデータベースのNULLと同様です。
属性は複数の値を持つ場合があり、1 つのレベルで複数の命名属性を使用できます (マシン タイプとシリアル番号の連結、または「職場の電話」の複数の電話番号など)。属性とオブジェクト クラスは通常、業界全体で標準化されています。たとえば、X.500属性とクラスは、多くの場合、そのオブジェクト ID に対してIANAに正式に登録されています。 [引用が必要]そのため、ディレクトリ アプリケーションは、既存のディレクトリ サーバー ソフトウェアの利点を最大限に活用するために、標準のクラスと属性を再利用しようとします。
オブジェクト インスタンスは名前空間に配置されます。各オブジェクト クラスは親オブジェクト クラス (最終的には階層のルート)から継承され、必須/必須リストに属性が追加されます。ディレクトリ サービスは、 IT システムのセキュリティ設計の中心となることが多く、それに応じてアクセス制御の粒度が細かくなります。
複製と配布
ディレクトリ サービスの設計と管理において、レプリケーションと分散は異なる意味を持ちます。レプリケーションは、冗長性とスループットの理由から、同じディレクトリ名前空間 (同じオブジェクト) が別のディレクトリ サーバーにコピーされることを示します。複製された名前空間は、同じ権限によって管理されます。分散は、異なる名前空間にある複数のディレクトリ サーバーが相互接続されて分散ディレクトリ サービスを形成することを示します。各名前空間は、異なる権限によって管理できます。
実装
ディレクトリ サービスは、共通のネットワーク標準と複数ベンダーの相互運用性のためのオープン システム インターコネクション(OSI) イニシアチブの一部でした。1980 年代に、 ITUとISO は、当初はキャリア間の電子メッセージングとネットワーク名の検索の要件をサポートするために、ディレクトリ サービスのX.500 標準セットを作成しました。軽量ディレクトリ アクセス プロトコル(LDAP) は、X.500 ディレクトリ情報サービスに基づいており、TCP/IP スタックとインターネット上の X.500ディレクトリアクセス プロトコル(DAP) 文字列エンコード スキームを使用しています。
X.500 より前に開発されたシステムには次のものがあります。
- ドメインネームシステム(DNS):インターネット上の最初のディレクトリサービス。 [2]現在も使用されている。
- Hesiod : DNS に基づいており、MIT のProject Athenaで使用されています。
- ネットワーク情報サービス(NIS):元々はYellow Pages (YP)であり、 Sun MicrosystemsのUnixネットワーク環境向けディレクトリ サービスの実装です。Hesiod と同様の役割を果たしました。
- NetInfo : 1980 年代後半に NeXT によってNEXTSTEP向けに開発されました。Apple に買収された後、オープンソースとしてリリースされ、 LDAP ベースの Open Directory に置き換えられるまでMac OS Xのディレクトリ サービスでした。NetInfo のサポートは、10.5 Leopard のリリースで削除されました。
- Banyan VINES :最初のスケーラブルなディレクトリ サービス
- NT ドメイン: Windows 2000 で LDAP ベースの Active Directory がリリースされる前に、Windows マシンにディレクトリ サービスを提供するために Microsoft によって開発されました。Windows Vista では、最小限の認証プロトコルを緩和した後も、NT ドメインのサポートを継続しています。
LDAP実装
LDAP/X.500 ベースの実装には以下が含まれます。
- 389 ディレクトリ サーバー: Red Hatによる無料のオープン ソース サーバー実装。Red Hat とSUSEによる商用サポート付き。
- Active Directory : MicrosoftのWindows用ディレクトリ サービス。X.500 ディレクトリから派生し、Exchange Serverで使用するために作成され、Windows 2000 Serverで初めて出荷され、その後の Windows バージョンでサポートされています。
- Apache ディレクトリ サーバー: Java で記述されたディレクトリ サービス。LDAP、Kerberos 5、およびパスワード変更プロトコルをサポート。LDAPv3 認定済み
- Apple Open Directory : Mac OS X用のAppleのディレクトリ サーバ。Mac OS X Serverを通じて利用可能
- eDirectory: NetIQ のディレクトリ サービスの実装は、Windows、NetWare、Linux、およびいくつかの種類のUnixを含む複数のアーキテクチャをサポートし、ユーザー管理、構成、およびソフトウェア管理に使用されます。以前は Novell Directory Services と呼ばれていました。
- Red Hat Directory Server : Red Hatは、AOLのNetscape Security Solutions部門[3]から買収したRed Hat Directory Serverを、コミュニティ支援の389 Directory ServerプロジェクトとしてRed Hat Enterprise Linux上で動作する商用製品としてリリースしました。上流のオープンソースプロジェクトはFreeIPAと呼ばれています。
- Oracle Internet Directory : (OID)は、LDAP バージョン 3 と互換性のあるOracle Corporationのディレクトリ サービスです。
- Sun Java System Directory Server :サン・マイクロシステムズのディレクトリサービス[4]
- OpenDS : Sun Microsystemsが支援するJavaのオープンソースディレクトリサービス[5]
- Oracle Unified Directory: (OUD) は、Oracle Corporationの次世代統合ディレクトリ ソリューションです。ストレージ、同期、プロキシの機能が統合されています。
- Windows NT ディレクトリ サービス(NTDS) は、後にActive Directoryに名前が変更され、以前の NT ドメイン システムに取って代わりました。
- クリティカルパスディレクトリサーバー
- OpenLDAP : ミシガン大学のオリジナルの LDAP 実装 (Netscape、Red Hat、Fedora、Sun JSDS 実装など) から派生したもので、すべてのコンピュータ アーキテクチャ (Unix および Unix 派生製品、Linux、Windows、z/OS、および多数の組み込みリアルタイム システムを含む) をサポートします。
- ロータスドミノ
- Nexorディレクトリ
- OpenDJ - CDDLライセンスの下で、あらゆるオペレーティング環境で動作するJavaベースのLDAPサーバーおよびディレクトリクライアント。 2016年までForgeRockによって開発され、[6]現在はOpenDJコミュニティによって管理されています。
ディレクトリ サービスを作成するオープン ソース ツールには、OpenLDAP、Kerberos プロトコル、およびKerberos と LDAPバックエンドを備えた Windowsドメイン コントローラとして機能できるSamba ソフトウェアが含まれます。管理は GOsa または Samba SWAT によって行われます。
名前サービスの使用
Unix システム
Unix システム上のネーム サービスは通常、 nsswitch.confを通じて設定されます。ネーム サービスからの情報はgetentで取得できます。
参照
参考文献
引用
- ^ 「リレーショナルデータベースを非正規化するタイミングと方法」rubygarage.org . 2023年4月30日閲覧。
- ^ "RFC1034". IETF.org. 1978-11-01 . 2018-02-13閲覧。
- ^ 「Red Hat、元Netscapeのセキュリティソリューション事業に2,300万ドルを投資」。2018年4月22日閲覧。
- ^ 「Oracle と Sun」。Sun.com。2010 年 9 月 7 日。2012年 1 月 9 日閲覧。
- ^ "Java.net". Opends.dev.java.net. 2007-07-04 にオリジナルからアーカイブ。2012-01-09に取得。
- ^ 「ForgeRock はオープンソース コミュニティを閉鎖し、許容ライセンスの下でのプラットフォーム上での新規開発を許可しなくなりました」。timeforafork 2017年 6 月 1 日。2017 年 10 月 3 日時点のオリジナルよりアーカイブ。2017年6 月 1 日閲覧。
出典
- カーター、ジェラルド (2003)。LDAPシステム管理。オライリー メディア。ISBN 978-1-56592-491-8。
