【Entra ID ハンズオン】Microsoft Entra Connect クラウド同期 (Cloud Sync)

# 1.はじめに

本記事は、Microsoft ***Entra Connect クラウド同期(Cloud Sync)*** に関する説明です。

Entra Connect（旧名Azure AD Connect）には、現在２つの同期エージェントがあります。

1つ目は、Connect同期と呼ばれ、１つのEntra IDに対して、***１つの***Entra Connectのみがサポートされます。従来から利用されている同期エージェントです。
２つ目は、複数のADがあるような環境下で、１つのEntra IDに対して、***複数の***同期エージェントがサポートされます。これはMicrosoft Entra Connect クラウド同期と呼ばれるエージェントによるID同期で、今回はこちらを説明致します。

# 2.Entra Connect クラウド同期とは
### 2-1.トポロジー

まず初めに、ADが複数ある環境下において、従来のEntra Connect のConnect同期エージェントでは、以下のようなトポロジーがサポートされていませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/f4c9e036-3909-15ef-f2bf-b3d7474a1fe2.png)
<br>

つまり、従来のEntra Connect のConnect同期エージェントでは、以下のようなトポロジーにする必要があります。特に問題なく構成できる場合は良いのですが、ADが複数の拠点にあることにより、Entra ConnectとAD間においてNAT通信が発生してしまい、通信要件を満たせないことも多々ありました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/53b9b718-3b59-3ad4-4a4d-4f3154aef96c.png)
<br>

https://learn.microsoft.com/ja-jp/entra/identity/hybrid/connect/plan-connect-topologies

そんな問題を解消するのが、***Microsoft Entra Connect クラウド同期***です。
以下図のように、すでにEntra ConnectによるID同期を実施している場合に、追加する形であるADのユーザ情報をEntra IDに同期させることが可能となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/9f3abe55-a670-702c-5081-de48b58e57cf.png)
<br>

さらに、複数のADに対して、複数のEntra Connect クラウド同期によるID同期を実施することができます。
加えて、Entra Connect クラウド同期エージェントは、ADとの同居も可能となります。
※Entra Connect Connect同期エージェントもADと同居可能ですが、基本的には非推奨構成となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/d19db11c-b0b4-a2ae-09e4-062e64954b30.png)
<br>

### 2-2.Entra Connect クラウド同期のデメリット

上記話だけですと、良い事だけのように思えてしまいますが、Entra Connect クラウド同期のデメリットもあります。
個人的に一番大きいと思われるデメリットは、***デバイスオブジェクトを同期することができず、Entra Hybrid Joinedを実現できない***という点です。つまり、ユーザオブジェクトの同期をすることに限定されるため、Entra Joinedや、Entra Registeredのみになります。

### 2-3.比較
Microsoft Learnの比較表から、少し項目をピックアップしたのが、以下の比較表です。
他にも同期間隔の違いや、パススルー認証、フィルター機能の違いがありますね。

また、Entra IDからADに、グループプロビジョニングもEntra Connect クラウド同期はサポートしてたりします。ただ、ユーザプロビジョニングがサポートされていないので、なんとも言えない機能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/e34fa506-605c-af80-fdf2-4c51bd26fd69.png)

https://learn.microsoft.com/ja-jp/entra/identity/hybrid/cloud-sync/what-is-cloud-sync#comparison-between-azure-ad-connect-and-cloud-sync

# 3.手順

### 3-1.前提条件

今回は事前に、以下環境を構築しておきます。
Microsoft Entra Connect クラウド同期でのみサポートされる構成とするため、Windows Server 2022にEntra Connectをインストールしています。

* Hyper-V上に、Windows Server 2025とWindows Server 2022を１台ずつ用意
* 異なるフォレストとして、それぞれのサーバにActive Directoryの設定を実施
* Windows Server 2022には、Entra Connectをインストールさせて同期済み

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/9385bd54-3f09-563c-52d3-f484af738e75.png)
<br>

### 3-2.ユーザ作成

ADからEntra IDにユーザ同期されることを確認するため、AD上にユーザを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/1387b165-86ca-ee18-0978-75d126018a03.png)
<br>

セキュリティグループを作成し、このグループ内にユーザを追加しています。
これは、グループの同期とグループ内のメンバーも同期されるか確認するためとなり、v-user01とv-user02を所属させています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/ff40fb01-0fa5-1b37-37bf-3f86f8bd0e1b.png)
<br>

さらに、ソフトマッチのテスト用のユーザも作成しています。

<table>
  <caption>ソフトマッチ用のユーザ</caption>
  <thead>
    <tr>
      <th>User Name</th> <th>UPNが一致かどうか</th> <th>e-mailが一致かどうか</th>
    </tr>
  </thead>
  <tr>
    <td>match-test-user01</td> <td>一致</td><td>不一致</td>
  </tr>
  <tr>
    <td>match-test-user02</td> <td>不一致</td><td>一致</td>
  </tr>
</table>

:::note info
ソフトマッチ
ソフトマッチとは、Entra IDにユーザがある場合において、AD上にも同一のユーザが存在している場合に、Entra Connect (Connect 同期 / クラウド同期) によるID同期を実施した場合でも、ADとEntra IDのユーザを一致させるという処理になります。
ソフトマッチについて、詳しくは以下ブログをご覧ください。

https://jpazureid.github.io/blog/azure-active-directory-connect/aboutSoftMatching/

:::

### 3-3.Entra Connect クラウド同期エージェントのインストール

Entra 管理センターに移動し、「ハイブリッド管理 > Microsoft Entra Connect」を選択し、「クラウド同期」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/7fddb063-2ad1-8af2-131c-f5355bcb7b9e.png)
<br>

