【2026年版】 AWS Managed Microsoft AD と Entra Connect Sync v2をつかってEntra IDへID同期(パススルー認証)する方法
しばたです。
4年ほど前にAWS Managed Microsoft ADとEntra Connect Sync(当時の名称はAzure AD Connect)を連携させる手順を記事にしました。
当時から本日に至るまでにAWS側とEntra側それぞれ変化があったので改めて本日時点で最新の手順をまとめることにしました。
4年間での主な変化
この4年間での主な変更点は次の通りです。
AWS側環境の変化
AWS Managed Microsoft ADにおける大きな変更点としては
- 内部OSがWindows Server 2012 R2からWindows Server 2019に更新
- ドメイン、フォレスト機能レベルがWindows Server 2016に更新
の2点が挙げられます。
内部OSバージョン、機能レベル両方とも更新されたことでこれまで非サポートだった機能等が新たに使える様になっているはずです。
一番わかりやすい機能例としては前回の記事でも触れたWindows Server 2016以降のOSを要求するパスワードライトバックですが、インターネット上の公開情報を見る限り、残念ながらOSバージョンの要件を満たしても権限周りの設定ができずAWS Managed Microsoft AD環境ではパスワードライトバックは依然として使えないらしいです。(未検証)
他には新たにHybrid Editionが登場しています。
こちらに関してはかなり特殊な環境となりアセスメントによる固有の制約も発生するため一般論を述べるのが難しいです。
このため本記事でもHybrid Editionは扱いません。
Entra側環境の変化
Entraに関してはAzure ADからEntra IDへのリブランドが一番大きな変更点かと思います。
そして今年に入りMicrosoftとしてEntra Connect Sync(旧Azure AD Connect)からEntra Cloud Sync(旧 Azure AD Connect Cloud Sync)への移行を正式に促す様になりました。
今年の9月末でVer.2.5.79.0以前の古いMicrosoft Entra Connectは廃止予定となっています。
(新しいバージョンであれば引き続き利用可能です)
必須のアップグレードが必要: Microsoft Entra Connect Sync のすべての同期サービスは、バージョン 2.5.79.0 以降を使用していない場合、 2026 年 9 月 30 日に動作を停止します。 2025 年 5 月に、サービスを強化するバックエンド サービスの変更により、このバージョンをリリースしました。 サービスの中断を回避するために、この期限前にアップグレードしてください。
とはいえ現在においてもEntra Connect SyncとEntra Cloud Syncには機能差があり単純に切り替え可能というものではありません。
もうしばらく両者を使い分ける状況が続くかと思います。
また、Entra Cloud Syncのインストールにドメイン管理者の権限が必要な点は変わっていないためAWS Managed Microsoft AD環境での利用が不可な点もそのままのはずです。
こちらについては別記事で検証しようと思います。
試してみた
ここからは前回の記事同様に環境構築をしていきます。
前回はAWS Security Blogがお手本でしたが、現在は公式ドキュメントに構築手順が記載されています。
今回は公式ドキュメントの手順を参考にしていきます。
1. 初期条件
本記事では私の検証用AWSアカウントに下図の構成を作ります。

事前に用意したVPC環境のPrivateなサブネットにAWS Managed Microsoft ADとEntra Connect Sync v2をインストールするWindows Server 2025 EC2インスタンスを構築します。
加えてActive Directoryの管理用の踏み台サーバーも用意しておきます。
VPC、AWS Managed Microsoft ADおよび各EC2の具体的な構築手順は割愛します。
EC2は本日時点で最新の日本語版AMI(ami-0196295f45708836d : Windows_Server-2025-Japanese-Full-Base-2026.08.12)を使っています。
1-1. Entra IDの初期状態
Entra Connect Syncを利用するにあたりEntra ID側も一定の初期条件が求められます。
今回は私の私用Azure環境のEntra IDテナントを使い[1]、あらかじめexample.shibata.techというカスタムドメインを設定済みです。

1-2. AWS Managed Microsoft ADの初期状態
前回と同様の条件にするために非推奨なドメイン名shibata.localのActive Direcotry環境を用意し、代替UPNサフィックスをexample.shibata.techにしておきます。
今回はAWS CLIからこんな感じで作成しました。
# AWS CLIでStandard Editionのディレクトリ環境を作成
aws ds create-microsoft-ad \
--edition 'Standard' \
--name 'shibata.local' \
--short-name 'corp' \
--password 'P@ssword' \
--vpc-settings 'VpcId=vpc-xxxxxxxx,SubnetIds=subnet-xxxxxxxx,subnet-yyyyyyyy'


代替UPN Suffixを設定ずみ

