Azure AD との同期関連でどうしてもディレクトリ同期できない事象が発生していました。(現在は解決済み)
どういったことかというと、Azure AD Connect (AADC)でのディレクトリ同期にはUserPrincipalNameで同期を行う仕様。
しかし、困ったことに
「UPNによる同期ができない」
「AADC側でAzureアカウントを認識してくれない」
といった、基本的な同期ができない状況。
さらにフェデレーションサービスとして、Online Service Gate というサードパーティ製の認証方式をすでに導入済みの場合に同期できない事象があります。
では、AADCによる同期の方法は、SMTPソフトマッチすることで実現できます。方法を解説していきます。
Online Service Gate 環境ではUPNソフトマッチしない
Azureテナント(Office365側)とOnline Service Gate とで「フェデレーション認証がロックされている状態」なので、オンプレミスAD側アカウントと同期しません。
どういったことかというと、Office365側とOSG側での強固な結びつきがあるので、AADCによるフェデレーションを受け付けない状況です。
通常、Office365側のメールアドレス △△△△△@contoso.com などでは、AADCはUPNマッチしようと試みます。しかし、OSG利用では ImmutableID に何かしらの値が入っていることから、オンプレミス側でのAADCによる同期は失敗します。
また、Office365アカウントでの ImmutableID の削除はできない仕様になります。
つまり、AADC同期の要件が満たせないことになります。
具体的に、以下コマンドで ImmutableID を消去してみる。コマンドは正常実行され、状況をみると ImmutableID は消去されていない。
Set-MsolUser -UserPrincipalName メールアドレス -ImmutableId ””
OSG認証でのロックなのか、Office365側へ反映しない状況。
ImmutableID 消去のためOffice365アカウントの設定変更する
Office365側でのユーザ名はOSG側に紐づいています。
フェデレーションはメールアドレスで行っているはず。
なので、UperPrincipalName をデフォルトのonmicrosoft.comアカウントへ変更すると ImmutableID の削除はできます。
コマンド
Set-MsolUserPrincipalName -UserPrincipalName メールアドレス -NewUserPrincipalName メールエイリアス@テナントID.onmicrosoft.com
Set-MsolUser -UserPrincipalName メールエイリアス@テナントID.onmicrosoft.com -ImmutableId “”
OSGアカウントは削除しておく
ImmutableIDが削除できたとしても、メールボックス(アドレス)は依然としてOSG認証のロック影響下にあります。
OSG側からOffice365連携を解除しておきます。
もし、Office365連携を解除していない場合、同期失敗などが発生します。
SMTPによるソフトマッチ
利用しているメールアドレスでソフトマッチする方法が最も有効です。
AADCでは、”userPrincipalName”、”proxyAddresses”、”sourceAnchor/immutableID” の3つの属性が使用されます。
proxyAddresses 属性では、SMTP: 付きの値 (プライマリ電子メールアドレス) のみが利用されます。
オンプレミス環境にExchangeサーバが無い場合は、オンプレミスADのアカウントプロパティから設定します。
具体的には、ユーザー オブジェクト[プロパティ] の[全般] タブで [電子メール] に値を入力します。
もしくは、属性エディターからproxyAddresses 属性に「SMTP:メールアドレス」の値を入力します。
「How to use SMTP matching to match on-premises user accounts to Office 365 user accounts for directory synchronization (英語情報)」
https://support.microsoft.com/ja-jp/help/2641663/use-smtp-matching-to-match-on-premises-user-accounts-to-office-365
AADCによるディレクトリ同期してみる
Azure AD Connect を実行しているサーバーでPowershellを起動し強制同期を実行します。
Start-ADSyncSyncCycle -PolicyType Delta
OSG側に再度アカウントを追加することで、Azure ADアカウントの ImmutableID がOSG認証と連携し、メールが利用できます。