Active Directory(AD)は、中央認証および認可サービスを提供するディレクトリサービスです。組織は、ドメインコントローラ(DC)上でADをホストし、マルチマスター構成で情報を相互にレプリケーションします。フレキシブルシングルマスターオペレーション(FSMO)役割は、すべてのデータソース間で一貫性のある信頼性の高いデータを確保します。
FSMO役割は、ADのレプリケーションがスムーズに実行され、他の多くの重要なサービスが意図した通りに動作することを確保します。この記事では、FSMO役割とは何か、ADにどのような影響を与えるか、ADフォレストでこれらの役割を安全に操作する方法を学びます。
この記事の最後までに、FSMO役割とそれらを管理して健全なAD環境を維持する方法をよりよく理解することができるでしょう。
FSMO役割とは何ですか?
FSMO役割は、ADフォレスト内の各DCで独立してホストされるサービスです。各役割には、デバイス間での時間の同期を維持したり、セキュリティ識別子(SID)を管理したりするなど、特定の目的があります。
FSMO役割は、フォレストレベルまたはドメインレベルでスコープが定義され、そのスコープに固有です。たとえば、2つのドメインを持つフォレストでは、RIDマスター役割をホストするドメインごとに1つのDC(合計2つ)があり、スキーママスター役割をホストするDCは1つだけです。
FSMO Role | Scope |
Schema Master | Forest |
Domain Naming Master | Forest |
Primary Domain Controller Emulator | Domain |
RID Master | Domain |
Infrastructure Master | Domain |
A DC can hold multiple roles at one time.
スキーママスター
A critical component of AD is the database. The database, like all other databases, has a schema that dictates its structure with various partitions or naming contexts. The AD schema is a database partition that contains metadata about AD objects. For example, it contains classes like person
, group
, or msPKI-Key-RecoveryAgent
and attributes like phone number
, badPwdCount
, or dNS-HostName
.
ADスキーマは、Active Directoryデータベースで最も「デリケート」なパーティションです。
ADはスキーマを管理するサービスが必要で、その役割はスキーママスターです。スキーママスターの役割は、ADスキーマへの変更を制御することです。Exchangeやフォレスト機能レベルを上げるなどの製品をインストールするためにADスキーマを拡張したことがある場合、スキーママスターの役割を経験しています。
ADスキーマへの変更は、厳格な条件の下で1つのDC上のスキーママスターの役割を介してのみ実行すべきです。2つのDCで変更を加えてレプリケーションを待って、どの変更がレプリケーションで「勝つ」かを見ることは避けたい。
ドメイン命名マスター
ADデータベースは、フォレストとドメインの範囲で複数のパーティションを含んでいます。ADはこれらのパーティションに対して時折変更を行い、そのためにサービスが必要であり、それがドメイン命名マスターFSMOの役割です。
フォレストドメインスペースに変更を加えると(フォレストにパーティションを追加すると)、ドメイン命名マスターはこれらの変更をConfiguration\\Partitions
に書き込みます。この活動は、たとえば、ドメインコントローラーが昇格したり降格したりするときに行われます。
プライマリドメインコントローラエミュレータ(PDCe)
おそらく、ADで最も重要なFSMOの役割はPDCeです。PDCeの役割は、パスワードの変更同期、アカウントのロックアウト(およびロック解除)、時間同期などのタスクを担当しています。
Windows NTの初期の時代には、プライマリドメインコントローラ(PDC)がADドメイン内の唯一の書き込み可能なDCでした。他のすべてのDCは、認証要求のためにのみ使用されるバックアップドメインコントローラ(BDC)でした。
Windows 2000以降、すべてのDCは書き込み可能になりましたが、Windows Server 2008で導入された読み取り専用ドメインコントローラ(RODC)を除きます。ADはまだPDCの機能を必要としていましたが、実際にはPDCは存在しなくなりましたので、MicrosoftはPDCエミュレータ(PDCe)の役割を導入しました。
レガシーアプリケーションのリダイレクト
PDCeの役割の中で最も基本的な機能の1つは、レガシーアプリケーションがADへの変更を書き込む場所としてホストされているDCを通知することです。たとえば、Windows NTサービスと一緒に作業していて、そのサービスがADデータベースに変更を書き込む場所を知らない場合、PDCeに連絡して支援を求めることになります。
時間同期
ドメインに参加しているすべてのデバイスが一貫した時刻を維持することは重要です。デフォルトの認証モードであるKerberos認証では、クライアントとDC、またはDCのレプリケーションパートナー間の最大の時間差は5分以内である必要があります。
PDCeの役割は、ADフォレスト内の他のすべてのコンピュータの中央時刻ソースです。
- すべてのクライアントコンピュータは、ログオンしたDCから時刻を同期します。
- すべてのDCは、それぞれのドメインのPDCeから時刻を同期します。
- マルチドメインのADフォレストでは、PDCe役割を持つDCは親ドメインのPDCeから時刻を同期します。
- その後、ルートドメインのPDCe役割は信頼性のある外部の時刻源から同期します。
パスワードの変更の管理
ADの変更は、すべてのDCにすぐにレプリケートされるのではなく、ADのレプリケーションスケジュールに従います。しかし、パスワードの変更は少し異なります。パスワードの変更は常に、最初に変更が行われたDCからPDCe役割を持つDCにレプリケートされ、その後他のDCにレプリケートされます。
たとえば、あるDCが最新のパスワードを持っていない場合、ユーザが古いパスワードで認証しようとすると、認証するDCはまずPDCe役割を持つDCに接続して更新されたパスワードを確認し、認証を拒否します。
パスワードを変更したユーザが新しいパスワードがまだレプリケートされていない他のDCに接続できない問題が発生すると、PDCeの問題がすぐにわかります。
アカウントのロックアウトの処理
PDCeの役割は、アカウントロックアウトも処理します。パスワード変更とは異なり、アカウントロックアウトは通常のレプリケーション間隔に従いません。アカウントロックアウトは、シングルオブジェクトのレプリケートと呼ばれるメカニズムを介してすぐに他のDCにレプリケートされます。これは、レプリケートがまだ行われていない別のDCにロックアウトされたアカウントがログオンできないようにするセキュリティ対策です。
GPMCのデフォルトターゲット
Group Policyの管理は、Group Policy Management Console(GPMC)ツールで行われます。ADへの変更を行うためには、GPMCはDCに接続する必要があります。デフォルトでは、GPMCは常にPDCeの役割を持つDCに接続しようとします。場所が異なる場合でも同様です。ADサイト。PDCeに到達できない場合、PDCeの役割に到達できないという警告が表示され、GPMCは別のDCを選択するように求められます。

