Microsoft Entra Connect Sync: フィルター処理を構成する

フィルター処理を使用することによって、オンプレミスのディレクトリからどのオブジェクトを Microsoft Entra ID に反映するかを制御できます。 既定の構成では、構成されているフォレスト内の全ドメインのほとんどのオブジェクトが対象となります。 通常は、この構成を推奨します。 Microsoft 365 のワークロード (Exchange Online、Skype for Business など) を使っているユーザーには、完全なグローバル アドレス一覧を表示した方が、電子メールの送信先や電話の相手を探すうえで便利です。 既定では、オンプレミス環境の Exchange または Lync と同じ利便性が得られるように構成されています。

Note

Microsoft Entra Cloud Sync と Microsoft Entra Connect Sync は、isCriticalSystemObject 属性が True に設定されている Active Directory オブジェクトをフィルターで除外します。 これにより、Administrator、DomainAdmins、EnterpriseAdmins などの AD 組み込みの高い特権オブジェクトが除外されます。  このフィルター処理は、最後の 2 つのグループは既定により Entra ID と同期されないことを意味します。

ただし、これらの高い特権グループ (DomainAdmins、EnterpriseAdmins) に追加された他のオブジェクトは、クラウドへの同期からフィルターで除外されません。 たとえば、ローカル AD ユーザーを EnterpriseAdmins グループに追加した場合も、そのユーザーは Microsoft Entra ID に同期されます。

ただし、場合によっては、既定の構成を変更する必要があります。 次に例をいくつか示します。

  • Azure または Microsoft 365 を試験運用しており、Microsoft Entra ID に存在するユーザーの一部だけが必要な場合。 小規模な試験では、完全なグローバル アドレス一覧がなくても機能を検証することができます。
  • Microsoft Entra ID に含める必要のない、個人用以外のアカウント (サービス アカウントなど) が多数存在する。
  • コンプライアンス上の理由から、オンプレミスのユーザー アカウントは一切削除できないので 単に無効にします。 一方、Microsoft Entra ID には、アクティブなアカウントだけが必要になります。

この記事では、各種フィルター処理方法の構成について説明します。

重要

公式に文書化されているアクションを除き、Microsoft では Microsoft Entra Connect Sync の変更や操作はサポートされていません。 サポート対象外のアクションを行うと、Microsoft Entra Connect Sync が不整合な状態やサポート対象外の状態になる可能性があります。Microsoft は、そのようなデプロイに対してテクニカル サポートを提供できません。

基本事項と注意事項

Microsoft Entra Connect Sync では、いつでもフィルター処理を有効にできます。 最初に既定の構成でディレクトリ同期を実行した後、フィルター処理を構成した場合、フィルター処理により除外されるオブジェクトは、Microsoft Entra ID に対する同期の対象外になります。 この変更により、以前同期されてからフィルター処理された Microsoft Entra ID のオブジェクトは、すべて Microsoft Entra ID から削除されます。

フィルター処理に変更を加える際は、未検証の変更が意図せずエクスポートされてしまうことのないよう、あらかじめ組み込みのスケジューラを無効にしておいてください。

フィルター処理によって多くのオブジェクトが同時に削除される可能性があります。フィルター処理に変更を加えたら、必ず検証したうえで、Microsoft Entra ID に変更をエクスポートするようにしてください。 構成作業を終えたら、変更内容を Microsoft Entra ID にエクスポートして反映する前に検証作業を実行することを強くお勧めします。

意図せず多数のオブジェクトを削除してしまうことのないよう、"誤って削除されないように保護する" 機能が既定で有効になっています。 フィルター処理で多数のオブジェクトを削除する場合 (既定では 500 個)、この記事の手順に従って、削除処理を Microsoft Entra ID に反映できるようにする必要があります。

November 2015 (1.0.9125) より前のビルドを使用し、フィルターの構成を変更して、パスワード ハッシュ同期を使用する場合は、構成を完了した後、すべてのパスワードの完全同期をトリガーする必要があります。 パスワードの完全同期をトリガーする方法の手順については、「すべてのパスワードの完全同期の開始」を参照してください。 ビルド 1.0.9125 以降を使用している場合、パスワードを同期する必要があるかどうかとこの特別な手順が今後必要かどうかの計算も、通常の完全同期処理で行われます。

