Настройка федерации пользователей c Active Directory через LDAPs
По-умолчанию в Active Directory трафик по протоколу LDAP между контроллерами домена и клиентами не шифруется. Это ограничивает некоторые возможности Keycloak zVirt. Так, например, операция смены пароля должна обязательно осуществляться через безопасный канал. Это означает, что, например, используя инструменты Keycloak, изменить пароль пользователя в домене не удастся.
Защитить данные, передаваемые по протоколу LDAP между Keycloak и контроллером домена можно с помощью SSL версии протокола LDAP - LDAPS, который работает по порту 636. Для этого на контроллере домена необходимо установить специальный SSL сертификат. Сертификат может быть сторонним, самоподписанным или выданным корпоративным центром сертификации.
Ниже приведен пример настройки подключения LDAPs с использованием сертификата, выданного корпоративным центром сертификации, развернутым на Windows Server 2019.
-
В центре сертификации откройте оснастку управления центром сертификации ().
-
Перейдите в управление шаблонами сертификатов.
-
Скопируйте шаблон "Проверка подлинности Kerberos" и в окне свойств нового шаблона:
-
На вкладке Общее задайте для него имя и активируйте опцию Опубликовать сертификат в Active Directory.
-
На вкладке Обработка запроса активируйте опцию Разрешить экспортировать закрытый ключ.
-
Нажмите OK.
-
-
Опубликуйте новый тип сертификата:
-
В контекстном меню Шаблонов сертификатов выберите .
-
В окне включения шаблонов выберите созданную ранее копию и нажмите OK.
-
-
Экспортируйте корневой сертификат удостоверяющего центра, например через cmd:
certutil -ca.cert ca_root.cer -
Скопируйте экспортированный сертификат на контроллер домена и на Менеджер управления (например в каталог /root).
-
На контроллере домена, для которого планируется задействовать LDAPS, откройте оснастку управления сертификатами.
-
В хранилище Личное запросите новый сертификат через контекстное меню: .
-
В окне регистрации сертификатов на этапе Запрос сертификатов выберите опубликованный ранее шаблон и нажмите Заявка, а затем Готово.
-
Добавьте экспортированный ранее корневой сертификат в доверенные корневые центры сертификации, например через оснастку управления сертификатами:
-
В cmd или powershell выполните команду
mmc. -
Нажмите Ctrl+M.
-
Выберите сертификаты > Учетной записи компьютера.
-
В хранилище Доверенные корневые центры сертификации через контекстное меню выберите .
-
Выберите файл корневого сертификата и импортируйте его.
-
-
Перезапустите Доменные службы Active Directory.
-
Подключитесь по SSH к Менеджеру управления.
-
Добавьте корневой сертификат в доверенные:
mv /root/ca_root.cer /etc/pki/ca-trust/source/anchors update-ca-trust enable update-ca-trust extract -
Перезапустите сервис Keycloak:
systemctl restart ovirt-engine-keycloak.service -
Перейдите на портал Keycloak и настройте федерацию пользователей в соответствии с инструкцией. При настройке в поле Connection URL укажите схему ldaps, FQDN контроллера домена и порт 636.
После сохранения конфигурации на странице Users убедитесь, что пользователи синхронизировались.
Если для подключения по ldaps был отредактирован существующий провайдер, синхронизируйте пользователей вручную:
-
На портале Keycloak перейдите в User Federation.
-
Нажмите на имя настроенного провайдера.
-
В меню Action выберите Sync all users.