adminユーザーで代替UPN Suffixを使用する例
1-3. 踏み台サーバーの初期状態
踏み台サーバーはAWS Managed Microsoft ADの機能で作成しています。
マネジメントコンソールのUIから作ると英語版Windows Server 2019が採用されるので生成されるCLIコマンドを少し手直ししてWindows Server 2025環境を作っています。
# AmiIdを /aws/service/ami-windows-latest/Windows_Server-2025-Japanese-Full-Base に変えて管理用インスタンスを作成
aws ssm start-automation-execution --document-name "AWS-CreateDSManagementInstance" --document-version "\$DEFAULT" \
--parameters '{"DirectoryId":["d-0000000000"],"KeyPairName":["your-keypair"],"IamInstanceProfileName":["AmazonSSMDirectoryServiceInstanceProfileRole"],"SecurityGroupName":["AmazonSSMDirectoryServiceSecurityGroup"],"AmiId":["{{ssm:/aws/service/ami-windows-latest/Windows_Server-2025-Japanese-Full-Base}}"],"InstanceType":["t3.medium"],"MetadataOptions":["{\"HttpEndpoint\":\"enabled\",\"HttpTokens\":\"required\"}"]}' --region ap-northeast-1
2. Entra Connect Syncの前提条件
次にEntra Connect Syncの前提条件を確認しておきます。
前回とさほど変わりませんが主要な点を列挙していきます。
2-1. Entra IDの前提条件
Entra IDテナントとカスタムドメインを追加設定しておく必要があります。
カスタムドメインを設定すると既定で最大50,000オブジェクトの許可が300,000オブジェクトまで増加するそうです。
2-2. Active Directory側の前提条件
Active Directoryの機能レベルはWindows Server 2003以降である必要があり、パスワードライトバックを使いたい場合はドメインコントローラーのOSがWindows Server 2016以降である必要がある点は変わりありません。
2-3. PowerShell実行ポリシー
Entra Connect Syncのインストール中にPowerShellスクリプトを実行するためPowerShell実行ポリシーの変更が必要な点も変わりありません。
こちらは-Scope CurrentUserを付けてSet-ExecutionPolicyを実行しておけばよいでしょう。
# スコープ指定してるので管理者権限は不要
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
2-4. Entra Connect SyncのOSスペックなど
現在の最新バージョンはWindows Server 2019以降のOSにインストールする必要があり、Windows Server 2022~Windows Server 2025にインストールすることが推奨されています。
Server CoreではなくフルインストールされたOSでなければなりません。
また、OSに要求されるスペックはActive Directoryの規模に応じて変わり以下の様に最小要件が定められています。

前回に比べて最低限必要なメモリサイズが6GBに増えていました。
デフォルトでSQL Server Express LocalDB 2019を使う点は変わっていないのでCPUコア数の上限には注意ください。
(SQL Server Express 2019を使う場合は CPU 4コア がライセンス上の上限)
今回は最低限のスペックとなるt3.largem (2 vCPU, 8GiBメモリ)、EBS 70GBを採用します。
その他細かい条件はドキュメントでご確認ください。
2-5. 通信要件
Entra Connect Syncを使う環境での通信要件は以下のドキュメントにまとめられています。
細かい点はドキュメントで確認してほしいのですが、重要な点としては以下となります。
- Entra Connect Sync → Active Directoryへの通信ポートを開けておく
- AWS Managed Microsoft ADの場合はデフォルト設定でポートが空いてるので基本問題ない
- Entra Connect Sync → Entra IDへのアウトバウンド通信(HTTP,HTTPS)を開けておく
- インバウンド通信は基本使わない。RDPを開けておく位で十分
- セキュリティグループのデフォルトはアウトバウンド全許可なので基本問題ない
3. Entra Connect Syncのインストール
ここからEntra Connect Syncのインストールを開始します。
EC2はドメインに参加済みの状態にしておいてください。
以後の作業はすべて管理者ユーザーであるadmin@example.shibata.tech (admin@shibata.local)で行っています。
3-1. 同期用ドメインユーザーの準備
Entra Connect SyncでID同期を行う際に専用のドメインユーザーが必要になります。
このユーザーはEntra Connect Syncのインストール時に自動作成することもできるのですが、自動作成のためには「Enterprise Admin」権限が必要でありAWS Managed Microsoft ADだと権限不足で作成できないので別途手動で用意しておく必要があります。
AWSのドキュメントでは作成するユーザー名までは指定されていないため、前回の記事に倣った形でEntraConnectSvcという名前のユーザーを新規作成します。
以下のPowerShellコマンドを使うかGUIでユーザーを作成しておいてください。
# 同期用ユーザーの作成
# 踏み台サーバーなどAD管理できる環境から実施
# ※PowerShellでなく手作業で作成しても構わない
$params = @{
Name = 'EntraConnectSvc';
UserPrincipalName = 'EntraConnectSvc@example.shibata.tech';
Description = 'Entra Connect Sync account'
AccountPassword = ConvertTo-SecureString 'P@ssword' -AsPlainText -Force;
PasswordNeverExpires = $true;
Enabled = $true;
}
New-ADUser @Params