クラウド同期の画面は、以下のようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/74d8462e-18f7-ad2d-a118-fad6ceeed283.png)
<br>

「Agents > オンプレミスのエージェントをダウンロードします」を選択し、「使用条件に同意してダウンロードする」を選択し、Entra Connec クラウド同期のエージェントをダウンロードします。
このインストーラをADに置きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/34163ee9-c783-4fc9-1ac2-0e66d8f66026.png)
<br>

AD上で、インストーラを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/7592eaec-4571-6bb2-a127-4553fc92eb43.png)
<br>

「HR-driven provisioning / Microsoft Entra Cloud Sync」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/f90f2f38-0f6a-2fc3-ec06-2b6e170635c3.png)
<br>

次に、Entra IDの認証が発生するため、ハイブリッドID管理者の権限以上をもつアカウントでサインインを完了します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/16e7085b-d2c2-27ca-e6fb-2e789ad04552.png)

<br>

「Create gMSA」を選択し、グループ管理サービス アカウント (gMSA) を作成いたします。
このgMSAは、エージェントサービスの実行に利用されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/bf8d6cfb-f61b-81fa-1ab5-5312549475cb.png)
<br>

:::note info
gMSA
AD上のユーザーとコンピューターを確認すると、「Managed Service Accounts」の中に、***provAgentgMSA***というグループ管理サービス アカウントが作成されていることを確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/0925d352-dacb-56ad-0c7b-ffd387858c6c.png)
<br>

:::

対象となるドメイン名を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/16b023db-fc12-a34e-6f11-f042dac94eaa.png)
<br>

確認画面が表示されるので、「Confirm」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/82bdb364-c90b-e935-4165-df139a822e0f.png)
<br>

問題なければ、完了となりますので、「Exit」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/10b5031f-808d-f52e-1a86-92195ea22015.png)
<br>

:::note info
エージェントサービス
AD上でサービスを確認すると、Microsoft Azure AD Connect Provisioning Agentというサービスが作成されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/adcfb01b-60bb-843b-6f85-8cc5fcf0b28b.png)
<br>
:::
### 3-4.Entra Connect クラウド同期の実行

ここまででエージェントのインストールは完了しました。
Entra 管理センターに移動し、「ハイブリッド管理 > Microsoft Entra Connect」において、「Agents」をクリックすると、先ほどエージェントをインストールしたサーバ名を確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/733be5c2-3928-3cf8-2c14-79310beed6ea.png)
<br>

「構成 > +新しい構成」を選択し、「ADからMicrosoft Entra IDへの同期」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/ceedd501-df83-6420-1dba-8de95d729cca.png)
<br>

対象となるエージェントを選択し、「パスワードハッシュの同期を有効にする」にチェックを付けた状態で、「作成」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/3487a956-ef9a-0279-920a-b6a8fbe1385e.png)
<br>

作成すると一覧に新しい構成が追加されます。新しく追加された構成をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/1dafcac3-02d1-d974-a521-914940e88e11.png)
<br>

「スコープフィルター」から「選択した組織単位」にチェックし、オブジェクトの識別名(distinguishedName) を入力し、「追加」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/eacec792-bed8-bd89-19d4-4629b8786232.png)
<br>

:::note info
オブジェクトの識別名(distinguishedName)

例えば、ドメインがsample.example.com、OUがSAMPLE-OUの場合において、distinguishedNameの表記で記載する場合は、OU=SAMPLE-OU,DC=sample,DC=example,DC=com のような形式で表記されます。

distinguishedNameは、「サーバーマネージャ― > ツール > ADSIエディター」から対象のOUのプロパティからも確認することができます。
:::

概要のところから、「確認して有効にする」を選択し、「構成を有効にする」をクリックし完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/725a00fb-b333-b08e-6af2-8701c5497736.png)
<br>

# 4.動作確認

### 4-1.ID同期
少し待つと自動で、Entra 管理センターにユーザが作成されます。
同期されたユーザは、「オンプレミスの同期が有効」が「はい」になっています。
このとき、UPNとmail addressによるソフトマッチも正常に動作されていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/f1dd8e97-98fc-41e8-4912-d72af677888e.png)
<br>

グループに関しても同期されており、AD内のメンバーも反映されていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/6ecbebfb-c934-5edd-4152-bbe0730777f2.png)
<br>

:::note info
注意点
ADから同期されたユーザに関しては、Entra 管理センター上でのプロパティ編集が一部できなくなります。
例えば、表示名、姓、名、ユーザーの種類、ジョブ情報、連絡先情報などの編集ができなくなります。
編集をしようとする場合は、ADで編集して、Entra IDに同期させる必要があります。
:::

### 4-2.同期NGの確認

また、意図時に、AD上にユーザを2つ作成し、同じmail addressを付与しました。
この場合は、Entra IDにユーザは同期されませんでした。ユーザの一意性を担保するために、UPNやmail addressなどがバッティングする状態では同期できないためです。

また、現実的にはID同期を開始する前、IdFixを利用した確認をします。
IdFixは、Github上にあるツールとなり、ID同期の事前確認をすることができます。

https://github.com/microsoft/idfix/

今回のケースでは、以下のような出力となっていました。
ERRORのところを確認すると、Duplicateとなっており、VALUEのところが重複しているという判定をしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/1cbb0e09-61d7-24c9-e026-8f4c91bb4e72.png)
<br>

# 5.おわりに
今回は、Microsoft Entra Connect クラウド同期に関して、取り上げてみました。
Entra Hybrid Joinedを利用しないのであれば、推奨パターンといえるかもしれませんね。