OpenLDAPサーバーの設定ガイド

〜 基本からアクセス制御までを一気に理解!〜

目次

📝 はじめに

OpenLDAPは、軽量ディレクトリアクセスプロトコル(LDAP)を実装したオープンソースのディレクトリサービスです。ユーザー情報、グループ、ネットワーク機器などの情報を一元管理するための基盤として広く使われています。

本記事では、OpenLDAPの基本構成、重要な設定ファイル、エントリ操作、そしてアクセス制御までをわかりやすく解説します。


🧱 1. OpenLDAPの基本構造と用語

用語説明
LDAP軽量なディレクトリアクセスプロトコル。情報を階層的に構造化して管理。
DN(識別名)エントリを一意に特定する名前。例:uid=tanaka,ou=users,dc=example,dc=com
LDIFLDAPデータを記述するためのファイル形式。テキストでエントリを定義。
スキーマ属性やオブジェクトクラスの定義。例:inetOrgPerson, posixAccount
エントリLDAPディレクトリ内の情報単位。各エントリは属性と値を持つ。

📂 2. ディレクトリ構成と設定ファイル

OpenLDAPには2つの設定方式があります。

🗂 slapd.conf(旧方式)

従来の設定方法で、設定が1つのファイルにまとまっています。

📁 slapd-config(新方式)

設定がLDAPのディレクトリエントリとして管理されます。cn=config以下に格納され、ldapmodifyなどで変更します。


🛠 3. OpenLDAPの基本コマンド

コマンド機能
slapdOpenLDAPサーバー本体を起動するデーモン。
slapaddLDIFファイルからデータベースに直接データを追加。
slapcatデータベース内容をLDIF形式で出力。
slapindexインデックスの再生成。
ldapaddLDAP経由でエントリを追加。
ldapmodifyエントリの変更。
ldapdeleteエントリの削除。

例:LDIFによるユーザー追加

dn: uid=tanaka,ou=users,dc=example,dc=com
objectClass: inetOrgPerson
uid: tanaka
sn: Tanaka
givenName: Taro
cn: Taro Tanaka
mail: tanaka@example.com
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f user.ldif

🔐 4. アクセス制御とセキュリティ

アクセス制御は、ユーザーやグループごとの読み書き権限を細かく設定する重要機能です。

slapd.access(旧設定方式)例

access to dn.base=""
by * read
access to dn.subtree="ou=users,dc=example,dc=com"
by dn.exact="cn=admin,dc=example,dc=com" write
by users read

slapd-config方式の場合

dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: to dn.subtree="ou=users,dc=example,dc=com" by dn.exact="cn=admin,dc=example,dc=com" write by * read
ldapmodify -Y EXTERNAL -H ldapi:/// -f access.ldif

📚 5. スキーマとオブジェクトクラス

OpenLDAPのデータ構造を定義するのがスキーマです。各エントリにはオブジェクトクラスがあり、それに対応した属性を持てます。

代表的なオブジェクトクラス

クラス名用途
organizationalUnit部門情報などを定義
inetOrgPerson一般的なユーザー情報管理
posixAccountUNIXユーザーアカウント

🌐 6. WebインタフェースとGUIツール

OpenLDAPはCLI操作が基本ですが、以下のGUIツールも利用可能です。

  • phpLDAPadmin:WebブラウザでLDAP管理
  • LDAP Account Manager (LAM):ユーザー/グループ管理に特化

✅ まとめ

項目理解すべきポイント
構成ファイルと用語slapd.conf vs slapd-config、DN、LDIFなど
基本コマンドslapadd/slapcat、ldapadd/ldapmodifyなど
アクセス制御slapd.accessの書き方と実装方法
スキーマinetOrgPersonなどの使い分け

OpenLDAPは初学者にはやや難しいですが、設定の流れや構成を体系的に理解すれば、非常に柔軟でパワフルなディレクトリサービスになります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次