Настройка интеграции JumpServer с KeyCloak с помошью OpenID Connect
Настройка интеграции JumpServer с KeyCloak с помошью OpenID Connect на примере интеграции с системной двухфакторной аутентификации MFASOFT
Необходимые условия для интеграции
- Настроенный HTTPS сертификат для веб-интерфейса JumpServer, ссылка на инструкцию по настройке HTTPS.
- Установленный KeyCloak с HTTPS сертификатом
- Важно, чтобы FQDN адреса KeyCloak и JumpServer резолвились на каждом хосте.
Настройка KeyCloak
На стороне KeyCloak выполнить следующие настройки:
1. Создать Realm с именем, в нашем случае: MFASOFT
2. Создать нового клиента, указав следующие обязательные параметры:
- Client ID – js
- Client type – OpenID Connect
- Client authentication – On
- Authorization – On
- Valid redirect URIs - https://js.mfasoft.local/core/auth/openid/callback/
- Valid post logout redirect URIs - https://js.mfasoft.local/
3. На вкладке Credential сформировать Client Secret:
Настройка JumpServer
В System Settings - Authenication активировать опцию OIDC
Зайти в настройки OIDC и задать следующие параметры:
- Base site URL: https://js.mfasoft.local/
- Client id: js
- Client secret: скопировать из KeyCloak (просмотреть значение, чтобы оно корректно было вставлено в JumpServer)
- Request method: Client Secret Post
- Use keycloak: да
- Server: https://keycloak.mfasoft.local/
- Realm name: MFASOFT (имя созданного ранее Realm)
- Always update user: да
- Ignore SSL verification: лучше включить на момент отладки на случай проблем с сертификатами
- Share session: да
- User attribute:
{
"name": "name",
"username": "preferred_name",
"email": "email"
}
Создавать пользователя не требуется, так как он будет создан автоматически при первой аутентификации через KeyCloak
Настройка двухфакторной аутентификации
После успешной интеграции с KeyCloak можно настроить двухфакторную аутентификацию на основе документации к вашему решению.
Пример демонстрации работы механизма двухэтапной аутентификации JumpServer и MFASOFT представлен по этой ссылке.