Azure AD(Entra) Connectアップグレードしてみた。
Azure AD ConnectのアップグレードをRecommendします。とMicrosoftから案内があった。
ということで2024年9月23日以降に一部機能が制限されるとのこと。
影響を受けるバージョンを調べてみると以下の通り。
影響を受けるバージョン2.3.2.0より古いバージョン
私のADConnectのバージョン 2.1.16.0
アップグレード後の最新バージョン 2.3.20.0
結構古いことが発覚。いつの間にUnsupportedのバージョンになってました。
アップグレード方法検討
さて、どうやってアップグレードしようか。
AD Connect自体は止まってもそこまで大きな影響はない。同期は止まるが、数分、数時間止まったところで、誰も気づかないレベルである。
つまり失敗しても再構築すればよいし、バックアップから戻せばいいかな。と思っていた。
とりあえずMicrosoftの記事を見ると、
Azure AD Connect(Entra Connect) → Entra Cloud Syncに移行することを奨励していた。
Security hardening to the autoupgrade process for Microsoft Entra Connect and Microsoft Entra Connect Health - Microsoft Entra ID | Microsoft Learn
Cloud Syncにすると今後アップグレードなどの作業は不要だよって謡っている。確かに便利かもと思った。
導入検討しようと思い、もう少し調べると、Hybrid AD Join(Hybrid Entra Join)のデバイスを運用している組織にはこれは適用できないとのことでした。Microsoftが提供してくれているCheckListでそれが分かった。
つまり、Entra Connect → Entra Connectにせよとのことだった。
https://setup.cloud.microsoft/entra/add-or-sync-users-to-microsoft-entra-id
ではCloud Syncはあきらめ、Entra Connectのアップグレードはどうやるかというと、2つ方法がある。
1,インプレースアップグレード
2,スィングアップグレード
詳細はこちらMicrosoft Entra Connect: 旧バージョンからアップグレードする - Microsoft Entra ID | Microsoft Learn
インプレースアップグレード
簡単に説明すると、インプレースアップグレードは最新版のEntra Connectのmsiファイルをダウンロードして、適用せよ。とのこと。Theシンプル。
スィングアップグレード
簡単に説明すると、スィングアップグレードは2台以上冗長構成のEntra AD Connectがある場合のみ可能。この場合Entra ConnectにはActiveとPassive(Staging)があるが、Passive(Staging)の方のEntra Connectをインプレースアップグレードを実施し、アップグレード後、ActiveとPassive(Staging)を入れ替える。という手法。
私はNetwork Engineer出身なので、あえて、Active Passiveという言葉を使った。正式にはActive Stagingとなっている。
わたしはインプレースアップグレードでやった。これはmsiファイルを展開するだけ。ウィザードでアップグレードしてくれるし、らくちんだなーと思った。
ちなみに、2台以上のAD Connectがある場合でもすべてのAD Connectでバージョンをそろえる必要はないらしい。ただ、最新にはしたほうが良いよね、ということ。
想定される影響
さて、一番大変なところの影響のところだが、まずはインプレースアップグレードの場合、同期するオブジェクトの数によっては数時間かかる可能性があるとのこと。その点は問題ないなと思った。私が見守っていればいいだけなので。
あとはアップグレード中は同期が止まるということ。
これも問題はない。時間外にやれば。
アップグレードに失敗、または完了したが、同期がされない。
これは大問題である。
たが、Microsoftの社の提供するmsiファイルで、ウィザード付きで自動でアップグレードしてくれるし、特に大きな問題もレポートされていないようだった。失敗した時はバックアップから戻す。という手法と取ることにした。
バックアップは念のため2つの方法。
・Entra Connectを起動し、Configuration File(Json)をダウンロード、保存すること。
・Entra ConnectServerのイメージバックアップを取得すること(AWS EC2なのでこれを実施)
これで準備はいいかなっと。思った。
アップグレード手順
Entra ConnectはTSL1.2のみをサポートしている。
とはいえ、今までのバージョンはTSL1.1とか1.0でも動いてはいたが、バージョン2.3.20.0以降はTSL1.2のみでしか動かない。私はこれを見逃していた。
Microsoft Entra Connect: TLS 1.2 enforcement for Microsoft Entra Connect - Microsoft Entra ID | Microsoft Learn
こんな独立したリンクじゃ見つけられないでしょ。。。汗。
まぁ、この記事をここまで読んでいる人へ、同じ過ちを繰り返さないように正しい手順を以下の通り記載する。
手順1,TSL1.2を有効にする。
→これをせずに私はアップグレードを実施したが、アップグレード完了後、同期はしなくなってしまう事象が発生。もしSycrinization Sync Managerで以下のようなエラーが出ていたら、これが原因。
TSL1.2を有効にするには以下の通り。
以下のPowershellを管理者権限で実行し、TSL1.2を有効にする。
If (-Not (Test-Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319'))
{
New-Item 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319'))
{
New-Item 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server'))
{
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client'))
{
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWord' -Force | Out-Null
Write-Host 'TLS 1.2 has been enabled. You must restart the Windows Server for the changes to take affect.' -ForegroundColor Cyan
リンク内のステータス確認コマンドでValueが1になっていればOK.
そして再起動。
手順2、Entra Connectのサービスを止める。
これはPowershellでサービスを止められる。止めている間にアップグレードを実施する。
Stop-ADSyncSyncCycle
アップグレード終わったら、スタートする。
Start-ADSyncSyncCycle
手順3 SyncCycleEnabledをFalseへ。
正直これが必要であったかどうかわからない。アップグレード後にはこの値は自動的にTrueに変わっていた。Entra AD Connectのmsiファイルを展開すると、同期のスケジュールを停止するように!と警告が出たので実施したが、実際には手順2だけ実施すればよい気がします。
手順4, Entra Connectのmsiファイルを展開。
ダウンロードはここから。
Download Microsoft Entra Connect from Official Microsoft Download Center
ウィザードに沿ってアップグレードを実施。
これで、アップグレード完了である。
ちなみに、手順1をやらなくてもこの通りSuccessでアップグレード自体はできる。ただ、同期にエラーが出る。
手順2,3をやらないと手順4のウィザードのUpgradeボタンが表示されない。
Synchronization Service ManagerですべてSuccessで同期ができてれば問題ない。試しにAD上にオブジェクトを作ったり、消したりして、Azure上へ反映がされているかは確認したほうが良い。
起動と同時および、30分に一度、自動同期されるが手動同期に使うコマンドはこちら。
Start-ADSyncSyncCycle -PolicyType Delta
以上、備忘録でした。ニッチ記事ですが、もしよかったら、「あ」でも、「い」でもコメントもらえたらうれしいです。
2024/9/11 追記
ユーザーからクラウドはログインが、オンプレの認証がでいないような問い合わせ事象が発生。もしやと思って調べてみると。
Password WriteBackのCheckが外れてる!!!!!
おいおい。Configの内容変わるのかい。
さすがMicrosoft様。やってくれますね。
というわけで、アップグレードするとなんとConfigの内容が変わり、結果Password WriteBackのConfigが外れるということが起きました。
他のConfigも変わっているかもしれないので、事前に設定内容はやはり把握しておいた方がよいですね。
以上。
この記事が気に入ったらサポートをしてみませんか?