フィルター処理のエラーが原因でユーザー オブジェクトが Microsoft Entra ID から誤って削除された場合、フィルター処理構成を削除することで Microsoft Entra ID 内にユーザー オブジェクトを再作成できます。 その後、ディレクトリの同期を再実行できます。 この操作により、Microsoft Entra ID 内のごみ箱からユーザーが復元されます。 ただし、その他の種類のオブジェクトについては削除を取り消すことができません。 たとえば、リソースの ACL に使用されていたセキュリティ グループをうっかり削除すると、そのグループおよび対応する ACL は復元できなくなります。

削除されるのは、Microsoft Entra Connect の作用対象 (スコープ) として認識されていたオブジェクトだけです。 別の同期エンジンによって作成されたオブジェクトが Microsoft Entra ID 内に存在していても、それらがスコープ内に存在しない場合、フィルター処理を追加しても、それらのオブジェクトは削除されません。 たとえば、当初 DirSync サーバーによって Microsoft Entra ID 内のディレクトリ全体が完全にコピーされているとき、最初からフィルター処理を有効にした状態で新しい Microsoft Entra Connect Sync サーバーをインストールした場合、DirSync によって別途作成されたオブジェクトは、Microsoft Entra Connect によって削除されません。

新しいバージョンの Microsoft Entra Connect のインストールまたはアップグレードを行ってもフィルター処理の構成は保持されます。 新しいバージョンにアップグレードした後は、常に構成が誤って変更されていないことを確認してから、最初の同期サイクルを実行することをお勧めします。

複数のフォレストが存在する場合、このトピックで説明するフィルター処理構成をすべてのフォレストに適用する必要があります (すべてのフォレストに同じ構成を適用する場合)。

同期スケジューラを無効にする

同期サイクルを 30 分おきにトリガーする、組み込みのスケジューラを無効にするには、以下の手順に従います。

  1. Windows Powershell を開き、次のコマンドを使用して ADSync モジュールをインポートし、スケジューラを無効にします
import-module ADSync
Set-ADSyncScheduler -SyncCycleEnabled $False
  1. この記事で説明されているとおりに変更します。 その後、次のコマンドを使用してスケジューラをもう一度有効にします
Set-ADSyncScheduler -SyncCycleEnabled $True

フィルター処理オプション

ディレクトリ同期ツールには、次のフィルター処理構成タイプを適用できます。

  • グループ ベース: 単一のグループに基づくフィルター処理は、インストール ウィザードを使用して、初回インストール時にのみ構成できます。
  • ドメインベース: このオプションを使用すると、どのドメインを Microsoft Entra ID に同期させるかを選択できます。 また、Microsoft Entra Connect Sync をインストールした後にオンプレミス インフラストラクチャに変更を加えた場合、同期エンジンの構成に対してドメインを追加または削除することができます。
  • 組織単位 (OU) ベース: このオプションを使用すると、どの OU を Microsoft Entra ID に同期させるかを選択できます。 選択された OU 内のすべてのオブジェクト タイプが対象となります。
  • 属性ベース: このオプションを使用すると、オブジェクトの属性値に基づいてオブジェクトをフィルター処理できます。 オブジェクトの種類ごとに異なるフィルターを使用することもできます。

フィルター処理のオプションは、同時に複数使用することができます。 たとえば、1 つの OU 内のオブジェクトのみを含めるために OU ベース フィルター処理を使用できます。 同時に、オブジェクトをさらにフィルター処理するために属性ベースのフィルター処理を使用できます。 複数のフィルター処理方法を使用した場合、それらのフィルターが "論理積" で組み合わされます。

ドメイン ベースのフィルター処理

このセクションでは、ドメイン フィルターを構成する手順について説明します。 Microsoft Entra Connect をインストールした後にフォレスト内のドメインを追加または削除した場合は、フィルター処理の構成も更新する必要があります。

ドメイン ベースのフィルター処理を変更するには、インストール ウィザード (ドメインと OU のフィルタリング) を実行します。 インストール ウィザードは、このトピックに記載されているすべてのタスクを自動化します。

