■ドメイン参加時のアカウント
ドメイン参加をする際にはアカウントとパスワードの入力を求められます。これはなぜかというと、ドメイン参加時にはActive Directory上にコンピューターアカウントが作成されるためです。それを行うことのできるActive Directory上のアカウントを指定し、その権限でもって操作を行うわけです。具体的にはコンピューターのローカルのSIDが含まれる文字列を設定し、Active Directory上のオブジェクトと紐付けます。これによってコンピューターがドメイン上のリソースにアクセスできるようになるわけです。
このときには具体的にどのアカウントを指定すればよいのでしょうか?よく誤解されているのですが、ドメインアドミン ( Domain Adminsに所属しているユーザー ) である必要はありません。ドメインユーザー ( Domain Usersに所属しているユーザー ) であれば権限は十分なのです ( 正確にはAuthenticated Usersに対して許可がなされている )。つまり「ユーザーが勝手に自宅のパソコンを会社に持ってきて、ネットワークに接続し、ドメイン参加させてしまう」ということが既定の状態ではできてしまうわけです。
逆に言うとドメイン参加の際にわざわざ管理者が作業を行ったり、あるいはドメインアドミンのアカウントのID、パスワードを伝えたりするケースがありますが、そんな必要は無いわけです。特に、クライアントの大量導入の際に作業員にドメイン参加させるためだけにドメインアドミンのID、パスワードを一時的とはいえ伝えているケースがあるかと思いますが、セキュリティの面から考えると大変に危険ですし、かつ本来その必要は無いわけです。 ( ※もちろんその他作業との関連性やお客様との信頼関係、作業員との信頼関係に基づき、ドメインの管理者自体を伝えて作業するケースは考えられると思います )
企業によっては、ドメイン参加作業はユーザーが自分で行うのが当たり前という運用方針のところもあります。ドメインのユーザーであるということはドメインにコンピューターを参加させる権限がある、ということなわけです。Active Directoryはそのような思想で構築されています。もちろんこの設定は変更することもできます。しかし、ドメインユーザーを使えばあとは何も問題が無いのかというとそういうわけではありません。既定の状態で10台までしかドメイン参加させることができないという制限があります。これではクライアントの大量導入の場合の作業効率に問題があります。これに関しては3つの解決策があります。
- ドメイン参加を許可する台数の上限を十分に大きな数に設定しておく
- 予めコンピュータアカウントを作成しておき、ドメイン参加させることができるアカウントとしてドメイン参加に使用するユーザーを指定しておく
- コンピューターアカウントの生成を許可するようにセキュリティ設定を変更する
特に2番目の方法だと、以下のような点で別のメリットもあります。
- あらかじめコンピューターアカウントを特定のOUに作成しておくことができGPOの適用もれがなくなる
- コンピューター名の間違いに気が付くことができる ( ドメインユーザーでのドメイン参加を許可させないように設定変更しておくことで ) すでに存在しているコンピューター名でしかドメイン参加できない
- 権限の無いユーザーではドメイン参加できない
■コンピュータアカウントの事前登録
ドメインへの参加操作をドメインの一般ユーザーに安全に行ってもらうには,ドメイン管理者が事前にコンピュータ・アカウントを作成して,それをドメインの参加に際して利用してもらう方法に切り替えるのが適切でしょう。
デフォルトではドメイン管理者のみが作成済みのコンピュータ・アカウントでドメインに参加可能ですが,設定変更で特定のユーザーに参加操作を許可できます。
ドメインに参加させるコンピュータにおいてローカルの管理者権限を持つドメインの一般ユーザーを許可すれば,比較的安全です。コンピュータ・アカウントの作成には,ドメインの管理者の作業が必要ですが,やむを得ないでしょう。
■上限値の変更
Active Directoryの設定を変えて「ワークステーションをドメインに追加する」権限における参加可能な台数を増やす方法もあります。リソースキットに含まれる「ldp.exe」や,サポート・ツールの「adsiedit.msc」などを使って,ms-DS-MachineAccountQuota属性の値を修正します
値を「0」にすると権限が無効となるので注意します。
■コンピュータアカウントのできる場所
何も特別な設定を行わずにコンピューターをドメイン参加させると、コンピュータオブジェクトは「Computersコンテナ」に作成されます。特にコンピューターに対して何も特別なポリシーを適用していないという環境ならこれで問題ないのですが、コンピューターオブジェクトに対してGPOを適用している環境では一度「Computersコンテナ」に作成されたコンピューターオブジェクトを手動で任意のOUに移動させる必要があります。これはGPOはOUに対しては適用できるもののコンテナに対しては適用できないからです。
かなり面倒ですね。 全てのコンピューターを一律特定のOUに格納する運用であれば良い方法があります。以下のコマンドでドメイン参加時にコンピューターオブジェクトが作成される場所を変更させることができます。
> redircmp OU=XXXX,DC=ad-domain,DC=local |
これにより、ドメインさん家事にあらかじめセキュリティや委任の設定などが施された任意のOUに コンピューターアカウントが配置されることになります。 なお、redirusrで行えば、ユーザーアカウントの既定の作成先についてもカスタマイズできます。