Active Directory

【Active Directory】FSMOについてまとめてみました

2018年5月11日


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 の確認方法

FSMO の役割がどのドメインコントローラーに割り当てられているかを確認するには以下のコマンドを使います。


まとめ

いかがでしょうか。

FSMO の役割を理解する事はドメインコントローラーの追加や移行、またトラブルシューティング等にも非常に役に立ちます。

例えば、PDC エミューレーターの場合ですと、ユーザーのパスワードが正しいのにも関わらずログインできないといったケースの場合において考えられます。

自社の環境で現在どのドメインコントローラーが FSMO なのか確認してみるとより理解が深まるかと思います。

では最後までお読みいただきありがとうございました!

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-Active Directory
-, , ,


Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637