組織単位ベースのフィルター処理

OU ベースのフィルター処理を変更するには、インストール ウィザード (ドメインと OU のフィルタリング) を実行します。 インストール ウィザードは、このトピックに記載されているすべてのタスクを自動化します。

重要

同期対象の OU を明示的に選択した場合、Microsoft Entra Connect では、その OU の DistinguishedName がドメインの同期スコープの包含リストに追加されます。 ただし、後で Active Directory でその OU の名前を変更すると、OU の DistinguishedName が変更されるため、Microsoft Entra Connect ではその OU が同期スコープ内にあるとは見なされなくなります。 これによりすぐに問題が発生することはありませんが、完全なインポート ステップの際に、Microsoft Entra Connect で同期スコープが再評価され、同期スコープ外のオブジェクトが削除 (廃止) されます。これにより、Microsoft Entra ID 内のオブジェクトが予期せず大量に削除される可能性があります。 この問題を回避するには、OU の名前を変更した後、Microsoft Entra Connect ウィザードを実行し、OU を再度選択してもう一度同期スコープに含めます。

属性ベースのフィルター処理

以下の手順は、November 2015 (1.0.9125) 以降のビルドを想定しています。

重要

Microsoft Entra Connect によって作成された既定の規則は、変更しないことをお勧めします。 規則を変更する場合は、複製してから、元の規則を無効にします。 複製した規則を変更してください。 これによって (元の規則を無効にすることによって)、その規則によって有効にしたバグ修正や機能は見つからなくなります。

属性ベースのフィルター処理は、オブジェクトをフィルター処理する手段として最も柔軟性の高い方法となります。 宣言型のプロビジョニングの強みを活かして、Microsoft Entra ID に対してオブジェクトが同期されるタイミングをほぼすべての面から制御することができます。

Active Directory からメタバースへの受信フィルター処理と、メタバースから Microsoft Entra ID への送信フィルター処理を適用できます。 維持が最も簡単な受信フィルター処理を適用することをお勧めします。 送信側のフィルター処理は、複数のフォレストからのオブジェクトを合わせたうえで評価する必要がある場合にのみ使用してください。

受信のフィルター処理

受信フィルター処理は既定の構成を使用します。既定の構成では、Microsoft Entra ID に送信されるオブジェクトを同期させるためには、メタバース属性 cloudFiltered の値が未設定となっている必要があります。 この属性の値が True に設定されている場合、オブジェクトは同期されません。 意図的に False に設定することは避けてください。 他の規則から確実に値が得られるよう、この属性の値は True または NULL (未設定) にする必要があります。

Microsoft Entra Connect は Microsoft Entra ID でプロビジョニングするオブジェクトをクリーンアップするように設計されていることに注意してください。 システムが過去に Microsoft Entra ID でオブジェクトをプロビジョニングしたことがなく、インポート手順で Microsoft Entra ID オブジェクトを取得した場合、このオブジェクトは他のシステムによって Microsoft Entra ID で作成されたと正しく想定されます。 メタバース属性 cloudFilteredTrue に設定されている場合でも、Microsoft Entra Connect は、これらの種類の Microsoft Entra オブジェクトをクリーンアップしません。

受信フィルター処理では、同期の対象となるオブジェクトと対象外となるオブジェクトがスコープの作用によって決定されます。 この点は、組織ごとに実際の要件に合わせて調整することになります。 スコープ モジュールには、同期規則の作用対象を判断するグループがあります。 グループは、1 つまたは複数の句を含みます。 複数の句は "論理積" で組み合わされ、複数のグループは "論理和" で組み合わされます。

たとえば、次のようなフィルターがあるとします。
スコープ フィルターを追加する例を示すスクリーンショット。
これは、 (department = IT) OR (department = Sales AND c = US) という意味になります。

次のサンプルと手順は、ユーザー オブジェクトが例として使用されていますが、実際にはオブジェクトの種類に関係なく利用できます。

次の例では、優先順位の値は 50 から始まります。 これは既に使用されていない任意の数値であればよいですが、100 よりも小さい必要があります。

否定のフィルター処理 (同期対象外の指定)

