« [ 備忘録 / Solaris ] CPU とメモリの情報を確認する | トップページ | [ book ] C# 3.0 Cookbook 3rd ED »

2008/01/12

[ 備忘録 / WindowsServer ] ActiveDirectory と ADAM の違い

ActiveDirectory と ADAM ( ActiveDirectory Application Mode ) の違いを調べてみた。 ただし、これらは ADAM 1.0 の情報を基にしている。現在は ADAM R2 になっていて、 バージョンアップに伴い変更された箇所もあるようだ。それらは時間があれば調べる予定。

1. システムサービスかアプリケーションサービスか
ADAM は独立したアプリケーションとして動作するので、Domain Admins であれば自由にサービスの開始・ 停止ができる。サービスを制御するためにマシンを再起動する必要はない。 つまり、必要に応じて ADAM を起動し、必要がなくなれば ADAM を終了させることが可能。もちろん アップデートパッチの適用もサーバマシンを再起動することなく完了する。

一方で ActiveDirectory はシステムサービスとして動作するのでユーザの意思で自由に起動・ 停止させるといったことはできないし、アップデートパッチを適用する場合は大抵は再起動が必要になる。

2. 設定の異なる複数のプロセスが存在できるかどうか
ADAM はあくまでも単なるアプリケーション。多くのアプリケーションが複数のプロセスを起動できるように ADAM もコマンドから複数のインスタンスを起動できる。それぞれのインスタンスに異なるスキーマを 適用することも可能。つまり、ADAM を必要とするサービスごとに異なる設定を適用したインスタンスを 作成することも可能ということ。

一方で、ActiveDirectory はシステムなので複数のインスタンスを作成することは、通常はできない。 また ActiveDirectory は、それを利用するサービスそれぞれに合わせた異なる設定で運用するということもできない。

3. 待ち受けポートを変更できる
ADAM では何番ポートを使用するのかを設定することができる。具体的には SCP ( Service Connect Point ) オブジェクトの serviceBindingInformation 属性に次のように指定される。


serviceBindingInformation: ldap://adam.example.com:1234

SCP オブジェクトにはサーバアドレスとポート番号のほかに keyword 属性にインスタンス情報なども格納される。

一方で ActiveDirectory では待ち受けポートがハードコーディングされているので変更することができない。 レジストリの値は DNS の SRV レコードの設定に使用されるだけで、ActiveDirectory サービスの待ち受けポートには何の変更もない。

4. グローバルカタログの有無
ActiveDirectory にはグローバルカタログというものがあり、フォレストツリー内を効率よく検索できるようになっているが、ADAM にはグローバルカタログが存在しない。しかし、単一の LDAP クエリであっても ADAM インスタンス内の全てのパーティションを検索できるようになっている。

ADAM の欠点は ActiveDirectory Service Interface を利用したスクリプトやアプリケーションからは操作できないこと。LDAP API をベースにした管理アプリケーションを用意する必要がある。

5. トップレベルのオブジェクト
ActiveDirectory では必ず domeinDNS オブジェクトにしなければならない。

一方で ADAM は任意のオブジェクトクラスを指定できる。コンテナであろうが、ユーザであろうがトップレベルオブジェクトとして指定できる。

6. グループとユーザのスコープ
ADAM ではあるグループ、あるユーザはそれ自身が登録されているパーティションのみで有効になる。 たとえばパーティション A に登録したユーザアカウントへ別パーティションのオブジェクトに対する 権限を付与したり、パーティション B に登録したユーザアカウントを別パーティションのグループに 所属させるといったことはできない。

Windows そのものに設定した基本セキュリティや ADAM に設定した基本セキュリティ設定を 複数の ADAM パーティションに適用することは可能。つまり、基本セキュリティ設定 S を ADAM パーティション A, B, C 全てに存在するグループに適用するといったことは可能。

7. FSMO ( Flexible Single Master Operation )
ActiveDirectory では 5 種類の FSMO 全てが存在する。一方で ADAM ではたった 2 種類しかない。 内訳は以下の通り。

ActiveDirectory ADAM
Scheme マスタ
Domain Naming マスタ
PDC マスタ ×
RID マスタ ×
インフラマスタ ×

マルチドメイン環境の ActiveDirectory の場合、Scheme マスタと Domain Naming マスタ以外の FSMO は複数存在することになる。しかし、ADAM ではパーティションあるいはクローンがいくつ あっても Scheme マスタと Domain Naming マスタがひとつずつあるだけ。

なお、ADAM には ActiveDirectory のルートドメインに相当するものは存在しない。

8. スキーマ
ActiveDirectory のスキーマはかなり複雑。一方で、デフォルトの ADAM スキーマは簡素。

デフォルトの ADAM スキーマにはクラスが 44 個、属性が 268 個あるだけ。 ただし、拡張することができるので ActiveDirectory と同じスキーマにすることもできる。

9. ユーザプリンシパル名
ユーザプリンシパル名 ( User Principal Name ) というのは、ActiveDirectory / ADAM にログインするときに ユーザ名として入力するデータのこと。ActiveDirectory では RFC822 に既定されているフォーマットルールに 沿っていなければならない。たとえば、user@example.com という ユーザ名 + @ + ドメイン名という形式にならなければならない。

一方で ADAM にはそのような制限がない。user@example.com という形式でも、user だけでもいい。

ただし、ActiveDirectory では同じユーザプリンシパル名をもつアカウントがあっても許されるのに対し、 ADAM ではユーザプリンシパル名の重複が許されない。

|

« [ 備忘録 / Solaris ] CPU とメモリの情報を確認する | トップページ | [ book ] C# 3.0 Cookbook 3rd ED »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [ 備忘録 / WindowsServer ] ActiveDirectory と ADAM の違い:

« [ 備忘録 / Solaris ] CPU とメモリの情報を確認する | トップページ | [ book ] C# 3.0 Cookbook 3rd ED »