воскресенье, 19 марта 2017 г.

Смена УЗ на сервисе синхронизации AADSync

Первоисточник

После установки обновлений на свежий сервер синхронизации Azure AD Sync его потребовалось перезагрузить... и после перезагрузки мониторинг сказал, что синхронизация не работает. Как оказалось, на сервере не стартует служба "Microsoft Azure AD Sync". Ага, подумал я, обновление снесло предыдущие настройки DirSync, щя поменяем учётку и для службы (в домене стоит политика по ограничению возможности запуска служб под сервисными учётками) и запущу её. Нет, сказал AADSync и выдал eventid 6208 (The server encryption keys could not be accessed).

Предварительно я нашел информацию, что сброс пароля локальной учётки AAD_* не поддерживается и вообще: её (локальную учётку) надо добавлять в доменную политику для разрешения запуска служб. Как утверждает официальная документация при установке можно указать другую учётную запись для использования в качестве сервисной, но я обновлялся с DirSync и такой вариант мне не был предложен

Я точно помню, что для DirSync я менял пароль и сервисную учётную запись службы при схожих обстоятельствах, ну а так как под капотом у AADSync стоит старый добрый MIIS, это тоже можно сделать, хотя в официальной документации мне ничего об этом найти не удалось. После гугления по правильным ключевым словам я нашел статью и освежив свою память сделал всё очень быстро:

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

  • сбрасывается пароль учётки AAD_*
  • добавляем учётку AAD_* в локальные админы и входим под ней (локально или через RDP)
  • Запускаем C:\Program Files\Microsoft Azure AD Sync\Bin\miiskmu.exe
  • Выбираем abandon the former key, соглашаемся и закрываем всё. С учёткой AAD_* мы закончили, можно её оставить на память. СЛУЖБУ ПОКА НЕ ЗАПУСКАЕМ
  • После сброса набора ключей настройки синхронизации остались, потерялись только пароли. Учётка, под которой будет запущена служба Azure AD Sync, зашифрует под себя базу и привяжет это к себе и своему паролю. Заходим на сервер под своей админской учёткой
  • Меняем сервисную учётку, из под которой стартует служба Azure AD Sync
  • На всякий случай проверяем, что у этой учётки есть Full Control на верку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AD Sync
  • Запускаем службу. Она стартует, но вот синхронизация вряд ли будет работать: надо заново задать пароли синхронизации
  • Запускаем "C:\Program Files\Microsoft Azure AD Sync\UIShell\miisclient.exe"
  • На вкладке Connectors открываем вкладки с коннекторами и входим в их свойства
  • В свойствах коннектора идём в раздел Connectivity и "обновляем" там пароли для подключения к AAD и нашему домену. В облачном коннекторе используется служебная учётка вида Sync_{AADServerName}_*. Я не стал эксперементировать с использованием собственной учётки (хотя это и описано в официальной документации) и сбросил для существующей облачной учётке Sync_* пароль через set-msoluserpassword
  • Запускаем Full Import для обоих коннекторов. Смотрим, что в eventlog и в Operations в miisclient, что ошибок нет.

Ура! Мы решили проблему со сбросом и заменой сервисной учётки, всё опять работает в соответствии с корпоративными политиками.

Комментариев нет:

Отправить комментарий