以下の例では、extensionAttribute15 の値が NoSync であるすべてのユーザーをフィルターで除外 (同期対象外に) します。

  1. ADSyncAdmins セキュリティ グループに属するアカウントを使用して、Microsoft Entra Connect Sync を実行しているサーバーにサインインします。
  2. [スタート] メニューから、同期規則エディターを起動します。
  3. [受信] が選択されていることを確認し、 [新しい規則の追加] をクリックします。
  4. わかりやすい名前を規則に付けます ("AD からの受信 – 同期しないユーザーのフィルター" など)。 適切なフォレストを選択し、 [接続されているシステム オブジェクトのタイプ] として [ユーザー] を、 [メタバース オブジェクトの種類] として [人] を選択します。 [リンクの種類][結合] を選択します。 [優先順位] に、別の同期規則で現在使用されていない値 (50 など) を入力して、 [次へ] をクリックします。
    Inbound 1 の説明
  5. [スコープ フィルター] で、 [グループの追加][句の追加] の順にクリックします。 [属性][ExtensionAttribute15] を選択します。 [演算子]EQUAL に設定し、 [値] ボックスに「NoSync」という値を入力します。 [次へ] をクリックします。
    Inbound 2 のスコープ
  6. [参加] 規則は空のままにして、 [次へ] をクリックします。
  7. [変換の追加] をクリックし、 [FlowType] として [Constant] を、 [ターゲット属性] として [cloudFiltered] に選択します。 [ソース] テキスト ボックスに「True」を入力します。 [追加] をクリックして規則を保存します。
    Inbound 3 の変換
  8. 構成を完了するには、完全同期を実行する必要があります。続きは「変更の適用と検証」セクションを参照してください。

肯定のフィルター処理 (同期対象の指定)

肯定のフィルター処理を式で表すことは、否定の場合と比べて難易度が上がります。同期の対象とするかどうかが不明確なオブジェクト (会議室など) も考慮しなければならないためです。 既定の規則 [In from AD - User Join] の既定のフィルターもオーバーライドします。 カスタム フィルターを作成するときは、重要なシステム オブジェクト、レプリケーション競合オブジェクト、特殊なメールボックス、Microsoft Entra Connect のサービス アカウントなどが含まれていないことを確認してください。

肯定のフィルター処理オプションには、2 つの同期規則が必要です。1 つ (またはそれ以上) は、同期対象のオブジェクトのスコープを厳密に指定した同期規則、もう 1 つは、同期対象でない残りのすべてのオブジェクトを除外する包括的な同期規則です。

以下の例では、department 属性の値が Salesであるユーザー オブジェクトだけを同期対象としています。

  1. ADSyncAdmins セキュリティ グループに属するアカウントを使用して、Microsoft Entra Connect Sync を実行しているサーバーにサインインします。
  2. [スタート] メニューから、同期規則エディターを起動します。
  3. [受信] が選択されていることを確認し、 [新しい規則の追加] をクリックします。
  4. わかりやすい名前を規則に付けます ("AD からの受信 – 営業部のユーザーの同期" など)。 適切なフォレストを選択し、 [接続されているシステム オブジェクトのタイプ] として [ユーザー] を、 [メタバース オブジェクトの種類] として [人] を選択します。 [リンクの種類][結合] を選択します。 [優先順位] に、別の同期規則で現在使用されていない値 (51 など) を入力して、 [次へ] をクリックします。
    Inbound 4 の説明
  5. [スコープ フィルター] で、 [グループの追加][句の追加] の順にクリックします。 [属性][department] を選択します。 [演算子] を [EQUAL] に設定し、 [値] ボックスに「Sales」という値を入力します。 [次へ] をクリックします。
    Inbound 5 のスコープ
  6. [参加] 規則は空のままにして、 [次へ] をクリックします。
  7. [変換の追加] をクリックし、 [FlowType] として [Constant] を、 [ターゲット属性] として [cloudFiltered] に選択します。 [ソース] ボックスに、「False」を入力します。 [追加] をクリックして規則を保存します。
    Inbound 6 の変換
    これは特殊なケースですが、cloudFiltered を明示的に False に設定します。
  8. 次に、包括的な同期規則を作成する必要があります。 わかりやすい名前を規則に付けます ("AD からの受信 – 包括的なユーザーのフィルター" など)。 適切なフォレストを選択し、 [接続されているシステム オブジェクトのタイプ] として [ユーザー] を、 [メタバース オブジェクトの種類] として [人] を選択します。 [リンクの種類][結合] を選択します。 [優先順位] に、別の同期規則で現在使用されていない値 (99 など) を入力します。 前の同期規則より高い (優先順位の低い) 値を選択しました。 ただし、後で追加の部門の同期を開始した場合にフィルター処理の同期規則を追加できるように、多少の余地も残しています。 [次へ] をクリックします。
    Inbound 7 の説明
  9. [スコープ フィルター] は空のままにして、 [次へ] をクリックします。 フィルターを空にした場合、すべてのオブジェクトに規則が適用されます。
  10. [参加] 規則は空のままにして、 [次へ] をクリックします。
  11. [変換の追加] をクリックし、 [FlowType] として [Constant] を、 [ターゲット属性] として [cloudFiltered] に選択します。 [ソース] ボックスに、「True」を入力します。 [追加] をクリックして規則を保存します。
    Inbound 3 の変換
  12. 構成を完了するには、完全同期を実行する必要があります。続きは「変更の適用と検証」セクションを参照してください。

