🥦

非ルーティング(".local")ドメイン の ハイブリッドID を AAD Connect Cloud Sync で用意

2023/05/01に公開

ハイブリッド ID を Azure AD Connect Cloud Sync で用意する

オンプレミス と Azure を連携させた環境で検証を行いたかったので、まずは ハイブリッドID を Azure AD Connect Cloud Sync で構成してみました。以下のような環境です。

image.png

  • オンプレミス側に Active Directory (contoso.local) 構築済み
  • Azure AD Connect Cloud Sync のエージェント を導入するサーバーを用意(ドメイン参加済み)済み
  • Azure AD は デフォルトのドメイン (****.onmicrosoft.com) の状態
  • AADSyncUsers OU 内の ユーザーのみ を Azure AD と同期させたい

Azure AD Connect と Azure AD Connect Cloud Sync

オンプレミスの Active Directory のアカウントを Azure AD に同期して、ハイブリッド ID を実現する場合には、Azure AD Connect と Azure AD Connect Cloud Sync の 2つの方法があります。
Azure AD Connect の方が細かな制御ができるイメージがあり、利用されている場合も多いかとは思うのですが、Azure AD Connect Cloud Sync では、Azure AD Connect では実現できないシナリオが実現できる場合もあります。

例えば、一つの Azure AD テナントに対して、複数の Azure AD Connect を立てるような場合です。
オンプレミス 2拠点以上 に異なる AD があり、拠点間がWAN回線網などで繋がっていないというような場合にも、対応できます。

また、いつの間にか、同期する際の推奨が Azure AD Connect Cloud Sync となっていました。
image.png

こまかな機能比較はこちらです。

https://learn.microsoft.com/ja-jp/azure/active-directory/cloud-sync/what-is-cloud-sync?toc=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Factive-directory%2Fcloud-sync%2Ftoc.json&bc=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fbread%2Ftoc.json#comparison-between-azure-ad-connect-and-cloud-sync

また、動作のしくみはこちらです。

https://learn.microsoft.com/ja-jp/azure/active-directory/cloud-sync/concept-how-it-works#synchronization-flow

Step 1. 非ルーティング ドメインの準備を整える

image.png

オンプレミス Active Directory (contoso.local) と Azure Active Directory のドメイン(****.onmicrosoft.com) を合わせていきます。

  • Step 1-1. Azure Active Directory に カスタムドメイン を追加する
  • Step 1-2. オンプレミス Active Directory プライマリ ドメイン を変更する

という順番で進めます。
なお、その他もろもろの前提条件は、以下を参照してください。

Step 1-1. Azure Active Directory に カスタムドメインを追加する

この手順は必須ではありませんが、デフォルトの *.onmicrosoft.com のままというのも、なんだかなぁ~ と思い、変更してあります。

Azure AD テナントを作成した際には、 *.onmicrosoft.com ドメイン でテナントが作成されています。
この初期ドメイン名は、変更したり削除したりすることはできませんが、自分の所有するドメインを追加することならできます。
以下の通り、 "uuesama.com" を設定してみました。

image.png

設定方法は簡単です。
Azure Portal より Azure AD を開き、[管理] – [カスタムドメイン名] へと進みます。
[カスタムドメインの追加] より、追加したいカスタムドメインを指定すると、以下のような TXT レコード が表示されます。

image.png

ドメイン レジストラーに DNS 情報を追加(表示された TXTレコード を作成)すれば、利用可能になります。
公開情報は こちらです。

Step 1-2. オンプレミス Active Directory で 代替 UPN サフィックスを追加して プライマリ ドメイン を変更する

非ルーティング(".local")ドメイン の場合、Azure AD のカスタムドメインとして追加することはできません。
しかしながら、オンプレミスの Active Directory のドメインが .local ドメインであることは、時々あります。
そんな場合には、オンプレミスの Active Directory で 代替 UPN サフィックス の追加をすることで、対応することができます。

なお、参考までに、 UPN ってどこだっけ? を、まとめてみました。

image.png

では以下の手順で、代替 UPN サフィックス "uuesama.com" を追加して、AzureAD と UPN サフィックス が一致するように、変更します。
AD DS ドメイン コントローラーで、サーバー マネージャーで [ツール] - [Active Directory ドメインと信頼] を選択します。

