Windows の Active Directory FSMO 役割

この記事は主に、Active Directory の Flexible Single Master Operation (FSMO) 役割について理解するのに役立ちます。

適用対象: Windows Server 2012 R2、Windows Server 2016、Windows Server 2019、Windows Server 2022
元の KB 番号: 197132

概要

Active Directory は、エンタープライズ内のすべてのオブジェクトとそのそれぞれの属性が格納される中央リポジトリです。 これは、何百万ものオブジェクトを格納できる階層型のマルチマスター対応データベースです。 データベースに対する変更は、DC がネットワークに接続されているか、ネットワークから切断されているかに関係なく、エンタープライズ内の任意のドメイン コントローラー (DC) で処理できます。

マルチマスター モデル

Active Directory などのマルチマスターが有効なデータベースでは、エンタープライズ内の任意の DC で変更を柔軟に実行できます。 ただし、エンタープライズの残りの部分にデータがレプリケートされると、問題を引き起こすことがある競合のリスクも発生します。 競合する更新を Windows で対処する 1 つの方法は、競合解決アルゴリズムで値の不一致を処理することです。 これは、最後に変更が書き込まれた DC に解決することによって行われます。ここでは最後のライターが優先されます。 他のすべての DC の変更は破棄されます。 この方法は許容できる場合もありますが、競合が非常に困難で最後のライター優先アプローチを使用して解決できない場合があります。 このような場合は、事後に解決を試みるのではなく、競合が発生しないようにすることをお勧めします。

特定の種類の変更については、競合する Active Directory 更新プログラムが発生しないようにするための方法が Windows に組み込まれています。

単一マスター モデル

Windows で更新プログラムの競合を防ぐために、Active Directory は単一マスター形式で特定のオブジェクトの更新を実行します。 単一マスター モデルでは、ディレクトリ全体の 1 つの DC のみが更新を処理できます。 これは、Microsoft Windows NT 3.51 や 4.0 など、以前のバージョンの Windows でプライマリ ドメイン コントローラー (PDC) に与えられた役割と似ています。 以前のバージョンの Windows では、PDC は特定のドメイン内のすべての更新を処理する役割を担います。

Active Directory は、以前のバージョンの Windows で見つかった単一マスター モデルを拡張して複数の役割を含め、エンタープライズ内の任意の DC に役割を転送する機能を拡張します。 Active Directory ロールは単一の DC にバインドされないため、FSMO 役割と呼ばれます。 現在、Windows には 5 つの FSMO 役割があります。

  • スキーマ マスター
  • ドメイン名前付けマスター
  • RID マスター
  • PDC エミュレーター
  • インフラストラクチャ マスター

通常、FSMO 役割の所有権は、ディレクトリ サービスの開始後に所有権が格納されている名前付けコンテキスト (NC) を、ドメイン コントローラーがレプリケートした場合にのみ実行されます。 FSMO 役割の取り込みは、役割が使用される前に以前の所有者に到達していることを確認します。

スキーマ マスター FSMO 役割

