LoginSignup
91
86

More than 5 years have passed since last update.

LDAPがなんだかよくわからない

Last updated at Posted at 2015-11-03

LDAPがなんだかよくわからない自分のために

【LDAPとは】

Light weight(軽量)な Directory Access Protocolのこと

LDAPは、ユーザからの検索クエリに対して結果を返したり、システム管理者が内容を自由に追加、変更できるデータベースとして機能する、らしい

【RDB(リレーショナルデータベース)と何が違うのか?】

それだったらRDBでもいいと思う。RDBと何が違うのか?
→ RDBと違って、LDAPは「ディレクトリ」と呼ばれる階層構造(木構造)により構成されている

<データベースが木構造であるメリット>

  • ディレクトリ(階層)によるグルーピングにより、管理がしやすい(木構造だから、枝ごとに管理を委任できる)
  • 目的のユーザ情報がグルーピングされたディレクトリだけ検索すればよいので、検索のパフォーマンスがよい(木構造だから、全検索しなくても、その枝だけ検索すればよい)
  • 主にテキストベースの情報を扱うので処理の負荷が小さい
  • 検索のためのプロトコルとして属性が定義されている。LDAPスキーマとして自分で属性を加えることもできる

【LDAP管理上の単位】

LDAPは管理上の単位として、オブジェクトと、エントリを持つ

オブジェクト→管理者が実際に操作する対象(木構造の葉のこと)

LDAP項目 RDBで言うと
entry レコード
attribute カラム

オブジェクトが要素で、エントリが要素の集まった塊のこと。

データベースと同じように、エントリ(レコード)の追加、削除、編集などができるが、それらを行うまえに、バインドを行わなければならない。
バインドとは認証のこと(ログインみたいなもの)

【LDAPの木構造】

DIT(Directory Information Tree)というらしい。
TOPから順に、

DC(Domain Component)= ドメイン名
OU(Organizational Unit)= 組織単位
CN(Common Name)= 一般名

これらを下位からカンマでつなげると、
DN(Distinguished Name、識別名)になる。当たり前だけど、DNはそのドメインで一意でないといけない。

ちょっと例を見てみよう。
LDAPはデータベースなので、とりあえず登録するものは人でもモノでもなんでもいい。

例えば、日本の、hogehoge社にある、営業課のプリンタを登録してみる。

DC=hogehoge,DC=com ★
OU=Sales
CN=Canon01

★DCはドメインの構成要素のことなので、例えばgoogleだったら、www.google.comは
DC=www,DC=google,DC=comと、3つのDCを持つことになる。

DN:CN=Canon01,OU=Sales,DC=hogehoge,DC=com

こんな感じ。

【LDAP searchの意味がわからない】

ldapsearch -x -h localhost -p 9999 cn=hoge1 -b ds=aaaa, o=bbb, dc=ccc -s sub -a always

-x InfoDirectoryサーバ上で検索する
-h (ldap host) LDAPサーバが稼働しているホスト名またはIPアドレス
-p (ldap port) LDAPサーバに接続するためのポート名
-b (search base) 検索開始位置をデフォルトではなくsearch baseにする
-s (base|one|sub) 検索スコープ。base→ベースオブジェクト、one→1レベル検索、sub→サブツリー検索
-a (never|always|search|find) never→エイリアスを実名参照しない always→常に実名参照 search→検索で実名参照 find→ベースオブジェクトを探すときのみ実名参照

91
86
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
91
86