ユーザーの権限はデフォルトの状態で構いません。
権限は後で設定します。
3-2. Entra Connect Syncのダウンロードとインストール
AWSのドキュメントでは以下のURLから最新版のEntra Connect Syncをインストールする手順になっているのですが、本日時点ではインストーラーの直接配布が廃止されEntra管理センターから規約に同意の上ダウンロードする形に変更されています。
上記リンク先のPDF等を読みEntra管理センターからMSIインストーラー(AzureADConnect.msi)をダウンロードしてください。

今回はVer.2.6.84のインストーラーがダウンロードできました。

MSIインストーラーを実行しEntra Connect Syncのソフトウェアインストールが終わるまで待ちます。

インストール後に初期設定ウィザードが開始されますが、ウィザードを進める前にやることがあるため一旦そのまま放置します。
3-3. 同期用ドメインユーザーの権限設定
初期設定ウィザードを停止した状態でEntraConnectSvcユーザーの初期設定を行います。
前回と異なり今回はAWSドキュメントに初期設定スクリプトの内容が記載されています。
エラー処理などが多少増えていますが、やっていること自体は前回と変わらず、
Set-ADSyncBasicReadPermissionsコマンドでドメインに対する読み取り権限を追加Set-ADSyncMsDsConsistencyGuidPermissionsコマンドでEntra IDソースアンカーに対する書き込み権限の追加
の2点となります。
このスクリプトではActive Directoryモジュールの機能を使うため先にRSAT-AD-Toolsをインストールしておきます。
# (要管理者権限) 事前に RSAT-AD-Tools のインストールが必要
Install-WindowsFeature RSAT-AD-Tools
その後、以下の内容のスクリプトを適当なディレクトリに保存します。
今回はAWSドキュメントに倣いC:\temp\entra.ps1に保存することにします。
# 最新版は https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_connect_ms_entra_sync.html 参照
$modulePath = "C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1"
try {
# Attempt to import the module
Write-Host -ForegroundColor Green "Importing Module for Azure Entra Connect..."
Import-Module $modulePath -ErrorAction Stop
Write-Host -ForegroundColor Green "Success!"
} catch {
# Display the exception message
Write-Host -ForegroundColor Red "An error occurred: $($_.Exception.Message)"
}
Function Set-EntraConnectSvcPerms {
[CmdletBinding()]
Param (
[String]$ServiceAccountName
)
#Requires -Modules 'ActiveDirectory' -RunAsAdministrator
Try {
$Domain = Get-ADDomain -ErrorAction Stop
} Catch [System.Exception] {
Write-Output "Failed to get AD domain information $_"
}
$BaseDn = $Domain | Select-Object -ExpandProperty 'DistinguishedName'
$Netbios = $Domain | Select-Object -ExpandProperty 'NetBIOSName'
Try {
$OUs = Get-ADOrganizationalUnit -SearchBase "OU=$Netbios,$BaseDn" -SearchScope 'Onelevel' -Filter * -ErrorAction Stop | Select-Object -ExpandProperty 'DistinguishedName'
} Catch [System.Exception] {
Write-Output "Failed to get OUs under OU=$Netbios,$BaseDn $_"
}
Try {
$ADConnectorAccountDN = Get-ADUser -Identity $ServiceAccountName -ErrorAction Stop | Select-Object -ExpandProperty 'DistinguishedName'
} Catch [System.Exception] {
Write-Output "Failed to get service account DN $_"
}
Foreach ($OU in $OUs) {
try {
Set-ADSyncMsDsConsistencyGuidPermissions -ADConnectorAccountDN $ADConnectorAccountDN -ADobjectDN $OU -Confirm:$false -ErrorAction Stop
Write-Host "Permissions set successfully for $ADConnectorAccountDN and $OU"
Set-ADSyncBasicReadPermissions -ADConnectorAccountDN $ADConnectorAccountDN -ADobjectDN $OU -Confirm:$false -ErrorAction Stop
Write-Host "Basic read permissions set successfully for $ADConnectorAccountDN on OU $OU"
} catch {
Write-Host "An error occurred while setting permissions for $ADConnectorAccountDN on OU $OU : $_"
}
}
}
スクリプトを保存した状態で、次の様にSet-EntraConnectSvcPermsコマンドを実行してやります。
引数には同期用ユーザーのsAMAccountName (今回の場合だと EntraConnectSvc) を指定します。
# 保存した entra.ps1 をインポート
Import-Module C:\temp\entra.ps1
# EntraConnectSvc ユーザーの権限設定。引数には sAMAccountName を指定する
Set-EntraConnectSvcPerms -ServiceAccountName 'EntraConnectSvc'
実行結果はこんな感じです。