必要であれば、1 つ目のタイプの規則をさらに作成し、同期対象のオブジェクトを増やすこともできます。

送信のフィルター処理

場合によっては、オブジェクトがメタバースに参加した後にのみ、フィルター処理を実行する必要があります。 たとえば、オブジェクトを同期する必要があるかどうかを確認するには、リソース フォレストの mail 属性と、アカウント フォレストの userPrincipalName 属性を確認する必要があります。 このような場合、送信ルールに関するフィルター処理を作成します。

この例では、mail と userPrincipalName の両方の末尾が @contoso.com であるユーザーのみが同期されるようにフィルター処理を変更します。

  1. ADSyncAdmins セキュリティ グループに属するアカウントを使用して、Microsoft Entra Connect Sync を実行しているサーバーにサインインします。
  2. [スタート] メニューから、同期規則エディターを起動します。
  3. [規則の種類][送信] をクリックします。
  4. 使用する Connect のバージョンに応じて、Out to Microsoft Entra ID – User JoinOut to Microsoft Entra ID - User Join SOAInAD のいずれかの規則を選択し、[編集] をクリックします。
  5. ポップアップで [はい] を選択して規則のコピーを作成します。
  6. [説明] ページの [優先順位] の値を、まだ使用していない値 (50 など) に設定します。
  7. 左側のナビゲーションにある [スコープ フィルター] をクリックし、 [句の追加] をクリックします。 [属性][mail] を選択します。 [演算子][ENDSWITH] を選択します。 [値] に「contoso.com」と入力し、[句の追加] をクリックします。 [属性][userPrincipalName] を選択します。 [演算子][ENDSWITH] を選択します。 [値] に「contoso.com」と入力します。
  8. [保存] をクリックします。
  9. 構成を完了するには、完全同期を実行する必要があります。続きは「変更の適用と検証」セクションを参照してください。

変更の適用と検証

構成を変更したら、それらの変更をシステム内の既存のオブジェクトに適用する必要があります。 まだ同期エンジンに存在しないオブジェクトを処理 (さらに、同期エンジンがソース システムをもう一度読み取ってその内容を検証) しなければならないケースも考えられます。

ドメインまたは組織単位のフィルター処理を使って構成を変更した場合は、フル インポートに続けて差分同期を実行する必要があります。

属性のフィルター処理を使って構成を変更した場合は、完全同期を実行する必要があります。

手順は次のとおりです。

  1. [スタート] メニューから [同期サービス] を起動します。
  2. [コネクタ] を選択します。 [コネクタ] の一覧から、構成変更済みのコネクタを選択します。 [アクション] から [実行] を選択します。
    コネクタの実行
  3. [実行プロファイル] から、前のセクションで説明した操作を選択します。 2 つのアクションを実行する必要がある場合は、1 つ目が終了した後 (選択したコネクタの [状態] 列が [Idle] になっている) に 2 つ目を実行します。

