Гибридная идентификация AD и Entra ID — АйТи Фреш
Москва, Щёлковское шоссе, д. 92, корп. 7 · Пн–Пт 9:00–19:00 · +7 903 729-62-41
· 15 мин чтения

Гибридная идентификация: связываем локальный AD с Entra ID

Гибридная идентификация: связываем локальный AD с Entra ID

На практике почти все клиенты, кто уже плотно сидит на Microsoft 365, просят внедрить синхронизацию с Azure AD (сейчас — Entra ID). Причины разные: кому-то нужен единый логин для Teams и файловой шары, кто-то хочет подтягивать групповые политики в Intune, а кто-то устал вручную вести одинаковые учётки в двух каталогах. Под присмотром сейчас восемь инфраструктур с рабочим Entra Connect.

Три способа скрестить локальный AD с облаком

Когда мы начинаем говорить о гибридной идентичности, Microsoft, как обычно, предлагает на выбор ровно три архитектуры. Мне кажется, здесь всё зависит от требований вашей службы безопасности и от того, насколько компания готова брать на себя дополнительную инфраструктурную нагрузку.

Лично я в большинстве случаев выбираю связку PHS плюс Seamless SSO — она, как правило, покрывает 95% всех запросов, а по цене обходится всего в один дополнительный виртуальный сервер. Поэтому дальнейший наш разговор будет строиться именно вокруг этой комбинации.

Что надо проверить в AD до установки

Знаете, половина всех провалов случается совсем не при установке Connect, а гораздо раньше — из-за элементарного мусора в доменных атрибутах. Поэтому, прежде чем запускать мастер, я всегда прогоняю несколько команд и, конечно же, утилиту IdFix.

# Режим леса и домена — минимум 2003, лучше 2016
Get-ADForest | Select ForestMode
Get-ADDomain | Select DomainMode

# Смотрим альтернативные UPN-суффиксы
Get-ADForest | Select -ExpandProperty UPNSuffixes

# Если контора живёт в .local — добавляем публичный суффикс
Set-ADForest -Identity corp.local -UPNSuffixes @{Add="itfresh.ru"}

# Раскатываем новый UPN на пользователей
Get-ADUser -Filter * -SearchBase "OU=Staff,DC=corp,DC=local" | ForEach-Object {
    Set-ADUser -Identity $_ -UserPrincipalName ($_.SamAccountName + "@itfresh.ru")
}

Дальше скачиваю IdFix с microsoft.github.io/idfix и запускаю от Enterprise Admin. Утилита вылавливает дубли proxyAddresses, неразрешённые символы в displayName, кривые mailNickname. Всё помеченное надо починить до первого цикла синхронизации, иначе в облако полетят ошибки InvalidSoftMatch — каждая из них требует ручной правки в Entra.

Сервер под Entra Connect: железо и требования

Хоть технически и можно, но ставить Connect прямо на контроллер домена — это, на мой взгляд, очень плохая идея. Я всегда выделяю под него отдельную виртуалку. У нас, например, это делается на одном из восьми серверов Dell Xeon Platinum 8280 в дата-центре МТС, и могу сказать, что ресурсов ESXi-хоста хватает с огромным запасом — сам Connect ест совсем немного.

ПараметрМинимумЧто ставлю я
ОСServer 2016Server 2022 Standard
vCPU24
RAM4 ГБ8 ГБ
Диск70 ГБ120 ГБ SSD
СУБДSQL Express (до 100 тыс. объектов)SQL Express — хватает даже на 5 тыс. учёток

Что касается сетевого доступа: к контроллерам домена он должен быть по LDAP/LDAPS и Kerberos, а вот наружу — строго только 443 порт до login.microsoftonline.com и pkcs.azureedge.net. И вот что важно: вопреки многим старым гайдам, открывать исходящий 80 порт совсем не нужно.

