3 Minutes NetWorking Supplement
No.09

3Minutes NetWorking Supplement

補講第9回LDAP(1) ディレクトリサービス

■ ディレクトリ

おねーさん

おね〜さんと、

ほげたん

ほげたんのっ!!

おねーさん

3 Minutes Networking、

ほげたん

Supplement !!

おねーさん

え〜っと。今回からは新しい話で。
ディレクトリサービスについて話をしたいな、と。

ほげたん

ディレクトリってあのディレクトリ?

おねーさん

どのディレクトリ?

ほげたん

あれ。

おねーさん

うん、そう。そのディレクトリ。

ほげたん

そっかー、あのディレクトリか……、いや、おね〜さん? この受け答えはないでしょ?

おねーさん

ん? そう? 楽でよかったのに。
で、ほげたん、どのディレクトリよ?

ほげたん

ほら、ファイルシステムで使う…、Windowsだと「フォルダ」って呼ぶけど、そのディレクトリ。

おねーさん

うん。それであってるわよ。
ほげたんの指すディレクトリって何をするもの?

ほげたん

え? え〜っと、そうだな〜。ディレクトリは、「ファイルを管理して位置を登録するもの」、じゃないかな?

おねーさん

40点ってところかな? ちょっと合格点はあげられないわね。
登録しているのは「位置」だけ? 確かにファイルシステムではディレクトリによりファイルの位置を特定しているけど、それだけなの?

ほげたん

ん〜、他になにかあったっけ?

おねーさん

サイズ、作成日時、作成者、使用したアプリケーションなどの情報も登録されてるわよね。

ほげたん

そう言われれば、そうだね。

おねーさん

まとめて言うと、「ファイルシステムでのディレクトリ」って、結局なんなの?

ほげたん

なんなのって…。
「ファイル」の「位置・サイズ・作成日時などの情報」を「管理」するもの?

おねーさん

うんうん。それであってる。
つまり、ディレクトリとは? ファイルって何?

ほげたん

う、う〜ん…、データ?

おねーさん

もっと汎用的に?

ほげたん

リソース

おねーさん

そう。つまりディレクトリとは、リソースの情報を管理するものってことよね。

ほげたん

う、うん。そうなるね。

■ ディレクトリサービス

おねーさん

さて、ディレクトリとは「リソースの情報を管理するもの」だけど。
ディレクトリだけあってもしょうがないわよね。使う人がいないと。

ほげたん

まぁ、そうだよね。

おねーさん

例えば、そうね〜、電話帳にしましょう。
電話帳は「人」というリソースの、「電話番号」という情報を管理するディレクトリよね。

ほげたん

そだね。で、僕らはそれを調べるわけだね。

おねーさん

うん、調べるわけだけどね。自力で調べちゃうのはアレだから、ちょっと他の人に頼みましょう。
電話番号だと、「104」かな? ほげたん、104ってなに?

ほげたん

電話番号案内サービス。 ▼ link

おねーさん

うん。それがディレクトリサービス

ほげたん

うぇ? 104は電話番号を検索してくれるサービスだよ? つまり、ディレクトリを検索してくれるってこと?

おねーさん

そう。
実際は、そのディレクトリの作成も含むことが多いけどね。

ほげたん

ん〜ん〜ん〜、ディレクトリを作成・管理し、その情報を検索して提供するってことでいいのかな?

おねーさん

はい、よくできました。
さて、ディレクトリに登録されるリソースはオブジェクトって呼ばれるわ。

ほげたん

おぶじぇくと。「モノ」だね。

おねーさん

そうね。で、それがディレクトリに登録されたものをエントリ、そしてエントリが持つ情報が属性

ディレクトリサービス

[FigureSP09-01:ディレクトリサービス]

おねーさん

この図だと、オブジェクトとして「人」があって。「人」は「名前」「メールアドレス」「電話番号」という属性を持つエントリとして、ディレクトリに登録されてる、ってことになるわね。

