クラウドインテグレーション部の峰松です。
前々回、前回と Entra クラウド同期の構成方法や機能について紹介してきました。
前々回: Entra クラウド同期とは
本記事では、Microsoft Entra Connect(以下、Entra Connect)からクラウド同期へ移行するための手順について記載します。
プロビジョニングツールを Entra Connect からクラウド同期へ移行したい場合、Microsoft が公開している以下の手順に従います。
また、移行のチュートリアルも公開されています。
なお、ドキュメントの前提条件に記載があるように Entra Connect の構成次第ではクラウド同期へ移行できない場合があります。
例えば、以下を実行している場合はクラウド同期では非対応(記事執筆時点)であるため移行ができません。
また、プロビジョニングエージェントをホストする Windows Server や移行元 Entra Connect のバージョンにも注意が必要です。
今回は、OU「cloudsync」を同期対象としている Entra Connect 構成を想定し、この同期構成を Entra Connect からクラウド同期へ移行します。
まずテスト用の OU を用意して少数のオブジェクトで移行テストを行い、問題が無いことを確認してから本番オブジェクトを移行することが推奨されています。
移行対象の OU「cloudsync」にはユーザ・グループ・連絡先オブジェクトが存在します。
また、クラウド同期への移行をテストするため、テスト OU「migration_test」を作成しています。
また、ユーザと連絡先を各グループに所属させています。
グループ | 所属ユーザ | 所属連絡先 |
---|---|---|
cs_group001 | cs_user001 | cs_contact001 |
cs_group002 | cs_user002 | cs_contact002 |
cs_group003 | cs_user003 | cs_contact003 |
cs_group004 | cs_user004 | cs_contact004 |
cs_group005 | cs_user005 | cs_contact005 |
手順概要はこちらです。
それぞれについて解説していきます。
現在の Entra Connect のバックアップを取得し、移行後にトラブルが発生した場合のロールバックを実施できるようにしておきます。
Entra Connect(旧称 Azure AD Connect)を起動し、[現在の構成の表示またはエクスポート] に進みます。
[エクスポート設定] をクリックし、構成が記載された JSON ファイルを保存します。
実際にロールバックが必要になった場合、Entra Connect のカスタムインストール画面で同期設定のインポートを行うことで、Entra Connect の構成を復元することができます。
テスト OU へオブジェクトを移動します。
今回は各オブジェクトを 2 つずつ移動させテストします。
移動後に、Entra Connect の同期を行います。
Start-ADSyncSyncCycle
カスタム同期ルールを作成するための準備として、Entra Connect の同期スケジューラを停止します。
Entra Connect を実行しているサーバ(以下、「EC サーバ」と表記)にて PowerShell を管理者権限で起動し、以下コマンドを実行します。
# 実行中の同期を停止
Stop-ADSyncSyncCycle
# 同期スケジューラを停止
Set-ADSyncScheduler -SyncCycleEnabled $false
これで、Entra Connect の同期スケジューラは無効になりました。
対象オブジェクトの同期を Entra Connect からクラウド同期に変更するために、Entra Connect 側でカスタム同期ルールを作成します。
このルール作成は Entra Connect インストール時に同梱される「Synchronization Rules Editor」というツールで行い、インバウンドルールとアウトバウンドルールをそれぞれ作成します。
インバウンドルールでは、同期対象 OU やセキュリティグループ内のオブジェクトに対して「同期しない」というフラグ(cloudNoFlow = True)を付けます。
EC サーバにて、Synchronization Rules Editor を管理者権限で起動します。
Direction が Inbound になっていることを確認し、[Add new rule] をクリックします。
Description セクションにて、以下内容を設定します。
項目 | 値 |
---|---|
Name | <任意> |
Description | <任意> |
Connected System | <AD コネクタ> |
Connected System Object Type | user |
Metaverse Object Type | person |
Link Type | Join |
Precedence | <任意>(既存ルールと重複しないこと) |
Tag | - |
Scoping filter セクションにて [Add group] > [Add clause] をクリックし、以下内容を設定します。
Attribute | Operator | Value |
---|---|---|
dn | ENDSWITH | テスト OU の dn |
Join rules セクションでは何も設定しません。
Transformations セクションにて [Add transformation] をクリックし、以下内容を設定します。
FlowType | target Attribute | Source |
---|---|---|
Constant | cloudNoFlow | True |
[Add] をクリックし、ルールが作成されていることを確認します。
これで、ユーザオブジェクトに関するルールが作成できました。
グループ・連絡先オブジェクトに関しても同様のルールを作成します。
Description セクションのうち、以下の設定内容が変わります。
項目 | 値 |
---|---|
Connected System Object Type | group(グループ) contact(連絡先) |
Metaverse Object Type | group(グループ) person(連絡先) |
したがって、1つの AD コネクタあたり計3つのルールを作成することになります。
アウトバウンドルールでは、「同期しない」というフラグ(cloudNoFlow = True)がついたオブジェクトの情報を Entra テナントへエクスポートしないように設定します。
※ Entra ID オブジェクト自体を削除するわけではありません。あくまで「対象オブジェクトに対しては何も行わない」という設定です。
Synchronization Rules Editor にて、Direction を Outbound に変更し、[Add new rule] をクリックします。
Description セクションにて、以下内容を設定します。
項目 | 値 |
---|---|
Name | <任意> |
Description | <任意> |
Connected System | <Entra コネクタ> |
Connected System Object Type | user |
Metaverse Object Type | person |
Link Type | JoinNoFlow |
Precedence | <任意>(既存ルールと重複しないこと) |
Tag | - |
Scoping filter セクションにて [Add group] > [Add clause] をクリックし、以下内容を設定します。
Attribute | Operator | Value |
---|---|---|
cloudNoFlow | EQUAL | True |
Join rules セクション、Transformations セクションでは何も設定しません。
[Add] をクリックし、ルールが作成されていることを確認します。
インバウンドルールと同様に、グループ・連絡先オブジェクトに関しても同様のルールを作成します。
項目 | 値 |
---|---|
Connected System Object Type | group(グループ) contact(連絡先) |
Metaverse Object Type | group(グループ) person(連絡先) |
以上で、カスタム同期ルールの作成は完了です。
クラウド同期を構成し、同期対象オブジェクトを同期します。
なお、Entra Connect 側でカスタム属性マッピングがある場合はクラウド同期でも同様に設定します。
構成手順については私の前々回記事「Entra クラウド同期とは」 を参考にしてください。
構成時の注意点はこちらです。
※ 属性マッピングのカスタムについては、前回記事「Entra クラウド同期について詳しく見てみる」 で紹介しています。
構成から数分後、プロビジョニングログにてテスト OU 内のオブジェクト情報が同期されていることが確認できます。
各ログの詳細から下記項目が実行されたことを確認できます。
同期スケジューラを再開し、カスタム同期ルールを反映させます。
Entra Connect を実行しているサーバにて PowerShell を管理者権限で起動し、以下コマンドを実行します。
# 同期スケジューラを再開
Set-ADSyncScheduler -SyncCycleEnabled $true
# 同期を実行
Start-ADSyncSyncCycle
カスタム同期ルールによってテスト OU 内のオブジェクト情報は Entra Connect では同期されず、クラウド同期によって同期されます。
確認のために、テスト OU 内にユーザオブジェクト「cs_test」を作成してみます。
Entra Connect の同期を手動で実行します。
Start-ADSyncSyncCycle
Entra Connect 同期ログを確認してみましょう。
Entra Connect インストール時に同梱される Synchronization Service Manager を起動します。
AD コネクタの Import フェーズにて、更新されたオブジェクト情報がインポートされています。
しかし、Entra コネクタの Export フェーズでは、更新されたオブジェクト情報はエクスポートされていません。
対して、クラウド同期でオンデマンドプロビジョニングを行います。
プロビジョニング結果では「cs_test」が作成されたことが確認できます。
※自動同期が先に行われていた場合は作成ではなく更新となります。
「cs_test」が作成されており、テスト OU の同期が Entra Connect からクラウド同期へ移行できていることが確認できます。
Entra Connect からクラウド同期へ問題なく移行できることをテスト OU で確認したため、同期構成をテスト OU から本番 OU へ変更します。
以下を行う必要があります。
EC サーバにて Synchronization Rules Editor を管理者権限で起動し、作成したインバウンドルールを選択して [Edit] をクリックします。
Scoping filter にて、Value の値を本番 OU の 識別名(dn)に変更し保存します。
なお、同期対象 OU が複数存在する場合、[Add group] > [Add clause] をクリックし、別のグループで OU 条件を追加登録します。
3つのルールすべてについて同様に設定すれば完了です。
※フォレストやドメインが複数あり AD コネクタが複数存在する場合、コネクタごとに3つのルールを作成してください。
クラウド同期構成のスコープフィルターにて、本番 OU へ変更します。
こちらも同期対象 OU が複数存在する場合は追加で登録します。
※ フォレストやドメインが複数ある場合、そのフォレストやドメインごとにクラウド同期を構成してください。
すべての同期構成 が Entra Connect からクラウド同期に移行され、問題なく同期されていることを確認します。
テスト OU の時と同様にログを確認したり、必要に応じて同期対象のオブジェクト情報を変更して正常性を確認してください。
すべての同期構成をクラウド同期に移行できたら Entra Connect をアンインストールします。
EC サーバへ接続し、[コントロールパネル] > [プログラムのアンインストール] をクリックします。
Microsoft Entra Connect Sync をクリックし、アンインストールを選択します。
※表示が旧名称(Azure AD Connect)になっている場合があります。
アンインストールのウィザードが開きますので、[削除] をクリックします。
削除が完了したら、[終了] をクリックします。
AD サーバにて、Entra Connect 用に作成されたユーザオブジェクトを削除します。
Entra 管理センターにて、Entra Connect 用のサービスアカウントを削除します。
以上で Entra Connect のアンインストール作業は完了です。
本記事では、Entra Connect からクラウド同期への移行手順を紹介しました。
同期要件がクラウド同期で満たせる場合は移行を考えてみてはいかがでしょうか。
3記事にわたってクラウド移行について紹介しましたので、参考になれば幸いです。