# Качаем установщик (ссылка Microsoft меняется, проверяйте актуальную)
Invoke-WebRequest -Uri "https://download.microsoft.com/download/B/0/0/B00291D0-5A83-4DE7-86F5-980BC00DE05A/AzureADConnect.msi" `
  -OutFile C:\install\AzureADConnect.msi
msiexec /i C:\install\AzureADConnect.msi

Express или Custom — как выбрать

Мастер предлагает два сценария. Express подходит ровно в одном случае: один лес, одна сеть, никакого фильтра OU, всё и сразу. Я такую кнопку нажимал от силы пару раз на малых офисах до 30 человек. Custom — то, что использую в 90% проектов.

Сценарии, где без Custom не обойтись:

Настройка PHS и Seamless SSO

Когда доходим до шага User sign-in, я всегда ставлю две галки: Password Hash Synchronization и Enable single sign-on. Для активации второго пункта мастер один раз попросит у вас креды доменного админа — не переживайте, они нужны только разово и никуда сохраняться не будут.

Когда вы включаете SSO, в AD автоматически создаётся специальная компьютерная учётка AZUREADSSOACC. Именно на ней «висит» SPN https://autologon.microsoftonline.com, и через неё ваш браузер и получает Kerberos-билет. Чтобы всё это гладко работало с доменной машины, не забудьте протолкнуть два URL в зону «Местная интрасеть» в Internet Options.

# Через GPO: Computer Configuration → Policies → Administrative Templates →
#   Windows Components → Internet Explorer → Internet Control Panel →
#   Security Page → Site to Zone Assignment List
# https://autologon.microsoftonline.com  → 1
# https://aadg.windows.net.nsatc.net     → 1

# Проверка руками через реестр
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\microsoftonline.com\autologon" /v https /t REG_DWORD /d 1 /f

Ключ Kerberos у AZUREADSSOACC Microsoft рекомендует крутить раз в 30 дней. Вешаю это на Task Scheduler.

Import-Module "C:\Program Files\Microsoft Azure Active Directory Connect\AzureADSSO.psd1"
$creds = Get-Credential   # Enterprise Admin
Update-AzureADSSOForest -OnPremCredentials $creds

Реальный кейс: логистический оператор в Одинцово

Осенью 2025 заехал клиент — транспортная компания, 42 сотрудника, два офиса плюс склад. Жили на Microsoft 365 Business Premium, но пользователей заводили вручную в двух местах. Задача: поднять гибрид, подключить Intune для ноутбуков, закрыть Wi-Fi через Entra + NPS.

Вот вам один из наших недавних кейсов. Мы всё подняли всего за четыре рабочих дня! Что там было? Виртуалка на Windows Server 2022 с 8 ГБ RAM, Azure AD Connect v2, связка PHS + Seamless SSO, фильтр по двум OU (это Staff и Managers), плюс ещё staging-сервер на второй площадке. И, конечно, правило Inbound с исключением для OU=Contractors — подрядчикам ведь не нужен доступ в M365. Всё внедрение обошлось клиенту в 24 000 рублей, включая полную документацию и инструкцию для их штатного админа. Итог: 40 учёток без проблем уехали в облако, а вот 2 вернулись с InvalidSoftMatch — причиной стали одинаковые proxyAddresses, доставшиеся ещё от древнего Exchange 2010.

Фильтрация и правила синхронизации

Запомните важный момент: по умолчанию Connect вытягивает из выбранных OU вообще всё подряд. Но ведь часто это совсем лишнее, правда? Самый простой способ фильтрации — это через мастер, выбирая Customize synchronization options → Domain and OU filtering. Если же нужна более тонкая настройка, тогда уже идём в Synchronization Rules Editor.

# Список текущих правил по приоритету
Get-ADSyncRule | Select Name, Direction, Precedence | Sort Precedence

# Пример: не синхронизировать департамент с меткой "Excluded"
# В редакторе создаём Inbound-правило с scoping-фильтром:
#   Attribute: department
#   Operator:  NOTEQUAL
#   Value:     Excluded
# Precedence должен быть ниже (меньше числом), чем у базового правила

После любой правки фильтров обязателен полный цикл, иначе изменения в облако дойдут только через 30 минут по дельте.

Start-ADSyncSyncCycle -PolicyType Initial
Сравнение методов гибридной идентификации: PHS, PTA и AD FS для синхронизации AD с Entra ID
Три архитектурных подхода Microsoft для гибридной идентификации с ключевыми различиями.

Диагностика и типовые поломки

Когда работа у Connect пошла и бизнес успокоился, наступает пора мониторинга. Подписку на Connect Health держать приятно, но она требует лицензии P1. Для базовой жизни хватает PowerShell.

# Расписание — должно быть Enabled и со свежим NextSyncCycle
Get-ADSyncScheduler

# Ручной дельта-запуск
Start-ADSyncSyncCycle -PolicyType Delta

# Поиск объектов с ошибками экспорта в тенант
Get-ADSyncCSObject -ConnectorName "corp.onmicrosoft.com - AAD" |
    Where-Object { $_.HasExportError } |
    Select DN, ExportError

# Журнал событий самого агента
Get-EventLog -LogName Application -Source "ADSync" -Newest 50

Три ошибки, с которыми сталкиваюсь чаще всего:

Отказоустойчивость и Password Writeback

Каждому серьёзному клиенту на Microsoft 365 я ставлю второй сервер в режиме staging. Это полностью рабочий экземпляр Connect, но с выключенной экспортной схемой — он параллельно тянет данные, но не пишет их в облако. Умрёт основной сервер — Set-ADSyncAutoUpgrade плюс один вызов мастера переводят staging в боевой за 10 минут.

Хотите крутую фичу? Это Password Writeback, и он включается в Optional features мастера. Но для неё нужна лицензия — Entra ID P1. Суть такая: пользователь, который зарегистрирован в SSPR, меняет свой пароль через my.microsoft.com, и новый хеш тут же летит обратно в локальный AD по тому же защищённому каналу. Это особенно спасает удалённых сотрудников, которые работают с корпоративных ноутбуков и, например, полгода не подключались к офису.

FAQ — частые вопросы про Azure AD Connect

Можно ли гонять синхронизацию сразу из нескольких лесов?
Да, на этапе Custom Setup добавляются все леса, на выходе получаем один тенант. Главное — UPN пользователей не должны пересекаться между лесами, иначе словите SoftMatch-коллизии.
Что случится, если сервер Azure AD Connect упадёт?
Сама синхронизация встанет, но уже попавшие в облако хеши продолжат работать — люди спокойно логинятся в Microsoft 365. Новые пароли до восстановления сервиса в облако не уедут. Для HA держим второй сервер в режиме staging.
Azure AD Connect и Microsoft Entra Connect — одно и то же?
Один и тот же продукт под разными вывесками. В 2023-м Microsoft переименовала Azure AD в Entra ID, а установщик стал называться Entra Connect Sync. Архитектура, правила, PowerShell-модули остались такими же.
С какой периодичностью летит синхронизация по умолчанию?
Каждые 30 минут идёт дельта-цикл — меньше выставить нельзя. Принудительно запускается командой Start-ADSyncSyncCycle -PolicyType Delta. Изменение пароля летит отдельной шиной за одну-две минуты.
Насколько безопасно отправлять хеши в облако?
В Entra ID уходит не исходный MD4-хеш, а SHA-256 от его соли — по TLS. Восстановить пароль из этой цепочки невозможно. Зато в комплекте идёт Leaked Credentials Detection — Microsoft сама подсветит скомпрометированные учётки.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

📄
Скачайте подробный разбор в PDF Кейсы, статистика, типовые ошибки и чек-лист самопроверки — 12 страниц
Скачать PDF

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Письмо придёт в течение минутыНе нашли его во «Входящих» — загляните в папку «Спам» или «Промоакции» и нажмите «Не спам». Так все следующие выпуски будут приходить прямо в основную почту.
Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.