image.png

[Active Directory ドメインと信頼関係] を右クリックし、 [プロパティ] を選択します。
[UPN サフィックス] タブの [代替 UPN サフィックス] ボックスに、新しい UPN サフィックスを入力して追加します。

image.png

これで 代替UPNサフィックス を追加できました。
試しにユーザーのプロパティを開き、[アカウント] のタブを確認してみると、追加したUPNサフィックスが利用できるようになっているはずです。

image.png

ハイブリッドID として構成したいアカウントについて、UPNサフィックス を変更しておきます。
今回は demouser01 と demouser02 しかいませんので GUI でそのまま変更して保存しておきますが、ユーザー数が多い場合には公開ドキュメントで紹介されている以下の PowerShell を利用して一気に変更すればよいかと。

$LocalUsers = Get-ADUser -Filter "UserPrincipalName -like '*contoso.local'" -Properties userPrincipalName -ResultSetSize $null
$LocalUsers | foreach {$newUpn = $_.UserPrincipalName.Replace("@contoso.local","@contoso.com"); $_ | Set-ADUser -UserPrincipalName $newUpn}

https://learn.microsoft.com/ja-jp/microsoft-365/enterprise/prepare-a-non-routable-domain-for-directory-synchronization?view=o365-worldwide#use-powershell-to-change-the-upn-suffix-for-all-of-your-users

Step2. Azure AD Connect Cloud Sync を構成する

事前準備が整ったので、Azure AD Connect Cloud Sync を構成していきます。
概ね以下のようなステップになります。

  • Step2-1. (Azure Portal)Azure AD Connect プロビジョニング エージェント をダウンロードする
  • Step2-2. (オンプレミス)ドメイン参加済みの サーバー に エージェントをインストールする
  • Step2-3. (Azure Portal) Azure AD Connect Cloud Sync の設定を行う
  • Step2-4. (Azure Portal)同期を有効化する
  • Step2-5. (Azure Portal) Azure AD 上にユーザーが作成されたことを確認する

Step 2-1. (Azure Portal)Azure AD Connect プロビジョニング エージェント をダウンロードする

Azure Portal より Azure AD を開き、[管理] - [Azure AD Connect] をクリックします。
Azure AD Connect のページに遷移するはずですので、左端 [クラウド同期] を選択します。

image.png

[Agents] - [オンプレミスのエージェントをダウンロードします] - [使用条件に同意してダウンロードする] と進むと、 AADConnectProvisioningAgentSetup.exe (23MB程度) がダウンロードできます。

image.png

image.png

Step 2-2. (オンプレミス)ドメイン参加済みの サーバー に エージェントをインストールする

image.png

エージェントを導入したいサーバーで、ダウンロードした AADConnectProvisioningAgentSetup.exe を実行します。
このサーバーが ADに対してのクエリ実行や、結果のフィルタ、Azure AD プロビジョニング サービス への送信などの役割を担います。
なお、送信接続のみで動作します(オンプレミス FW の受信の穴あけがいらない)。
動作の詳細は こちら 「クラウド同期の詳細情報 - しくみ」  です。

基本的に 公開情報通り ですが、実施した際のキャプチャも以下に載せておきます。

手順例

AADConnectProvisioningAgentSetup.exe をダブルクリックしてインストールを開始します。

image.png

同意してインストールを実行します。
インストールが完了すると、デスクトップ上にアイコンが追加され、初期設定が始まります。

image.png

次へ
image.png

Azure AD Connect Cloud Sync を構成しますので、上部を選択して次へ
image.png

AzureAD Global Admin でサインインします。
IEのエラーが出る場合には、IEセキュリティ強化の構成を調整します。
image.png

DomainAdmin でログインします。
image.png

次へ
image.png

完了しました。
image.png

エージェントを導入した サーバー には、以下のように、Agent本体 と、Agent をアップデートするサービスがインストールされ、サービスが稼働していることが確認できます。
image.png

また、AD には provAgentgMSA が作成されています。

image.png

Step2-3. (Azure Portal) Azure AD Connect Cloud Sync の設定を行う

