■Active Directoryを初歩的なところから理解するための連載第1回。ディレクトリ・サービスの存在意義やメリットを,NTドメインなどと何が違うかなどから解説する。Active Directoryの代表的な機能とツールも紹介する。

(横山哲也=グローバル ナレッジ ネットワーク)



 20年近く前のことだろうか,筆者の周囲に「MS-DOSってなんだっけ?」と,質問してくる人が時々いた。DOS(Disk Operating System)が全盛だったときのことである。質問した人にとって,それは普段使っている「一太郎」や「1-2-3」といったアプリケーションとは違うものだった。なかなか目にしない“OS”というものは分かりづらかったのだ。

 Windowsシステムにとっての「Active Directory(AD)」も,これと同様である。エンドユーザーにとってのADは,最初のログオン時に出てくるドメイン名くらいの印象しかないだろう。アプリケーション・ソフトのように,なにか具体的にソフトウエアを起動して使うという類のものではないからだ。しかし,いまどきネットワークを意識しないで,パソコンを使うことはあり得ない。ある程度,Windowsシステムのことを語るには,Active Directoryに対する理解がなくては,話が先に進まない。

 システム管理者にとっても,いままでWindowsネットワークを「ワークグループ」で運用してきたり,Windows NT Serverのドメイン(NTドメイン)で運用してきたりといった場合には,なかなかADは分かりづらいかもしれない。この連載では,知りたくても,ちょっと恥ずかしくてなかなか聞けなかった「Active Directoryってなんだっけ?」に答えるため,Active Directoryを初歩から解説していこうと思う。

ディレクトリ・サービスは「一覧表検索」機能
 Active Directoryは,Windows NTまで使われてきたユーザー管理システムを一新して,Windows 2000に組み込まれたディレクトリ・サービスである。Windows Server 2003では,改良・拡張が行われているが,本質的には同じものだ。

 「ディレクトリ」は,日本では専門用語としてとらえられているが,英語では決して特殊な意味ではない。単に「一覧表」という程度の意味だ。例えば,住所録やビルの入居者リスト,あるいは電話帳もディレクトリである。外国に行ってホテルの「朝食メニュー」を見ると,「Directory」と書いてある。

 筆者が高級ホテルで朝食メニューを見た時のことである。そこには非常に多くの選択肢が書いてあった。卵,パン,果物,飲み物といったリストだけでなく,「卵」なら「ゆで卵」か「目玉焼き」か「オムレツ」か。それぞれについてゆで卵なら時間数,目玉焼きなら個数や裏も焼くかどうか焼き加減など,オムレツなら個数や具の種類などが,メニューから選べるようになっている。これこそ「階層ディレクトリ」である。ディレクトリは,ほとんどの場合,階層構造をしているものだ。

 「ディレクトリ・サービス」にしても,必要以上に恐れないでほしい。例えば,電話番号案内は,立派な「ディレクトリ・サービス」だ。要するに「ディレクトリ・サービス」は「一覧検索」ができるサービスなのである。

DNSでもない,NTドメインでもないコンピュータにおけるディレクトリ・サービスの例
 コンピュータで使用されるディレクトリ・サービスにはどのようなものがあるだろう。ファイルやフォルダの一覧は「ディレクトリ」ではあるが「サービス」ではない。やはり「サービス」というからには「頼んだらそれをしてくれる」ものでないといけない。単なる一覧ではなく検索エンジンなら立派なディレクトリ・サービスといえる。


△ 図をクリックすると拡大されます
図1●ディレクトリ・サービスとしてのDNSの機能

 インターネットでは,URLのような人が読んで覚えやすい名前と,IPアドレスのような数字の羅列を結びつけるために,DNS(Domain Name Service)といわれるサービスが使われ,これは社内のネットワークの中にも存在する。DNSは「ホスト名」という名前から「IPアドレス」という住所を調べてくれる。これもディレクトリ・サービスの一種といえる(図1)。

 しかし,DNSでIPアドレス以外の情報を検索するのはちょっと難しい。最近は「SRVレコード」といって,TCP/IPのサービスのホスト名とポート番号を検索する仕組みも追加された。それでも「ユーザーのフルネーム」とか「ユーザーの内線電話番号」などを検索することは想定されていない。

 ディレクトリ・サービスに厳密な定義はないが(それが難しくしている点かもしれない),一般には,少なくとも「ユーザー名」と「コンピュータ名」を含むことが望まれる。ユーザーである社員の氏名や電話番号を検索できないものは,ディレクトリ・サービスとは呼びにくい。また,ユーザーの認証機能も必要である。

 もっと他のコンピュータの例を挙げて,ディレクトリ・サービスを考えていこう。例えば,Windows NTドメインはディレクトリ・サービスといえるかどうか。実は,マイクロソフトはWindows NT 4.0のころからユーザー管理システム(SAM:Security Account Manager)に「ディレクトリ・サービス」という言葉を使い始めた。しかし,Windows NT 4.0のユーザー管理システムをディレクトリ・サービスと呼ぶのは,間違いではないにしても,正直なところ少々無理がある。確かに,SAMはユーザーやコンピュータの情報を格納している。しかし,SAMに格納できる情報は限定されていて,拡張することはできない。また,情報の検索機能もほとんどなく,Windowsプラットフォーム以外のOSからのアクセスは考慮されていない。

 もう1つ別の例を挙げよう。Exchange 2000 Serverは,ディレクトリ・サービスの機能をActive Directoryと統合している。しかし,前バージョンExchange Server 5.5は,独自のディレクトリ・サービスを持っていた。Exchange Serverの情報は,標準プロトコルLDAP(Lightweight Directory Access Protocol)を使って外部から参照できる。しかし,ユーザー登録やユーザー認証機能は,Windows NTに依存しており,二重管理が必要であった。後述するように,これではディレクトリ・サービスの利点は生かせない。