関連記事: Group Policyとは-詳細な動作
Distributed File System(DFS)名前空間情報の提供
PDCeのFSMO役割の機能を完全にするために、PDCeの役割はDFS名前空間情報も提供します。定期的に、DFSルートサーバーは権威あるDFS情報を保持しているPDCeから更新されたDFS名前空間情報を要求します。
通常、PDCe FSMO 役割にとっては負荷が過剰ではありませんが、DFS サーバの数が多い環境では、デフォルトの DFS 名前空間の検索動作を変更します。
RID マスター
AD ドメイン内のすべてのオブジェクトには、他の類似したオブジェクトとの区別をするために一意の ID が必要です。AD が新しいオブジェクトに常に一意の ID(セキュリティ識別子または SID と呼ばれる)を割り当てることは重要です。セキュリティ識別子または SIDと呼ばれる新しいオブジェクトに常に一意の ID を割り当てることは重要です。
各 SID は複数のコンポーネントで構成されています。 S
(SID の略称)、Revision
(リビジョン番号)、I
(識別子の権限)、ドメイン ID、および相対 ID です。ドメイン ID はフォレスト内の各ドメインに固有です。相対 ID はドメイン内の各オブジェクトに固有です。SID は、以下のようになります。 DomainId
はドメイン ID を表し、 RelativeId
は相対 ID を表します。
Relative ID (RID) マスター役割は、各 AD オブジェクトに割り当てられる SID が一意であることを保証します。
一部の RID は、特殊なアカウントやよく知られたグループ向けに予約されています。
ドメイン内の最初のDCは自動的にRIDマスターになり、RIDの発行を制御します。
RIDマスターの役割を持つDCは、主に3つの異なるイベントで重要な役割を果たします。
DCの昇進/降格
新しいDCが昇進するたびに、RIDマスターはそのDCに500個のRIDブロックを割り当てます。これらのRIDは、SIDが必要な新しいアカウントがそのDCで作成されるときに、順番に割り当てられます。
たとえば、最後に割り当てられたRIDブロックが5501から6000までの場合、新しく昇進したDCまたは現在のブロックを使い果たしたDCが次にブロックを必要とする場合、…6001から…6500などを受け取ります。
DCがADデータベースから削除されると、RIDマスターはこれを検知し、重複するSIDを防ぐためにそのDCが持っていたRIDのいずれも割り当てないようにします。
RID枯渇
DCがRID容量の50%に達すると、RIDマスターに新しいRIDブロックの要求を行います。DCはRIDマスターに新しいRIDを要求するのは、RIDマスターがオフラインの場合に備えて、RIDの割り当てが枯渇しないようにするためです。
RIDマスター役割の奪取
管理者はFSMO役割の奪取または移動を介して、役割を1つのDCから別のDCに移動できます。管理者がRIDマスター役割を1つのDCから別のDCに移動すると、次の利用可能なRID番号は10000増加します。
関連記事:FSMO役割の移動方法(GUIとPowerShell)
次に利用可能なRIDを10000増やすことは、重複するSIDを回避するための安全機構です。たとえば、管理者がRIDマスターの役割を奪取し、古いRIDマスターが再びオンラインになった場合、新しいRIDマスターと共に重複するSIDを発行し始める可能性があります。
インフラストラクチャマスター
すべてのADオブジェクトには、RIDマスターFSMO役割によって割り当てられたSIDがあります。ユーザー、グループ、その他のAD情報を表示する際には、人間が名前を表示したいので、インフラストラクチャマスターの役割が重要です。
デフォルトでは、各DCはグローバルカタログ(GC)として構成されています。GCはフォレスト内のすべてのドメインの情報を保持します。サイト間のレプリケーショントラフィックを減らすために、一部のDCをGCに設定しないように構成する方法もありました。
GCでないDCに認証されている場合、インフラストラクチャマスターは他のドメインのSIDを人間に理解しやすい名前に変換する責任を持ちます。
たとえば、ドメインに参加しているコンピュータから、他のドメインのアカウントに対して権限が設定されたWindows Explorerのフォルダのセキュリティまたは共有タブを確認してみてください。ユーザー、コンピュータ、グループの名前が表示されますが、SIDは表示されません。コンピュータがドメイン内でインフラストラクチャマスターの役割を見つけることができない場合、他のドメインのアカウントのSIDのみが表示されます。

Active Directory Recycle Binを有効にすると、すべてのDCが実質的にインフラストラクチャマスターの役割を持つようになります。AD Recycle Binにより、インフラストラクチャマスターの役割はMicrosoftの言葉で言えば「重要ではない」とされます。
関連記事:Active Directory Recycle Binでベーコンを保存する方法
結論
ADのFSMO役割は、ADが設計どおりに機能し続けるための重要な要素です。ほとんどの場合、FSMO役割を気にする必要はありませんが、必要な時にどのように機能するかを理解することは重要です!