Azure AD Connect Cloud Sync の設定を行います。
今回は、ADの全ユーザーではなく、AADSyncUsers OU 内のユーザーのみに限定して Azure AD に同期するように設定してみます。

Azure Portal より Azure AD を開き、[管理] - [Azure AD Connect] をクリックします。
Azure AD Connect のページに遷移するはずですので、左端 [クラウド同期] を選択します。
Step2-2. が上手くいっていれば、Agents の ところに、エージェントを導入したサーバーが表示されているはずです。

image.png

[構成] を開き、[新しい構成] を作成します。

image.png

この構成を適用する Active Directory ドメインを選択します。
image.png

作成を押すと、まずは 構成 が作成されますが、この時点では特にアカウントの動機などは始まりません。
まずは構成の箱を作り、その中に詳細設定を詰めて、そして同期の有効化すると、同期がスタートする仕組みです。

image.png

構成 が作成されました。

image.png

作成した 構成 をクリックして、設定を行います。
スコープフィルタの追加を行います。

image.png

[選択した組織単位] で、AADSyncUsers のみを指定します。

image.png

形式は次のような形式での指定となります。

ou=AADSyncUsers,dc=contoso,dc=local

image.png

スコープフィルタを保存します。

Step2-4. (Azure Portal)同期を有効化する

属性のマップなど、他必要な設定があれば設定をおこなってから、有効化を行います。
有効化を行うと、ユーザーの同期が始まります。

image.png

なお、いきなり同期を開始するのではなく、推奨となっている テスト を試してからに同期へと進んだ方が良いかと思います。
プロビジョニングのテストでは、指定したユーザーに対してのみ同期を試すことができ、全体に適用する前に、意図したとおりに同期が行われるかどうかを確認できます。
[プロビジョニングのテスト] を選択すると、オンデマンドでプロビジョニング のページが開き、テスト が可能です。

image.png

形式は次のような形式での指定となります。

CN=demouser01,ou=AADSyncUsers,dc=contoso,dc=local

テストした結果、問題なさそうです。
image.png

それでは、有効化を行います。

image.png

Step2-5. (Azure Portal) Azure AD 上にユーザーが作成されたことを確認する

同期が有効化されたら、数分でアカウントが同期されてきました。

image.png

Azure Portal にもログインできることを確認してみます。

image.png

image.png

オンプレミス Active Directory で設定していた ID / PASS のまま、ログインできることが確認できました。
(実用の際は、 MFA 強制など、各種ケアが必要です。)

まとめ

Azure AD Connect Cloud Sync、便利ですね。

  • Azure Portal から管理を行うのが、 Azure AD Connect Cloud Sync
  • オンプレミスで 管理ツールを使って管理を行うのが、Azure AD Connect
    という位置づけで、Azure Portal からすぐ状況などが確認できる点など使いやすいです。

サクッと状況がわかり、いい感じです。

image.png

参考

https://learn.microsoft.com/ja-jp/azure/active-directory/cloud-sync/how-to-prerequisites?tabs=public-cloud

https://learn.microsoft.com/ja-jp/azure/active-directory/cloud-sync/plan-cloud-sync-topologies#piloting-azure-ad-connect-cloud-sync-in-an-existing-hybrid-ad-forest

https://learn.microsoft.com/ja-jp/azure/active-directory/cloud-sync/what-is-cloud-sync?toc=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Factive-directory%2Fcloud-sync%2Ftoc.json&bc=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fbread%2Ftoc.json#comparison-between-azure-ad-connect-and-cloud-sync

https://learn.microsoft.com/ja-jp/azure/active-directory/cloud-sync/concept-how-it-works#synchronization-flow

https://learn.microsoft.com/ja-jp/microsoft-365/enterprise/prepare-a-non-routable-domain-for-directory-synchronization?view=o365-worldwide#what-if-i-only-have-a-local-on-premises-domain

https://learn.microsoft.com/ja-jp/azure/active-directory/hybrid/plan-connect-userprincipalname#upn-format

https://learn.microsoft.com/ja-jp/azure/active-directory/fundamentals/add-custom-domain

Microsoft (有志)

Discussion