Конфигурация области безопасности (realm) для настройки LDAP-провайдера

Чтобы создать конфигурацию области безопасности (realm) для настройки LDAP-сервера, выполните следующие действия:

  1. В главном меню выберите пункт User Federation — вы будете перенаправлены на форму создания федерации пользователей.

  2. На форме User Federation выберите значение Add Ldap providers — на экране отобразится форма настройки параметров LDAP-провайдера, который вы хотите добавить.

    kc ldap integration
  3. На форме Add Ldap provider заполните поля:

    • в секции General options:

      • UI display name — отображаемое имя поставщика при подключении в пользовательском интерфейсе администратора (обязательное поле);

      • vendor — поставщик LDAP-сервера (обязательное поле);

    • в секции connection and authentication settings:

      • Connection url — URL подключения к LDAP-серверу (обязательное поле);

      • Enable StartTLS — шифрование соединения с LDAP-сервером с помощью STARTTLS, что отключает пул соединений;

      • Use Truststore SPI — указывает, должно ли соединение с LDAP-сервером использовать SPI хранилища доверенных сертификатов с хранилищем доверенных сертификатов, настроенным в файле standalone.xml/domain.sml:

        • Always — использовать всегда;

        • Never — не использовать;

        • Only for ldaps — использовать, если URL-адрес подключения использует LDAP-сервер;

          Даже если файл standalone.xml/domain.xml не настроен, используются сертификаты Java по умолчанию, указанные в свойстве javax.net.ssl.trustStore.
      • Connection pooling — определяет, должен ли Keycloak использовать пул соединений для доступа к LDAP-серверу;

      • Connection timeout — время ожидания соединения с LDAP-сервером в миллисекундах;

      • Bind type — тип метода аутентификации, используемый во время привязки LDAP-сервера; используется в большинстве запросов, отправляемых на LDAP-сервер (обязательное поле);

      • Bind dn — DN администратора LDAP-сервера, который используется Keycloak для доступа к LDAP-серверу (обязательное поле);

      • Bind credential — пароль администратора LDAP-сервера, который используется Keycloak для доступа к LDAP-серверу (обязательное поле);

    • в секции LDAP searching and updating:

      • Edit mode — режим редактирования данных пользователей, хранящихся на LDAP-сервере (обязательное поле):

        • READ_ONLY — данные, хранящиеся на LDAP-сервере, доступны только для чтения;

  • WRITABLE — данные пользователей могут быть обновлены и будут автоматически синхронизироваться с LDAP-сервером;

  • UNCYNCED — данные пользователей могут быть обновлены, но будут храниться только в локальном хранилище Keycloak и не будут синхронизироваться с LDAP-сервером;

    Режим UNCYNCED позволяет Keycloak поддерживать обновления пользовательских метаданных на сервере LDAP в доступном только для чтения виде. Он применяется только при импорте пользователей с сервера LDAP в локальную базу данных пользователей Keycloak.
    • Users DN — полное DN-наименование LDAP-дерева, в котором хранятся данные пользователей (обязательное поле);

    • Username LDAP attribute — наименование LDAP-атрибута, которое используется в качестве уникального идентификатора объекта (UUID) для объектов LDAP-сервера; (обязательное поле);

    • RDN LDAP attribute — наименование LDAP-атрибута, которое используется как RDN (верхний атрибут) dn пользователя (обязательное поле);

    • UUID LDAP attribute — наименование LDAP-атрибута, которое используется в качестве уникального идентификатора объекта (UUID) для объектов в LDAP (обязательное поле);

    • User object classes — все значения LDAP-атрибута objectclass через запятую для пользователей на LDAP-сервере (обязательное поле);

    • User LDAP filter — дополнительный фильтр LDAP-сервера для фильтрации искомых пользователей; значение должно начинаться с '(' и заканчиваться на ')';

    • Search scope — скоуп поиска:

  • One level — поиск применяется только к пользователям в DN, указанным в поле User DNs;

  • Subtree — поиск применяется ко всему поддереву;

    • Read timeout — время ожидания чтения LDAP-сервера в миллисекундах; применяется для операций чтения LDAP-сервера;

    • Pagination — определяет, поддерживает ли LDAP-сервер разбиение на страницы;

      • в секции Synchronization settings:

    • Import users — определяет, следует ли импортировать пользователей в БД Keycloak и синхронизировать с учетом заданных политик синхронизации;

    • Sync Registrations — определяет, следует ли создавать новых пользователей в хранилище LDAP; приоритет влияет на то, какой поставщик выбран для синхронизации нового пользователя;

      Параметр эффективно применяется только в режиме редактирования WRITABLE.
    • Batch size — количество записей пользователей, которые могут быть импортированы за одну транзакцию;

    • Periodic full sync — определяет, должна ли быть включена периодическая полная синхронизация LDAP-сервера с Keycloak для отредактированных записей или записей вновь созданных пользователей;

      • в секции Kerberos integration:

    • Allow Kerberos authentication — включает/выключает HTTP-аутентификацию пользователей с токенами SPNEGO/Kerberos; данные об аутентифицированных пользователях будут предоставляться с этого LDAP-сервера;

    • Use Kerberos for password authentication — пользовательский модуль входа Kerberos для аутентификации имени пользователя/пароля на сервере Kerberos вместо аутентификации на LDAP-сервере с API сервиса Directory Service;

      • в секции Cache settings:

    • Cache policy — политика кэширования для поставщика хранилища:

  • DEFAULT — любые настройки по умолчанию для глобального кеша;

  • EVICT_DAILY — время дня каждый день, когда кеш должен быть очищен;

  • EVICT_WEEKLY — день недели и время, когда кеш должен быть очищен;

  • MAX_LIFESPAN — время в миллисекундах, в течение которого сохраняется запись в кэше;

    • в секции Advanced settings:

      • Enable the LDAPv3 password modify extended operation — определяет, стоит ли использовать расширенную операцию изменения пароля LDAPv3 (RFC-3062);

      • Validate password policy — определяет, должен ли Keycloak проверять пароль с помощью политики паролей области безопасности (realm) перед его обновлением;

      • Trust email — указывает, что электронная почта, предоставленная этим провайдером, не проверяется, даже если проверка включена для области безопасности (realm).