Поддержка Консалтинг Обучение Jamf Pro Блог

Настройка Jamf Connect для работы с Keycloak с поддержкой 2FA

Evgeny Chadny 09.11.2023

Keycloak – это Identity Provider или IdP, который можно установить на собственном сервере.

Для того, чтобы пользователи могли входить в Mac с учетной записью из Keycloak, рассмотрим базовую (минимальную) настройку этой связки.

Подразумевается, что у нас уже есть установленный Keycloak, например, на виртуальном сервере, а также Jamf Connect на компьютере Mac или виртуальной машине. Для Keycloak потребуется свой домен и валидный сертификат.

Прежде всего, нам необходимо создать Client в Keycloak:

В качестве Client Type указываем OpenID Connect, затем заполняем строку Client ID значением jamf_connect:

Далее, в пункте Capability config, включаем Client authentication, остальное можно оставить по-умолчанию:

Далее, в пункте Login settings, нам необходимо указать, согласно документации Jamf, в качестве Valid redirect URIs следующее значение: https://127.0.0.1/jamfconnect.

А в поле Web origins указываем /*, как на скриншоте ниже:

Нажимаем Save, после чего у нас сразу откроется окно Client details, в котором надо перейти на вкладку Credentials и скопировать Client Secret.

На этом создание клиента окончено, в рамках демонстрации больше ничего настраивать на потребуется.

Переходим к созданию пользователя и включению для него двухфакторной аутентификации:

При создании пользователя сразу указываем ему Required user actions: Configure OTP. В таком случае, при первом входе с этими реквизитами, Keycloak не пропустит дальше, пока пользователь не настроит себе OTP. Это можно сделать через Google Authenticator и подобные программы.
Далее указываем имя и нажимаем Create:

После создания пользователя, сразу переходим на вкладку Credentials и задаем ему пароль:

На этом настройка Keycloak завершена, переходим к настройке Jamf Connect.

Предполагается, что Jamf Connect и агент установлены, поэтому открываем Jamf Connect Configuration:

Для минимального запуска потребуется заполнить всего несколько полей:

  • Identity providerCustom;
  • OIDC client IDjamf-connect (должно совпадать с Client в Keycloak);
  • Client secret – собственно, значение из поля Client secret на вкладке Credentials в Keycloak;
  • Discovery URL – указываем ссылку, которую можно взять из Keycloak в пункте Realm settings > Endpoints -> OpenID Endpoint Configuration;
  • проверяем, что на вкладке Login установлена галочка напротив Create Jamf Connect keychain.

Теперь, когда минимальные настройки выполнены, можно протестировать подключение.

Для этого нажимаем на кнопку Test и выбираем OIDC. У нас должно открыться превью, где мы увидим окно входа Keycloak. Вводим реквизиты нашего тестового пользователя и видим окно настройки двухфакторной аутентификации.

Настраиваем ее через Google Authenticator (или аналог), вводим код, и видим сообщение “You got tokens!”.

На этом настройка связки завершена, приступаем к последнему шагу: сохраняем профиль в Jamf Connect Configuration и устанавливаем его в систему, после чего выполняем следующую команду в терминале: sudo authchanger -JamfConnect.

Теперь при загрузке macOS мы будем видеть окно входа Keycloak, а при вводе пользовательских данных появится запрос кода OTP. Если пользователь входит впервые – он увидит окно настройки OTP и не попадет в систему, пока не настроит его.

При успешном входе, в macOS создастся локальная учетная запись и именем и паролем пользователя как в Keycloak.