Настройка аутентификации по паролю и OTP

По умолчанию, настройки потока (Flow) аутентификации в Keycloak позволяют входить в PAM и на ресурс только по паролю. Но вы можете настроить аутентификацию в PAM и на целевой системе как по паролю доменной учетной записи, так и по OTP.

Для этого в Keycloak нужно настроить потоки для авторизации в PAM и на ресурсе, настроить клиент control. После настройки в Keycloak, для пользователей нужно включить аутентификацию по TOTP в PAM.

Предварительная настройка

Перед тем, как настраивать новый способ аутентификации в PAM и на ресурсе проверьте, что в списке Flow окружения PAM в Keycloak есть потоки browser и direct grant.

Шаг 1. Настройка потока browser

  1. В Keycloak откройте окружение pam.

  2. Перейдите в раздел AuthenticationFlows

  3. Откройте поток browser и проверьте настройки:

    • Cookie — Alternative

    • Kerboros — Disabled

    • Identity Provider Redirector — Alternative

    • forms — Alternative

      • Username Password Form — Required

      • Browser — Conditional OTP— Conditional

        • Condition — user configured — Required

        • OTP Form— Required.

Поток должен выглядеть как на примере:

Поток настроен. Теперь нужно настроить поток аутентификации на ресурсе.

Шаг 2. Настройка потока direct grant

  1. В Keycloak перейдите в раздел AuthenticationFlows

  2. Откройте поток direct grant и проверьте настройки:

    • Username Validation — Required

    • Password — Required

    • Direct Grant — Conditional OTP— Conditional

      • Condition — user configured — Required

      • OTP Form— Required.

Поток должен выглядеть как на примере:

Поток настроен. Проверьте настройки клиента control.

Шаг 3. Проверка настроек клиента control

  1. В Keycloak перейдите в Clients → Clients list.

  2. Найдите и откройте клиент control.

  3. Перейдите на вкладку Advanced в блок Authentication flow overrides.

  4. Проверьте, что:

    • Browser Flow — пусто (Choose).

    • Direct Grant Flow — пусто (Choose).

      Если это не так, нажмите Revert и Save.

Настройки в Keycloak выполнены. Теперь нужно указать ссылку для привязки устройства в PAM и включить TOTP пользователю.

Шаг 4. Настройка привязки устройства

Чтобы при первой аутентификации в PAM или входе на ресурс пользователь мог привязать свое устройство двухфакторной аутентификации, укажите ссылку на форму привязки.

После этого, включите TOTP для тестового пользователя PAM.

  1. В интерфейсе PAM перейдите в раздел Настройки → Основные настройки → Аутентификация.

  2. В поле URL для регистрации устройства укажите адрес, по которому развернут PAM.

  3. Нажмите Сохранить.

  4. Перейдите в раздел Пользователи и группы → Пользователи и найдите тестового пользователя

  5. Нажмите и выберите Включить TOTP.

  6. В окне подтверждения нажмите Принять — статус TOTP изменится на Ожидает настройки.

Настройка выполнена. Проверьте, что все работает корректно: аутентифицируйтесь под тестовым пользователем в PAM, привяжите устройство и войдите на ресурс используя второй фактор аутентификации.

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