一部警告が出ていますが、
Permissions set successfully for CN=EntraConnectSvc,OU=Users,OU=corp,DC=shibata,DC=local and OU=Computers,OU=corp,DC=shibata,DC=local
と
Basic read permissions set successfully for CN=EntraConnectSvc,OU=Users,OU=corp,DC=shibata,DC=local on OU OU=Users,OU=corp,DC=shibata,DC=local
のログが出ていれば問題ないはずです。
3-4. Entra Connect Sync の初期設定
ここから放置していた初期設定ウィザードを再開します。
「ライセンス条項に同意」して「続行」します。

次に「カスタマイズ」を選びます。

必須コンポーネントのインストールはデフォルト設定のまま「インストール」をクリックします。
(環境に応じ必要があればカスタマイズしてください)

SQL Server Express Local DBなどの必須コンポーネントのインストールが開始されるのでしばらく待ちます。

必須コンポーネントのインストールが完了すると以下の画面になり、各種設定を行っていきます。
今回は「パススルー認証」を選びます。

なお、AWSのドキュメントでは「パススルー認証 (Pass-through Authentication)」か「構成しない (Do not configure)」のどちらかを選ぶ形になっており、おそらくこれら以外の構成は非サポートの可能性が高いです。
続けてEntra IDのグローバル管理者(もしくはハイブリッドID管理者)のアカウント情報を記載します。
この情報はインストール時のみ利用されます。

適切にサインインできるとActive Directory側の設定に移ります。
対象フォレストを指定した状態で「ディレクトリの追加」をクリックします。

Entra IDとの同期用ユーザーの設定ダイアログが表示されるので「既存のADアカウントを使用」を選び先ほど作成したEntraConnectSvcユーザーの情報を記入します。

問題なければ「構成済みディレクトリ」欄にドメインが表示されるので「次へ」進みます。

次にEntra IDユーザー名として使用するActive Directory属性の設定を行います。
通常であればUPN (userPrincipalName)をEntra IDユーザー名にしますので今回はそのままにしています。
(この設定で「Entra IDユーザーのUPN ⇔ オンプレドメインユーザーのUPN」の同期になります)

今回はshibata.localドメインに代替UPNサフィックスexample.shibata.techを追加しているため「一部のUPNサフィックスが確認済みドメインに一致してなくても続行する」の警告がでていますが、問題ないのでチェックを付けて「次へ」進みます。
続けて同期対象を選択します。
今回はAWS Managed Microsoft AD環境ですので「"NET BIOS名\Users"」OUだけ同期する様にしています。

Active Directoryドメイン側の識別方法を決めます。
こちらはデフォルト設定のままで問題ないのでそのまま「次へ」進みます。

フィルタリング設定はしないのでそのまま「次へ」進みます。

オプション機能もデフォルトのまま「次へ」進みます。

最終確認画面になるので構成に間違いがないことを確認し「インストール」をクリックします。

インストール完了まで待ちます。

インストールが完了すると下図の様になるので「終了」をクリックしてウィザードを終わらせます。

以上でEntra Connect Syncのインストールは完了です。
4. 動作確認
この状態でEntra ID側を確認すると下図の様にユーザーが同期されます。
前回同様テスト用に織田信長ユーザーを追加して同期させています。

前回同様 織田信長ユーザー を用意し同期を確認

同期されたユーザーは「オンプレミスの同期が有効」欄で判定できます。
また、Entra Connect Syncの状態はこんな感じになります。

利用エージェント情報はこんな感じです。

状態確認ツールと手動同期
Entra Connect Syncサーバー側の状態を確認するには「Syncronization Service Manager」を使うのが便利です。

流石に細かい内容まではわからないものの、正常か異常かくらいであれば誰でも判定できます。
加えて、デフォルトでは30分毎の同期ですがPowerShellコマンドから即時同期させることも可能です。
# 差分同期 を即時実行
Start-ADSyncSyncCycle -PolicyType Delta
# 完全同期 を即時実行
Start-ADSyncSyncCycle -PolicyType Initial
こちらのドキュメントには他にも有用なコマンドがあるので一読しておくと良いでしょう。
最後に
以上となります。
4年ぶりの更新ですが前回とほぼ同じ手順でAWS Managed Microsoft AD環境でEntra Connect Syncを使うことができました。
本記事の内容が皆さんの役に立てば幸いです。
2026年現在Entra ID Freeなテナントを気軽に新規作成できなくなってしまっており悲しいですね... ↩︎







