OpenLDAP

OpenLDAP:柔軟性の高いオープンソースLDAP実装



OpenLDAPは、Lightweight Directory Access Protocol (LDAP) を実装した、フリーでオープンソースのソフトウェアです。BSD系ライセンスであるOpenLDAP Public Licenseの下で公開されており、世界中の多くの組織や個人によって利用されています。プラットフォーム非依存のプロトコルであるLDAPをサポートし、Linuxを始め、BSD、macOS、Solaris、Windows、AIX、HP-UX、z/OSなど、幅広いOS上で動作します。

プロジェクトの歴史と開発チーム



OpenLDAPプロジェクトは、Kurt Zeilenga氏によって1998年に開始されました。ミシガン大学のLDAPリファレンス実装を基に、LDAPプロトコルの開発と改良を継続的に行っています。2015年時点の中核開発チームは、Howard Chu氏(チーフアーキテクト)、Quanah Gibson-Mount氏、Hallvard Furuseth氏、Kurt Zeilenga氏の4名で構成され、他にも多くの活発なコントリビュータが参加しています。

システム構成



OpenLDAPは、大きく分けて以下の3つのコンポーネントから構成されます。

1. slapd (Standalone LDAP Daemon): これはOpenLDAPの中核となるデーモンで、LDAPプロトコル処理とデータ管理を行います。様々なオーバーレイやツールと連携して動作します。
2. LDAPライブラリ群: LDAPプロトコルを実装したライブラリ群で、他のアプリケーションからLDAPサーバへのアクセスを可能にします。
3. クライアントソフトウェア: `ldapsearch`, `ldapadd`, `ldapdelete` などのコマンドラインツールが提供され、LDAPサーバとのインタラクションを容易にします。

さらに、OpenLDAPプロジェクトでは、Java用LDAPクラスライブラリ(JLDAP)、Java JDBC-LDAPブリッジドライバ(JDBC-LDAP)、C++用LDAPクラスライブラリ(ldapc++), Java用ロールベースアクセス管理(Fortress), メモリマップドデータベースライブラリ(LMDB)などのサブプロジェクトも展開しています。

バックエンド



OpenLDAPサーバ(slapd)は、ネットワーク処理とプロトコル処理を行うフロントエンドと、データストレージを扱うバックエンドの2層構造で設計されています。この設計は、ミシガン大学のオリジナルコードから受け継がれた特徴です。バックエンドはモジュール構造となっており、様々なデータストレージテクノロジーとの連携を可能にしています。Berkeley DB, LDIFファイル、メモリマップドデータベース(LMDB), MySQLのNDBクラスタエンジンなど、多数のバックエンドが提供されています。また、他のLDAPサーバへのプロキシ機能、Unixパスワードファイルとの連携、SQLデータベースとの連携なども可能です。`back-perl`, `back-shell`, `back-sock` といったバックエンドは、任意のスクリプト言語との連携を可能にし、高い拡張性を提供します。古いバックエンドの中には、サポートが終了したものや、将来的に廃止される予定のものもあります。

オーバーレイ



オーバーレイは、slapdのフロントエンドとバックエンドの間に挿入されるコードの断片で、LDAPリクエストをインターセプトし、処理をカスタマイズできます。データベース機能の拡張や新機能の追加を、コンパクトで保守性の高いモジュールとして実現可能です。OpenLDAP 2.2で導入されて以来、多くのオーバーレイがコミュニティによって開発され提供されています。アクセスログ、監査ログ、クエリチェーン、動的グループ、パスワードポリシー、レプリケーションなど、様々な機能を提供するオーバーレイが存在します。

モジュール



バックエンドとオーバーレイ以外にも、slapdは動的にロード可能なモジュールをサポートしています。これにより、LDAP構文、マッチングルール、アクセス制御、パスワードハッシュアルゴリズムなどを拡張、カスタマイズできます。また、SLAPI (Sun LDAP Plugin API) もサポートしていますが、OpenLDAPコミュニティではオーバーレイがより一般的に利用されています。

レプリケーション



OpenLDAPは、RFC 4533で定義されたコンテンツ同期レプリケーション(syncrepl)をサポートしています。syncreplは、変更シーケンス番号(CSN)を用いて変更の追跡を行い、複数プライマリレプリケーション(マルチマスター)もサポートします。delta-syncreplは、変更のみを効率的にレプリケーションする拡張機能です。

リリース履歴



OpenLDAPは、ミシガン大学版からの発展を経て、2.x系へとバージョンアップを繰り返してきました。各バージョンでは、LDAPv3サポート、IPv6サポート、レプリケーション機能、オーバーレイインターフェース、様々なバックエンドの追加など、多くの機能強化が行われています。

まとめ



OpenLDAPは、その柔軟性、拡張性、そして活発なコミュニティサポートにより、様々な規模のLDAPディレクトリサービス構築に適した、強力なツールです。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。