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

Active Directory

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

2018年5月11日

こんにちは!SE ブログの相馬です。

 

 

 

今回は、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 つ必要です。ドメイン内のオブジェクトの情報、例えばユーザーやグループの関連付けを持っています。

 

 

グループのメンバーや名前が変更されると、インフラストラクチャーマスターを通してドメイン内の他のグローバルカタログサーバー(またはドメインコントローラー)にオブジェクトが伝達されます。

 

 

つまり、グローバルカタログサーバー同士でデータを比較して、一部のグローバルカタログサーバーが持っているデータが古いと、インフラストラクチャマスターが更新を要求し、最新のデーターを受け取り、グローバルカタログサーバーに最新の情報を保つために同期します。

 

 

全てのドメインコントローラーがグローバルカタログサーバーの機能を持っている場合は、レプリケーションが機能していれば最新の情報を持ちます。

 

 

 

以上、シンプルすぎるかもしれませんが、簡易的に纏めると以下のようになりました。

 

役割 フォレスト or ドメイン 単位 説明
スキーママスタ フォレスト  AD のスキーマの(読み書き可能な)コピーを管理する。
ドメイン名前付けマスタ フォレスト  ドメインの追加や削除をする際に必要。
RID マスタ ドメイン  SID 内にある RID の情報を管理する為に必要。
PDC エミュレータ ドメイン  ユーザーの認証リクエストやパスワードの変更、グループポリシーの管理や時刻管理をする。
インフラストラクチャーマスター ドメイン  グローバルカタログーサーバー間で最新の情報を同期する為に必要。

 

 

 

FSMO の確認方法

 

 

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

 

C:\Users\Administrator> netdom query fsmo

 

 

 

 

まとめ

 

 

以上になります。いかがでしょうか。FSMO の役割を理解する事はドメインコントローラーの追加や移行、またトラブルシューティング等にも非常に役に立ちます。むしろこの知識が無いと難しいかと思います。

 

 

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

 

 

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

 

 

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

 

 

 

  • この記事を書いた人

そーまん

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

人気記事

1

こんにちは!SE ブログの相馬です。       今回は、PC に適用されている GPO を確認する方法について書きました。     グループポリシー ...

2

こんにちは!SE ブログの相馬です。       今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは ...

3

こんにちは!SE ブログの相馬です。       今回は、グループポリシーを使って、特定のコンピューターに対して、ドメインユーザーに Administrators 権限を ...

4

こんにちは!SE ブログの相馬です。       今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 ...

5

こんにちは!SEブログの相馬です。       今回は、ユーザープロファイルを削除する方法について書いてみました。     1 台の PC を複数人で ...

6

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

7

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

8

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

9

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

10

こんにちは!SE ブログの相馬です。       今回は、Windows Server 2016 で NTP サーバーと同期する方法について書きました。   & ...

-Active Directory
-, ,