ほげたん

なるほどなるほど。
なんか、オブジェクトとか属性とか言うと、オブジェクト指向っぽいよね。

おねーさん

そうねぇ。オブジェクトがどのようなエントリか決める「クラス」も出てくるから、確かにオブジェクト指向っぽい考え方よね。

ほげたん

だね。

おねーさん

つまりディレクトリサービスとは、属性を指定して、そのエントリを検索したり、エントリを指定して、属性を検索するサービスのこと、ってわけね。

ほげたん

ふむふむ。ディレクトリのエントリ、属性を入手するためのサービスってことだね。

おねーさん

さてさて。ほげたん? ディレクトリサービスってなんで必要なの?

ほげたん

なんでって……なんで?

おねーさん

じゃあ、いくつか例をあげていきましょう。

[FigureSP09-02:ディレクトリサービス・例1]

ほげたん

ははぁ。簡単に必要な情報を入手できる?

おねーさん

そうね。リソースの物理的な配置とは無関係に容易に情報を検索できることができるわけよ。

ほげたん

あ〜、なんかあれだね。Webでのサーチエンジンみたいな役割だね。

おねーさん

そうね。あれもディレクトリサービスだと言えるでしょうね。
他にも、こんな例はどう?

[FigureSP09-03:ディレクトリサービス・例2]

ほげたん

ん、ん〜? これって認証サーバの役割じゃないの? っていうか、SSO

おねーさん

もちろん、認証サーバは必要だけどね。認証サーバだけじゃなくって、アカウント情報を管理する必要があるでしょ? このアカウント情報を管理し、サーバへ権限問い合わせに答えるのがディレクトリサーバ、ってことになるわけ。

ほげたん

ユーザ認証して、権限があるかどうかを調べることができるってことなのかな?

おねーさん

そうね。このディレクトリサーバにより、情報の一元管理が可能になるわけでしょ。それにより肌理の細かい管理や、セキュリティの向上が望めるってことになるわけ。

ほげたん

なるほど。リソースの情報を管理するディレクトリと、ディレクトリサービス。
……?

おねーさん

なに、ほげたん?

ほげたん

うん、あのさ。
これって、「情報を管理する」データベースだよね?

おねーさん

まぁ、そうね。

ほげたん

なんで、データベースって言わずに「ディレクトリ」なの?

おねーさん

ん〜。いくつかの点で違いがあるからなんだけど。データベースは、データの追加・更新が頻繁に行われるタイプの情報を扱うことが多いわね。

ほげたん

ディレクトリは?

おねーさん

ディレクトリはどちらかといえば、静的な情報の方ね。あまり更新が行われず、主なトランザクションとしては「検索」が多いタイプ。
あとは、一極集中が主のデータベース。分散が多いディレクトリ。

ほげたん

他には?

おねーさん

そうねぇ、データベースでも多いRDBは「表」だけど、ディレクトリは「木」だったり。

ほげたん

なるほど。

おねーさん

基本的はさっき言った、「動的」なデータベース、「静的」なディレクトリ、という感じでいいんじゃないかしら?
さて、このディレクトリサービス、もちろんファイルシステムでも使用されてるけど。

ほげたん

されてるけど?

おねーさん

ファイルシステムなどローカルな使用だけじゃなく、ディレクトリサーバを置いて、そこへアクセスするっていう方式も使われてるわけ。
特にインターネットで使われてるとインターネットディレクトリなんて呼ばれたりする。

ほげたん

インターネットでディレクトリサービスが行われてる?

おねーさん

もちろん。ほげたんも知ってるわよ。

ほげたん

え?

■ DNSというサービス

おねーさん

それは、DNSよ。

ほげたん

ドメインネームシステム……DNS? DNSがディレクトリサービス?

おねーさん

そうよ。

ほげたん

え、だって? IPアドレスとドメイン名の変換システムが、DNSだよ。

