Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
こんにちは!そーまんです。
今回は、Active Directory(以下略 AD) の FSMO 役割についてまとめてみましたのでご紹介いたします。
AD は 5 つからなる役割で構成されており、それぞれが AD の運用に欠かせないものとなっています。
FSMO の役割
スキーママスタ
フォレストに 1 つ必要です。AD のスキーマの(読み書き可能な)コピーを管理します。
スキーマは、AD のオブジェクトである従業員番号や電話番号、メールアドレスやログイン名などを定義しています。
スキーマは拡張できますが、このコピーを管理しているドメインコントローラー(スキーママスタ)が必要になります。
ドメイン名前付けマスタ
フォレストに 1 つ必要です。同じフォレスト内において、ドメインの追加や削除をする際に必要なドメインコントローラーになります。
ドメインの追加、削除をする際には、ドメイン名前付けマスターと通信します。
RID マスタ
ドメインに 1 つ必要です。AD にユーザーやグループを作成する際、ドメインコントローラーがそれぞれに対してセキュリティ ID (SID) というものを割り当てます。
よって、AD にあるそれぞれのオブジェクト、例えばユーザーは重複していない、ユニークな SID というものを持っています。
- SID とは Security Identifier の略で、アルファベットと数字からなり、オブジェクトの プライマリキーとなります。
- RID とは Relative Identifier の略で、これらのオブジェクトに対して割り当てられる番号で、SID の番号の一部に格納されています。
SID にはドメイン SID が含まれています。つまり SID = ドメイン SID + RID で構成され、この RID の情報を持っているドメインコントローラーが RID マスターになります。
ちなみに以下は SID の構成になります。どこからどこまでがドメイン SID で、ユーザー RID かが分かります。

また、実際に PowerShell を使いユーザーアカウントの SID を出してみました。もちろんコマンドプロンプトから whoami /user でも SID を出せます。
ここでは RID が 1104 で発行されています。ユーザーアカウントの RID を 1000 から発行した場合、次のユーザーの RID は 1001, 1002, 1003 ... と採番されます。

ビルトイン Administrator アカウントの RID は 500 になります。これは固定です。

PDC エミュレータ
ドメインに 1 つ必要です。ユーザーの認証リクエストやユーザーのパスワードの変更、グループポリシーの管理や時刻管理をしています。
例えばパスワードの変更の際、まず最初に PDC エミュレーター に情報が伝えられます。
また、ユーザーがドメインにログオンする際にパスワードが異なっている場合、ドメインコントローラーは PDC エミュレーターに問い合わせを行い、最新の情報を取得します。

インフラストラクチャーマスター
ドメインに 1 つ必要です。ドメイン内のオブジェクトの情報、例えばユーザーやグループの関連付けを持っています。
グループのメンバーや名前が変更されると、インフラストラクチャーマスターを通してドメイン内の他のグローバルカタログサーバー(またはドメインコントローラー)にオブジェクトが伝達されます。
つまり、グローバルカタログサーバー同士でデータを比較して、一部のグローバルカタログサーバーが持っているデータが古いと、インフラストラクチャマスターが更新を要求し、最新のデーターを受け取り、グローバルカタログサーバーに最新の情報を保つために同期します。
全てのドメインコントローラーがグローバルカタログサーバーの機能を持っている場合は、レプリケーションが機能していれば最新の情報を持ちます。

FSMO 役割のまとめ
以上で述べたことを纏めると以下のようになります。
FSMO 役割 | フォレスト/ドメイン 単位 | 説明 |
---|---|---|
スキーママスタ | フォレスト | AD のスキーマの(読み書き可能な)コピーを管理する。 |
ドメイン名前付けマスタ | フォレスト | ドメインの追加や削除をする際に必要。 |
RID マスタ | ドメイン | SID 内にある RID の情報を管理する為に必要。 |
PDC エミュレータ | ドメイン | ユーザーの認証リクエストやパスワードの変更、グループポリシーの管理や時刻管理をする。 |
インフラストラクチャーマスター | ドメイン | グローバルカタログーサーバー間で最新の情報を同期する為に必要。 |
FSMO の確認方法
FSMO の役割がどのドメインコントローラーに割り当てられているかを確認するには以下のコマンドを使います。
1 |
C:\Users\Administrator>netdom query fsmo |

まとめ
いかがでしょうか。
FSMO の役割を理解する事はドメインコントローラーの追加や移行、またトラブルシューティング等にも非常に役に立ちます。
例えば、PDC エミューレーターの場合ですと、ユーザーのパスワードが正しいのにも関わらずログインできないといったケースの場合において考えられます。
自社の環境で現在どのドメインコントローラーが FSMO なのか確認してみるとより理解が深まるかと思います。
では最後までお読みいただきありがとうございました!