Для связки AADC + AD FS может потребоваться обновление сертификата федерации. Того самого, который вы подсовывали на этапе настройки фермы AD FS при начальной конфигурации Azure AD Connect.
Процесс этот хорошо документирован на Technet 1. Тем не менее, как это всегда бывает, что-то идет не так – вылезают непонятные ошибки, а документация содержит советы для устаревшей версии визарда AADC.
В этой статье разберем нюансы обновления сертификата, у которого вышел срок действия.
Если вам интересна тематика облачных технологий, рекомендую обратиться к тегу Cloud на моем блоге.
Содержание
Обновление сертификата AD FS
Хочу отметить, что если сертификат вы обновляете своевременно, то скорее всего не столкнетесь с теми проблемами, которые встретил я. В статье я рассказываю об обновлении сертификата AD FS, у которого вышел срок годности. Сама инфраструктура настраивалась ранее по следующим статьям:
Итак, приступим.
Управление федерацией
Обновлять сертификат AD FS необходимо на стороне AADC, а потому запускаем визард и выбираем пункт Управление федерацией:
Нам нужно Обновление SSL-сертификата AD FS:
При подключении к Azure AD указываем креды суперадмина:
А потом подключаемся к ферме серверов AD FS внутри нашей инфраструктуры:
Указываем нужные серверы:
А следом – прокси-серверы WAP:
Следующим шагом необходимо подсунуть сертификат в формате .pfx, введя пароль к закрытому ключу.
Если с сертификатом все хорошо, вы успешно перейдете на следующую страницу (а если с сертификатом проблемы, читайте раздел Ошибки ниже):
Можно запускать настройку. Если все завершится успешно, вы увидите страницу:
Скажу сразу, что у меня далеко не сразу удалось получить это долгожданное сообщение об успешном окончании. Специально для таких же счастливчиков, как и я, раздел о разборе ошибок внизу.
Проблемы
Разберем проблемы, которые встретились во время выполнения этой простой рутинной процедуры.
Субъект сертификата
Для служб AD FS подойдет далеко не каждый сертификат. Обязательно нужно, чтобы в субъекте было указано имя, которое совпадает с названием службы федерации (и совершенно неважно какие ещё имена будут там присутствовать как дополнительные):
Иначе при подсовывании файлика .pfx вы получите ошибку на подобии этой:
Разумеется, единственно верное решение данной проблемы – перевыпустить сертификат или запросить новый, что я и сделал.
Не удается сохранить конфигурацию прокси-сервера
Следующая проблема в плане диагностики несколько сложнее. Заключается она в том, что при попытке сохранить измененные настройки, вы стабильно получите ошибку:
1 |
При попытке загрузки конфигурации прокси-сервера произошла ошибка. |
Визуально это выглядит следующим образом (не трудно догадаться, что все застревает на этапе установки нового сертификата на сервере WAP):
Это если говорить о настройке фермы через визард AADC, но WAP можно сконфигурировать и напрямую непосредственно на самом сервере 2 3. В нашем случае нужна только замена сертификата. Заходим на сервер WAP и устанавливаем сертификат. При этом нужно обязательно выбрать Расположение хранилища – Локальный компьютер:
После этого вытащить все данные о сертификатах, включая нужный нам отпечаток, можно командой 4:
1 |
Get-ChildItem -path cert:\LocalMachine\My |
Из полученного вывода копируем Thumbprint нужного вам сертификата и вставляем в команду 5:
1 |
Set-WebApplicationProxySslCertificate –Thumbprint '<thumbprint of new cert>' |
После выполнения команды сертификат должен замениться, но у меня все равно вылезла ошибка как в начале главы. Полное описание вместе с выводом PS ниже.
1 2 3 4 5 6 7 8 9 10 11 12 |
Microsoft.Online.Deployment.PowerShell.PowerShellInvocationException: Произошла ошибка при выполнении команды "Set-WebApplicationProxySslCertificate". При попытке загрузки конфигурации прокси-сервера произошла ошибка. ---> System.Management.Automation.RemoteException: При попытке загрузки конфигурации прокси-сервера произошла ошибка. --- Конец трассировки внутреннего стека исключений --- в Microsoft.Online.Deployment.PowerShell.PowerShellHelper.InvokeCommand(IPowerShell powerShell, Command command) в Microsoft.Online.Deployment.PSModule.Tasks.WebAppProxy.UpdateSslCertificateWapTask`1.Execute() в Microsoft.Online.Deployment.Framework.Workflow.WorkflowTask.ExecuteWrapper() Exception Data (Raw): Microsoft.Online.Deployment.Framework.Workflow.WorkflowTaskException: The task 'Update the WAP SSL certificate on an individual server' has failed. ---> Microsoft.Online.Deployment.PowerShell.PowerShellInvocationException: Произошла ошибка при выполнении команды "Set-WebApplicationProxySslCertificate". При попытке загрузки конфигурации прокси-сервера произошла ошибка. ---> System.Management.Automation.RemoteException: При попытке загрузки конфигурации прокси-сервера произошла ошибка. --- Конец трассировки внутреннего стека исключений --- в Microsoft.Online.Deployment.PowerShell.PowerShellHelper.InvokeCommand(IPowerShell powerShell, Command command) в Microsoft.Online.Deployment.PSModule.Tasks.WebAppProxy.UpdateSslCertificateWapTask`1.Execute() в Microsoft.Online.Deployment.Framework.Workflow.WorkflowTask.ExecuteWrapper() --- Конец трассировки внутреннего стека исключений --- в Microsoft.Online.Deployment.Framework.Workflow.WorkflowTaskGroup.CheckTaskCompletion(Int32 currentTaskIndex) |
Оставался запасной вариант – провести настройку роли WAP с нуля. Проблема в том, что в Консоли управления удаленным доступом нельзя просто так взять и сбросить настройки или запустить конфигурацию заново. Нужны хитрые манипуляции с реестром 6, а именно изменение параметра реестра в значение 1 (not configured):
1 |
HKLM\Software\Microsoft\ADFS\ProxyConfigurationStatus |
Только и этот лайфхак не помог. Решила проблему полная переустановка роли Удаленный доступ. Правда есть один нюанс – придется выполнить начальную настройку вручную. Но это несложно – просто указывайте точно те же параметры, которые выбирали при развертывании Azure AD Connect в статье Exchange Hybrid — Установка AADC с AD FS.
Notes:
- Обновление SSL-сертификата для фермы служб федерации Active Directory (AD FS) ↩
- Change/Update/Replace SSL Certificate on Windows Server 2012 R2 ADFS/WAP Servers ↩
- Updating Windows Server 2012 R2 AD FS SSL and Service Certificates ↩
- Get Certificate thumbprint using PowerShell ↩
- Managing SSL Certificates in AD FS and WAP in Windows Server 2016 ↩
- AD FS 2012 R2 Web Application Proxy – Re-Establish Proxy Trust ↩