同期後、すべての変更がエクスポートの対象としてステージングされます。 実際に Microsoft Entra ID に変更を加える前に、それらの変更がすべて正しいことを検証する必要があります。

  1. コマンド プロンプトを起動し、%ProgramFiles%\Microsoft Azure AD Sync\bin に移動します。
  2. csexport "Name of Connector" %temp%\export.xml /f:x を実行します。
    同期サービスにコネクタの名前があることを確認できます。 Microsoft Entra ID に "contoso.com – Microsoft Entra ID" に似た名前が付けられます。
  3. CSExportAnalyzer %temp%\export.xml > %temp%\export.csv を実行します。
  4. %temp% に export.csv という名前のファイルが生成されます。このファイルは、Microsoft Excel で開くことができます。 このファイルには、エクスポートの対象となるすべての変更が含まれています。
  5. データまたは構成に必要な変更を加え、エクスポートの対象となる変更が希望どおりになるまで、(インポート、同期、検証の) 手順を実行します。

問題がなければ、変更を Microsoft Entra ID にエクスポートします。

  1. コネクタ を選択します。 [コネクタ] の一覧から Microsoft Entra コネクタを選択します。 [アクション] から [実行] を選択します。
  2. [実行プロファイル][エクスポート] を選択します。
  3. 構成の変更によって削除されるオブジェクトが多数存在し、その数が、構成されているしきい値 (既定では 500 個) を超えた場合、エクスポート時にエラーが表示されます。 エラーが表示された場合は、"誤って削除されないように保護する" 機能を一時的に無効にする必要があります。

この時点でスケジューラをもう一度有効にします。

  1. [スタート] メニューから [タスク スケジューラ] を起動します。
  2. [タスク スケジューラ ライブラリ] の直下から Azure AD Sync Scheduler というタスクを探して右クリックし、 [有効] を選択します。

グループベースのフィルター処理

グループベースのフィルター処理は、カスタム インストールを使用して Microsoft Entra Connect を初めてインストールするときに構成できます。 このフィルター処理は、同期が必要なオブジェクトがごく少数であるパイロット デプロイで使用するためのものです。 グループベースのフィルター処理は、一度無効にすると再び有効にすることができません。 カスタム構成でのグループベースのフィルター処理は、サポートされていません。 この機能を構成できるのは、インストール ウィザードを使用する場合のみです。 パイロットが完了したら、このトピックで説明されているいずれかの他のフィルター処理オプションを使用する必要があります。 OU ベースのフィルター処理とグループ ベースのフィルター処理を組み合わせて使用する場合は、グループとそのメンバーが配置されている OU を追加する必要があります。

複数の AD フォレストを同期すると、各 AD コネクタに別のグループを指定することで、グループベースのフィルター処理を構成できます。 1 つの AD フォレストでユーザーを同期する場合、同じユーザーが他の AD フォレストで 1 つ以上の対応するオブジェクトを持つとき、ユーザー オブジェクトとそれに対応するすべてのオブジェクトがグループ ベースのフィルター処理のスコープ内にあることを確認してください。 次に例を示します。

  • あるフォレストにユーザーがいます。このフォレストには、他のフォレストの対応する FSP (外部セキュリティ プリンシパル) オブジェクトがあります。 両方のオブジェクトが、グループ ベースのフィルター処理のスコープ内にある必要があります。 そうしないと、ユーザーは Microsoft Entra ID と同期されません。

  • あるフォレストにユーザーがいます。このフォレストには、他のフォレストの対応するリソース アカウント (リンクされたメールボックスなど) があります。 また、そのユーザーとリソース アカウントをリンクするように Microsoft Entra Connect を構成しました。 両方のオブジェクトが、グループ ベースのフィルター処理のスコープ内にある必要があります。 そうしないと、ユーザーは Microsoft Entra ID と同期されません。

  • あるフォレストにユーザーがいます。このフォレストには、他のフォレストの対応するメール連絡先があります。 また、そのユーザーとメール連絡先をリンクするように Microsoft Entra Connect を構成しました。 両方のオブジェクトが、グループ ベースのフィルター処理のスコープ内にある必要があります。 そうしないと、ユーザーは Microsoft Entra ID と同期されません。

次のステップ