おねーさん

ホストという「オブジェクト」を、DNSのゾーンファイルに「エントリ」し、各エントリは、IPアドレスとドメイン名という「属性」を持ち、リゾルバはそれを「検索」する。はい?

ほげたん

う、うぅぅ。そう考えると確かにディレクトリサービスだ。

おねーさん

でしょ。
DNSの発生理由を考えると、ディレクトリサービスの便利さをちょっとわかってもらえるかな?

ほげたん

発生理由?

おねーさん

昔々、インターネット上、といってもまだホストが百台とかそんな時代だけど。
IPアドレスだけで宛先・送信元を指定するのはまぁ、面倒だってのがあったわけ。

ほげたん

覚えづらいもんね。

おねーさん

そのころどうしてたかといえば、Hostsファイルだったのよ。
インターネットへドメイン名で接続したい各ホストはこれに登録し、それを入手していたの。

Hostsファイル

[FigureSP09-04:Hostsファイル]

おねーさん

わかると思うけど、この方式、台数が多くなるにつれて破綻したのよ。

ほげたん

うん、わかるよ。Hostsファイルは各クライアントが持っているから、個別にそれぞれ更新をかけなきゃいけない。

おねーさん

そう、一元管理どころの話じゃないわけね。台数が増え、頻繁にHostsファイルが更新されるようになると、もう配布してらんないわけ。
で、生まれたのがDNS。

DNS

[FigureSP09-05:DNS]

おねーさん

一元管理されたネームサーバへの問い合わせ、という形に姿を変えたわけね。

ほげたん

なるほど。確かにこっちの方が楽だよね。

おねーさん

そゆこと。
つまり、DNSはディレクトリ&ディレクトリアクセス用プロトコルってことになるのよ。

ほげたん

ディレクトリを構成する規則、ディレクトリへアクセスする規則。
この2つの役割を持ったプロトコルってことだね。

おねーさん

うん。
このプロトコルは他にもあって。それが今回の主役、LDAP

ほげたん

らいとうぇいとでぃれくとりあくせすぷろとこる。エルダップ。

おねーさん

ってわけで、次回からLDAPの説明をするわよ。
おね〜さんと、

ほげたん

ほげたんのっ!!

おねーさん

3分間ネットワーク、

ほげたん

サプリメントでした〜〜〜っ!!

ディレクトリ
[Directory]
「人名録」「指示録」「登録簿」などの意味。
リソース
[Resource]
この場合、「情報資産」の意味。
データ、メモリ、CPUパワー、ハードウェア、プリンタ、ユーザなどのものを示す。
オブジェクト
[Object]
エントリ
[Entry]
属性
[Property]
SSO
[SingleSignOn]
シングルサインオン。一度の認証で複数のサーバへアクセスが可能になること。代表的なプロトコルとしては、Kerberosがある。Kerberosについては前の回を参照のこと。
RDB
[Relational DataBase]
「関係データベース」とも。
データを「表」の集合という形で表現される。OracleやMicorsoft SQL Serverなどはこの方式。
Hostsファイル
IPアドレスとドメイン名の対応を静的に記述するファイル。今でも使われている。Windowsなら%systemroot%\system32\drivers\etcにある。
LDAP
[Lightweight Directory Access Protocol]
読みは「えるだっぷ」。
ほげたんほげたんの今日のポイント
  • リソースの情報を管理するのがディレクトリ。
  • ディレクトリへの検索を行うサービスがディレクトリサービス。
    • 登録されるリソースが「オブジェクト」。
    • ディレクトリに登録されたのが「エントリ」。
    • 各オブジェクトが持つ情報が「属性」
  • ディレクトリサービスにより、リソースの情報の一元管理、検索などが容易に行える。
  • DNSもディレクトリサービスの一種。

3 Minutes NetWorking Supplement No.09

管理人:aji-ssz(at)selene.is.dream.jp