本企画では、Active Directory誕生10周年を祝う意味で、Windows ServerのドメインコントローラについてActive Directory前史から振り返っている。
前回は、Windows NTの前のバージョンにあたるMicrosoft LAN Managerに触れた後、Active Directoryの礎となったWindows NTのドメインコントローラの特徴を紹介した。今回は、その次の世代にあたるWindows 2000 Serverから話を進めていく。いよいよActive Directoryの登場である。
Active Directoryで本物の階層化を実現
前回、Windows NT Serverにおけるドメインコントローラに触れ、「擬似的」な階層構造を持たせる手法が推奨されていたことを説明したが、Windows Serverのドメインコントローラが本物の階層構造を実現したのは、10年前の2000年にWindows 2000 ServerとActive Directoryが登場してからである。インターネットにおけるドメイン名と同様、ピリオドで区切って階層化した名前付けルールを導入、それと併せてDNSサーバによる名前解決システムを導入したことで、アーキテクチャが刷新されたといえる。
もっとも、いきなり過去を断ち切らずに互換性を維持しつつ、段階的に発展させるのがマイクロソフトのお家芸だし、それが高い市場シェアを獲得してきた秘訣のひとつだ。それはActive Directoryでも同じだ。
だから、Active DirectoryはWindows 2000より前に登場したActive Directory非対応のOSに対してNTドメインとして振る舞うようになっているし、ドメイン名についてもDNS名とNetBIOS名の二本立てを維持している。また、階層構造を構成するドメイン相互間で自動的に双方向の信頼関係を設定するなど、過去の歴史に立脚しながら積み上げ改良を取り入れてきている様子が分かる。
もっとも、階層化が「できる」ということと、階層化を「しなければならない」ということは同一ではない。必要とあれば階層化したドメインツリーを構成してもよいが、できるだけ単一のドメインにまとめる方が合理的、というのが現在の趨勢になっている。
なるほど、階層構造をなしているドメイン間で双方向の信頼関係を結んでいるから、アクセス権の付与に関して問題はない。ところが、通常の手順では異なるドメインの間でオブジェクトを移動できないので、なまじ組織別に異なるドメインを作ってしまうと、人事異動に対応するのが大変になる。そうした事情を考えると、組織全体を同じドメインにする方が理に適っている。