Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Настройка федерации пользователей c Active Directory через LDAPs

По-умолчанию в Active Directory трафик по протоколу LDAP между контроллерами домена и клиентами не шифруется. Это ограничивает некоторые возможности Keycloak zVirt. Так, например, операция смены пароля должна обязательно осуществляться через безопасный канал. Это означает, что, например, используя инструменты Keycloak, изменить пароль пользователя в домене не удастся.

Защитить данные, передаваемые по протоколу LDAP между Keycloak и контроллером домена можно с помощью SSL версии протокола LDAP - LDAPS, который работает по порту 636. Для этого на контроллере домена необходимо установить специальный SSL сертификат. Сертификат может быть сторонним, самоподписанным или выданным корпоративным центром сертификации.

Ниже приведен пример настройки подключения LDAPs с использованием сертификата, выданного корпоративным центром сертификации, развернутым на Windows Server 2019.

Порядок действий:
  1. В центре сертификации откройте оснастку управления центром сертификации (Средства  Центр сертификации).

  2. Перейдите в управление шаблонами сертификатов.

    ldaps tpl mgmt
  3. Скопируйте шаблон "Проверка подлинности Kerberos" и в окне свойств нового шаблона:

    • На вкладке Общее задайте для него имя и активируйте опцию Опубликовать сертификат в Active Directory.

      ldaps tpl cp gen
    • На вкладке Обработка запроса активируйте опцию Разрешить экспортировать закрытый ключ.

      ldaps tpl cp req
    • Нажмите OK.

  4. Опубликуйте новый тип сертификата:

    1. В контекстном меню Шаблонов сертификатов выберите Создать  Выдаваемый шаблон сертификата.

      ldaps tpl create
    2. В окне включения шаблонов выберите созданную ранее копию и нажмите OK.

  5. Экспортируйте корневой сертификат удостоверяющего центра, например через cmd:

    certutil -ca.cert ca_root.cer
  6. Скопируйте экспортированный сертификат на контроллер домена и на Менеджер управления (например в каталог /root).

  7. На контроллере домена, для которого планируется задействовать LDAPS, откройте оснастку управления сертификатами.

  8. В хранилище Личное запросите новый сертификат через контекстное меню: Все задачи  Запросить новый сертификат.

  9. В окне регистрации сертификатов на этапе Запрос сертификатов выберите опубликованный ранее шаблон и нажмите Заявка, а затем Готово.

    ldaps enroll
  10. Добавьте экспортированный ранее корневой сертификат в доверенные корневые центры сертификации, например через оснастку управления сертификатами:

    1. В cmd или powershell выполните команду mmc.

    2. Нажмите Ctrl+M.

    3. Выберите сертификаты > Учетной записи компьютера.

    4. В хранилище Доверенные корневые центры сертификации через контекстное меню выберите Все задачи  Импорт.

    5. Выберите файл корневого сертификата и импортируйте его.

  11. Перезапустите Доменные службы Active Directory.

  12. Подключитесь по SSH к Менеджеру управления.

  13. Добавьте корневой сертификат в доверенные:

    mv /root/ca_root.cer /etc/pki/ca-trust/source/anchors
    update-ca-trust enable
    update-ca-trust extract
  14. Перезапустите сервис Keycloak:

    systemctl restart ovirt-engine-keycloak.service
  15. Перейдите на портал Keycloak и настройте федерацию пользователей в соответствии с инструкцией. При настройке в поле Connection URL укажите схему ldaps, FQDN контроллера домена и порт 636.

    ldaps kcl conf

После сохранения конфигурации на странице Users убедитесь, что пользователи синхронизировались.

Если для подключения по ldaps был отредактирован существующий провайдер, синхронизируйте пользователей вручную:

  1. На портале Keycloak перейдите в User Federation.

  2. Нажмите на имя настроенного провайдера.

  3. В меню Action выберите Sync all users.