本記事の目的
前職にて LDAP(Lightweight Directory Access Protocol)を知らない人向けに説明するための資料を作っていたのだが、他でも役立つかもしれないので Qiita に投稿してみる。LDAP について説明している記事は少なからずあるけど、絵で説明しているものが少ない印象・・・絵があってもけっこう複雑な感じで、自分も LDAP について知るために結構苦戦した記憶。
本記事では、LDAP を全く知らない人向けに 「LDAP ってこういうメリットあるよ!」 というのをなんとなく知ってもらうことを目的としてます。興味をもっていただければ、別記事でいろいろ学んでいただければと。
身近な LDAP
身近なところでどう LDAP が利用されているかを説明するのがわかりやすい気がする。
例えば、学校とか職場によっては PC 利用室みたいな、複数の PC が用意されていてどれでも自由に利用できるスペースがあると思う。このスペースにおいて、どの PC についても同じ ID / パスワードでログインできるはず。
では、これはそれぞれの PC に対して同じ ID / パスワードを 1 つひとつ登録しているのか?というと、そうではない。もしそうだとしたら、担当者の稼働が大変なことに・・・例えば大学であれば毎年新入生が何百・何千人と入ってくる際に 1 つひとつの PC に認証情報を登録していくのは大変。。
上のような課題を解消できるのが LDAP、と捉えるといい。1 つひとつの PC に登録するのではなく、LDAP サーバを用意してその 1 台のみに認証情報を登録しておく。
こうすることで、LDAP サーバ 1 台のみに情報登録するだけでよくなるので、認証情報登録の手間を軽減できる。
それぞれの PC で ID / パスワードを入力した際には、LDAP サーバに問い合わせて、認証情報が正しいかどうかを判断する仕組み。
また、このやりかたのメリットは他にも以下がある。
- 学生が卒業したとか社員が退職したとかの場合でも、LDAP サーバだけ情報を変更すればいい
- 利用者の姓が変わった場合でも、LDAP サーバだけ情報を変更すればいい
大学とか職場において、どの PC でも同じ ID / パスワードを使ってログインできる場合にはおそらく Windows 端末を使っていると思う。この場合は LDAP を利用した ActiveDirectory という Microsoft のサービスを利用している。もしかすると「90 日ごとにパスワード変更を要求される」みたいなことに出会った人がいるかもしれないが、これも ActiveDirectory の機能によるもの。
- LDAP と ActiveDirectory の違いについて:前者はプロトコル、後者は LDAP を用いたサービスという理解でよさそう。ここではあまり言及しないが、以下が参考になりそう。
終わりに
- LDAP を勉強し始めた際にワケがわからなすぎたのだけど、上記みたいに LDAP を身近に感じられると学習の一助になるかなと思って投稿してみた。とはいえ、奥が深いので自分も理解はまだまだだけど・・。
- ここでは触れなかったが LDAP の特徴としてはツリー構造があると思う。ツリー構造の学習で自分は以下 2 記事にお世話になったので記載しておきます。
- 【図解】初心者にも分かるLDAP入門~仕組みや概念,スキーマ,認証/連携の具体例,ADやデータベースとの違い~ の「LDAP とデータベースとの違いは?」章
- LDAP Authentication の「LDAP識別名とは」章