スキーマ マスター FSMO ロール所有者は、ディレクトリ スキーマ (スキーマの名前付けコンテキストまたは LDAP://cn=schema,cn=configuration,dc=<domain>) の更新を実行する DC です。 これは、ディレクトリ スキーマの更新を処理できる唯一の DC です。 スキーマの更新が完了すると、スキーマ マスターからディレクトリ内の他のすべての DC にレプリケートされます。 フォレストごとにスキーマ マスターは 1 つだけです。

初期レプリケーションと接続の要件

  • この FSMO 役割所有者は、ロール所有者がディレクトリ サービスの開始後にスキーマ NC を正常に入力方向にレプリケートした場合にのみアクティブになります。
  • DC とフォレストのメンバーは、スキーマの更新時にのみ FSMO 役割に連絡します。

ドメインの名前付けマスター FSMO 役割

ドメインの名前付けマスター FSMO ロール所有者は、ディレクトリのフォレスト全体のドメイン名空間、つまり Partition\Configuration の名前付けコンテキストまたは LDAP://CN=Partition、CN=Configuration、DC=<domain> に変更を加える DC です。 これは、ディレクトリにドメインを追加または削除できる唯一の DC です。 また、外部ディレクトリ内のドメインへの相互参照を追加または削除することもできます。

初期レプリケーションと接続の要件

  • この FSMO 役割所有者は、ロール所有者がディレクトリ サービスの開始後に構成 NC を正常に入力方向にレプリケートした場合にのみアクティブになります。

  • フォレストのドメイン メンバーは、相互参照を更新する場合にのみ FSMO 役割所有者に連絡します。 DC は、次の場合に FSMO 役割所有者に連絡します。

    • フォレスト内でドメインが追加または削除されます。
    • DC 上のアプリケーション ディレクトリ パーティションの新しいインスタンスが追加されます。 たとえば、既定の DNS アプリケーション ディレクトリ パーティションに DNS サーバーが参加しています。

RID マスター FSMO 役割

RID マスター FSMO 役割所有者は、特定のドメイン内のすべての DC からの RID プール要求を処理する単一の DC です。 また、オブジェクトをドメインから削除し、オブジェクトの移動中に別のドメインに配置する役割も担います。

DC によって、ユーザーやグループなどのセキュリティ プリンシパル オブジェクトが作成されると、一意のセキュリティ ID (SID) がオブジェクトにアタッチされます。 この SID は、次の要素で構成されます。

  • ドメイン内に作成されたすべての SID に対して同じドメイン SID。
  • ドメインに作成されたセキュリティ プリンシパル SID ごとに一意の相対 ID (RID)。

ドメイン内の各 Windows DC には、作成するセキュリティ プリンシパルへの割り当てを許可されている RID のプールが割り当てられます。 DC の割り当てられた RID プールがしきい値を下回ると、その DC はドメインの RID マスターに対して追加の RID の要求を発行します。 ドメイン RID マスターは、ドメインの未割り当て RID プールから RID を取得して要求に応答し、要求元 DC のプールに割り当てます。 ディレクトリにはドメインごとに 1 つの RID マスターがあります。

初期レプリケーションと接続の要件

  • この FSMO 役割所有者は、ディレクトリ サービスが開始されてから、ロール所有者がドメイン NC を正常にインバウンド レプリケートした場合にのみアクティブになります。
  • DC は、新しい RID プールを取得するときに FSMO 役割所有者に連絡します。 新しい RID プールは、AD レプリケーションを通じて DC に配信されます。

PDC エミュレーター FSMO 役割

エンタープライズ内の時刻を同期するには、PDC エミュレーターが必要です。 Windows には、Kerberos 認証プロトコルで必要になる W32Time (Windows Time) タイムサービスが含まれています。 エンタープライズ内のすべての Windows ベースのコンピューターは、共通の時間を使用します。 タイム サービスの目的は、権限を制御する階層的な関連付けを Windows Time サービスで確実に使用できるようにすることです。 ループでは、適切な共通の時間の使用を保証することが許可されていません。

ドメインの PDC エミュレーターは、ドメインに対する権限があります。 フォレストのルートにある PDC エミュレーターは、エンタープライズに対して権限を持つようになり、外部ソースから時間を収集するように構成する必要があります。 すべての PDC FSMO 役割所有者は、ドメインの階層構造に従って入力方向のタイム パートナーを選択します。

Windows ドメインでは、PDC エミュレーター役割所有者は次の機能を保持します。

  • ドメイン内の他の DC によって行われたパスワード変更は、PDC エミュレーターに優先的にレプリケートされます。
  • パスワードが正しくないために DC で認証エラーが発生した場合は、ユーザーに不適切なパスワードに関するエラー メッセージが送信される前に、エラーが PDC エミュレーターに転送されます。
  • アカウントのロックアウトは、PDC エミュレーターで処理されます。
  • PDC エミュレーターは、Windows NT 4.0 サーバー ベース以前の PDC が Windows NT 4.0 ベース以前のクライアントに対して実行するすべての機能を実行します。

次の状況では、PDC エミュレーターの役割のこの部分は不要になります。
Windows NT 4.0 以前を実行しているすべてのワークステーション、メンバー サーバー、ドメイン コントローラー (DC) は、Windows 2000 にアップグレードされます。

Windows 2000 環境で説明されているように、PDC エミュレーターは他の機能を実行します。

次の情報では、アップグレード プロセス中に発生する変更について説明します。

  • 分散サービス クライアント パッケージをインストールした Windows クライアント (ワークステーションとメンバー サーバー) と下位レベルのクライアントは、PDC としてアドバタイズされた DC でディレクトリ書き込み (パスワードの変更など) を優先的に実行しません。 ドメインには任意の DC が使用されます。
  • 下位レベル ドメインのバックアップ ドメイン コントローラー (BDC) が Windows 2000 にアップグレードされると、PDC エミュレーターは下位レベルのレプリカ要求を受信しなくなります。
  • 分散サービス クライアント パッケージをインストールした Windows クライアント (ワークステーションとメンバー サーバー) と下位レベルのクライアントは、Active Directory を使用してネットワーク リソースを検索します。 Windows NT ブラウザー サービスは必要ありません。

初期レプリケーションと接続の要件

  • この FSMO 役割所有者は、ドメイン NC ヘッドの fSMORoleOwner 属性がそれ自体を指しているのを PDC エミュレーターが見つけると常にアクティブになります。 入力方向のレプリケーションの要件はありません。

  • DC は新しいパスワードを持っているとき、またはローカル パスワードの検証が失敗したときに、FSMO 役割所有者に連絡します。 PDC エミュレーターに到達できない場合、または AvoidPdcOnWanレジストリ値が 1 に設定されている場合、エラーは発生しません。

  • 次のコマンドレットを使用して、DC を降格するための前提条件を実行できます。

    PS C:\Users\Capecodadmin> Test-ADDSDomainControllerUninstallation -DemoteOperationMasterRole |fl
    

    PDC エミュレーターに到達できない場合の出力例を次に示します。

    メッセージ: ドメイン コントローラー昇格の前提条件の検証に失敗しました。 この Active Directory ドメイン コントローラーは、ドメイン「contoso.com」の最後のドメイン コントローラーではありません。 ただし、そのドメインの他のドメイン コントローラーに連絡することはできません。 続行すると、このドメイン コントローラーで行われたすべてのActive Directory Domain Services の変更が失われます。 続行するには、「IgnoreLastDCInDomainMismatch」オプションを指定します。
    Context : Test.VerifyDcPromoCore.DCPromo.General.50
    RebootRequired: False
    状態: エラー

インフラストラクチャ マスター FSMO 役割

あるドメイン内のオブジェクトが別のドメイン内の別のオブジェクトによって参照されている場合、次のように参照を表します。

  • GUID
  • SID (セキュリティ プリンシパルへの参照用)
  • 参照されるオブジェクトの DN

インフラストラクチャ FSMO 役割所有者は、クロスドメイン オブジェクト参照でオブジェクトの SID と識別名を更新する DC です。

注:

インフラストラクチャ マスター (IM) の役割は、グローバル カタログ サーバー (GC) ではない DC によって保持する必要があります。 インフラストラクチャ マスターをグローバル カタログ サーバーで実行すると、インフラストラクチャ マスターは保持していないオブジェクトへの参照を含まないため、オブジェクト情報の更新を停止します。 これは、グローバル カタログ サーバーに保持されているのが、フォレスト内の各オブジェクトの部分的なレプリカであるためです。 その結果、そのドメイン内のクロスドメイン オブジェクト参照は更新されず、その DC のイベント ログにその旨の警告が記録されます。

ドメイン内のすべての DC がグローバル カタログもホストしている場合、すべての DC に現在のデータが含まれます。 どの DC がインフラストラクチャ マスターの役割を保持するのかは重要ではありません。

ごみ箱オプション機能が有効になっている場合、参照先のオブジェクトが移動、名前変更、または削除されたときに、すべての DC がクロスドメイン オブジェクト参照を更新します。 この場合、インフラストラクチャ FSMOの役割に関連付けられるタスクはありません。 また、どのドメイン コントローラーがインフラストラクチャ マスターの役割を所有するのかは重要ではありません。 詳細については、「6.1.5.5 インフラストラクチャ FSMOの役割」を参照してください。

初期レプリケーションと接続の要件

  • この FSMO 役割所有者は、ディレクトリ サービスが開始されてから、ロール所有者がドメイン NC を正常にインバウンド レプリケートした場合にのみアクティブになります。
  • この FSMO の役割所有者には接続の要件がありません。 これはフォレスト内部クリーンアップ機能です。