Active Directory の10年の軌跡~ファイルサーバーからクラウドまで
※2010年2月22日 19:09 何点か追記しました
2000年2月18日 Windows 2000 Server とともに登場した Active Directory が10年目を迎えました。
その記念すべき節目にIT業界全体は大きく変化しようとしています。そうです、クラウドです。
クラウド・システムが IT を担当するエンジニアの射程圏内に入ったいま、気になるのは、はたしてユーザー管理は今後どのように変化するのかということです。
わたしたちには3つの選択肢が用意されています。
- 選択肢1 クラウドでは認証は行わない
- 選択肢2 クラウド上に独自の認証システムを構築する
- 選択肢3 既存のディレクトリサービスをそのまま使用する
選択肢3 は、言い換えれば既存の Active Directory をそのままクラウドアプリの認証に使用するということです。もしそんなことが可能だとすれば、ユーザー管理の手法やコストは現在とほとんど変わらない?…いや、クラウドによってビジネスが拡大する分、ユーザー管理の占める比率は小さくかもしれない…。
本当にそんなことは実現可能なのでしょうか?可能だとすれば、それはどのような技術に裏付けられているのでしょうか。その秘密がActive Directoryとクラウドの蜜月な関係なのです。
マイクロソフトが Active Directory をさらにパワーアップし、かつその利用を今後も継続的に推進しようとしていることは、マイクロソフト製品の大部分が Active Directory を必須としていることからも疑いようのないところです。ご存知の通り、Business Ready Security と呼ばれるマイクロソフトのセキュリティ戦略の中心に位置付けられているのは、まぎれもなく Active Directory なのです。
Active Directory には、その誕生当時から壮大な構想がありました。それは、全ての ITシステムを1つに結びつけること!まさに、10年後のマイクロソフトが Business Ready Security という戦略でうたっていることは、そのまま10年前のマイクトソフトの目標でもあったのです。そのためにはいつまでも独自路線にこだわっていてはいるわけにはいきませんでした。
そこで採用されたのが、今となってはおなじみの LDAP や Kerberos といった標準のプロトコルです。当時のマイクロソフトを取り巻く環境には「MSは独自路線」「unixと互換性が無い」というネガティブな印象が強く、そうした新しい仕様について解説された日本語ドキュメントが極端に少なかったこともあり、残念ながら LDAP や Kerberos の採用について触れられることはあまりありませんでした(独自の用語もあったりするので、このあたりも理解されずらいところではありますが…)。
ここで、10年間の Active Directory の使われ方を振り返ってみましょう。
Windows 2000 Server 時代
当初は企業全体ではなく、組織内のユーザーIDを管理するために Active Directory を構築するのがはやりました。まだ出たての製品ということもあり、テスト導入的な要素が強かったものと思われます。しかし、「意外にも」使いやすく安定していたため、テスト導入されたADはそのまま使われ続けました。
また小規模なファイルサーバーとして Windows Server を使用することも多くなり、そのアクセス権を管理するのにも Active Directoryが使われました。そのせいでしょうか、「野良AD」と呼ばれる「小規模なAD」が大量に発生し、その後の「ディレクトリサービス乱立期」に拍車をかけることになります。
グループポリシーも既に実装されていましたが、その概念を理解するのが難しかったことと、ログオンスクリプトを使うエンジニアも多かったため、実はこの段階ではあまり使われませんでした。
Windows Server 2003 時代
Active Directory の知名度も上がり企業レベルでの導入も増えてきましたが、あくまでも「Winodws ログオンのためのサーバー」として導入されていました。
また、「ディレクトリサービスはアプリケーションサーバーの付属品である」..という認識が強かったこともあり、各部門で開発/導入する業務サーバーごとに異なるディレクトリサービス(またはユーザーデータベース)が要求されました。
その結果、問題が発生します。「ディレクトリサービスの乱立」です。ディレクトリサービスの乱立により、必然的に2つの問題を抱えることになります。
- システムごとにユーザーIDとパスワードを覚える
- システムごとにユーザーIDとパスワード、その他の属性を登録する
そこで広がったのが「ユーザーIDの同期」です。「ディレクトリサービスを1つにすることはできないが、せめて同じIDとパスワードを使えるようにしたい」「ユーザーIDの登録は1度で済ませたい」そんな切実な要望をかなえるために、日本企業を含めた各社からは「メタディレクトリシステム」と呼ばれる同期のためのシステムがリリースされました。マイクロソフトからは同等の機能を実現するものとして、MIIS(Miccrosot Identity Integration Server)がリリースされましたが、残念ながら英語のGUIでした。
※追記 MIIS 以前に MMS(Microsoft Metadirectory Service)という製品もありました
ユーザー同期のためのシステムは各社とも大味なものも多く、それに対して日本人特有の細やかさのせいでしょうか、多くの企業や大学ではスクラッチによって独自の同期システムを構築するというのがトレンドでもありました。
Windows Server 2003 R2 時代
ますます複雑さを増す企業内の ITシステムを背景に、ディレクトリサービス乱立時代は混迷を極めますが、徐々にID同期のノウハウは蓄積されつつあり、各社独自の方法でID管理の効率化に取り組み始めていた時代です。
とはいえ、それは決して楽なことではなく、IT部門がディレクトリサービス管理にてんてこ舞いのさなか、担当者の胃が痛くなる出来事が起きました。日本版SOX法の成立です。IT が内部統制の「助け」として注目されたものの、ユーザーIDの同期にさえも苦労しているのに「IDのプロビジョニング」がどれほど大変か!
職務分掌が滞りなく流れるには、ユーザーの所属や権限が、常に最新の状態に維持されていなければなりません。もちろん、各システムのパスワードが同期されていなければ承認業務だって滞ります。必然的に、メタディレクトリシステムは「プロビジョニングシステム」と名前を変え、高い精度とスピードが要求されるようになりました。マイクロソフトからは、従来のMIISの後継であるILM(Identity Lifecycle Manager)がリリースされました。
こうして整備されたID管理基盤を前提に、ユーザー権限の根拠となる「役割」の信頼性、そしてデータそのものの安全性が求められるようになりました。つまり、情報漏えいの防止です。
マイクロソフトはWindows Sever 2003 R2 と同時に、企業に求められるセキュリティに不可欠な、2つの重要なテクノロジーをリリースしました。
- Rights Management Service(RMS)
- Active Directory Federation Service(ADFS)
です。
RMS は WORD や EXCEL といったOAデータや電子メールの安全性を管理するためのテクノロジーで、これにより「参照期限」「メール転送の禁止」「印刷の禁止」など、情報漏えいに最も影響を及ぼすであろう行動に強い制限をかけることができるようになりました。しかも、Active Directory をID基盤として利用するため個別のユーザー管理が必要ないというのは、マクロソフトならではの実装といえるでしょう。RMSは後のWindows Server 2008 のリリースにより、Active Directory RMS(AD RMS)という名称に変更されることになります。
ADFS は、実を言えばこの当時はほとんど浸透しなかったテクノロジーです。それは「フェデレーション(連合)」という考え方が、日本国内で一般的でなかった(必要性を感じなかった)せいもあるでしょうし、既に「Active Directoryドメイン間の信頼関係」によって一部実現可能であったこともあるでしょう。「フェデレーション」は、異なる組織間または企業間の信頼関係に基づき、一方のユーザーIDを、もう一方のユーザーIDにマップすることでリソースへのアクセスをシームレスに許可する仕組みです。これにより、2つの異なるディレクトリサービスを持つ IT システム間でのシングルサインオンが可能になるとともに、 お互いのディレクトリサービスの独立した運用を継続することができます。この考え方が、実を言えばプラットフォームがクラウドに変わったときに大きな威力を発揮することになります。
Windows Server 2008/R2(現在)~クラウドとActive Directoryの関係が明らかに
Windows Server 2008 の登場とともに、マイクロソフトの「Dynamic IT」と呼ばれる戦略が本格化しました。すべてのシステムやリソースが Active Directory によって結び付けられて、ビジネスニーズに合わせて動的に変化する。Windows Azure や プライベートクラウドをはじめとする、マイクロソフトが現在提供している、そしてこれから提供しようとしているテクノロジーは、すべてDynamic IT 構想がベースとなっています。そして、その基盤として位置付けられているのが、Business Ready Security 戦略です。
※2010年2月22日 追記
Windows Server 2008 では新たに RODC(Read Only Domain Controller)と呼ばれる読取専用のドメインコントローラーがサポートされました。これにより、管理者不在の営業所などに安心してドメインコントローラーを設定することができるようになっただけでなく、DMZ に RODC を展開することでインターネットに公開する業務アプリケーションの認証をActive Directoryで行うといったことができるようになりました。このことは、Active Directory が企業内での利用から、インターネットとの共存という新たなステージへ足を踏み入れたといってよいでしょう。そして、インターネットといえば…
2010年上半期における、マイクロソフト最大の話題といえば Windows Azure の登場でしょう。そして、当然気になるのは、クラウド上のアプリをどのように認証するのか、そしてそれに伴いユーザー管理はどう変わるのか?ということです。
ここで大きな役割を果たすのが、過去にあまり浸透しなかった「ADFS」なのです。そして現在、長い間「Geneva Server」と呼ばれていたフェデレーションテクノロジーは、「AD FS 2.0」という正式名称に決まり、リリースを待つばかりとなっています(2010年2月末時点ではRCです)。
Winodws Server 2003 R2 時代のADFSが想定していたのは組織間または企業間でした。最新の AD FS 2.0では、その適用範囲をクラウドにまで広げました。企業内の Active Directory で認証したユーザーは、クラウドとのフェデレーションによって、クラウドアプリをシングルサインオンで利用できるようになります。言い換えれば、クラウド上にユーザーIDを用意する必要は無く、これまで通り企業内の Active Directory だけを管理すればよいということです。
ただし、くれぐれも注意してください。
ADFSは単にユーザーのログオンを制御(認証)するためのものではないということです。ADFSで使用される「クレームベースセキュリティ」と呼ばれる技術は、認証と同時に「アプリケーションにおけるユーザーの役割」までも特定(承認)してしまいます。多くの場合、クレームにはユーザーの「所属」や「役職」「グループのメンバーシップ」などの情報が含まれており、これによってアプリケーションへのアクセス権が決定されます。言い換えれば、「所属」や「役職」「グループメンバーシップ」などが間違えていれば、必要以上の強い権限が与えられてしまったり、逆に必要な権限が与えられないことになります。
そうした問題を回避するには、ユーザーの属性を常に最新の状態に維持しておかなければなりません。そのために用意されているのが、Forefront Identity Manager(FIM)2010です。これは ILMの後継製品として2010年
2月末第3四半期に出荷が予定されています。FIM 2010の特徴は、人事異動といったビジネスロジックの正確な表現と迅速なプロビジョニングを実現するために、ワークフローやクライアントとの統合機能が提供されていることです。これについては 過去の記事で詳しく紹介していますのでご覧ください。
長くなりました。
今後、業務サーバーはモジュール化し、それを支えるインフラの内部構造はますます複雑になるでしょう。そうした環境において、企業内の Active Directory の重要性は確実に増していきます。
手遅れにならないうちに、Active Directory の整備を始めましょう!