Аутентификация
Для аутентификации пользователей Геном использует протокол OpenID Connect и внешний провайдер идентификации (Identity Provider, IdP), в роли которого могут выступать:
-
FAM Avanpost;
-
Basis Virtual Security;
-
Keycloak.
При успешной аутентификации пользователи могут использовать одну и ту же учётную запись для доступа ко всем сервисам Геном.
Служба аутентификации имеет следующие особенности:
-
Данные устаревших сессий очищаются автоматически.
-
Для обновления токенов доступа используются токены обновления.
-
Для обновления токенов доступа Геном обращается к IdP.
-
Геном получает информацию о пользователе из данных, указанных в токене доступа.
-
Все токены хранятся в зашифрованном виде.
Поведение Keycloak при интеграции с Active Directory
Keycloak поддерживает интеграцию с Active Directory (далее — AD). Ниже перечислены особенности, которые необходимо учитывать при работе Keycloak с AD.
-
При блокировке пользователя в AD он не сможет войти в Геном. Будет возникать ошибка с указанием на неверные логин или пароль.
-
При изменении списка групп пользователя в AD данные в Keycloak обновятся при плановой синхронизации данных.
-
При исключении пользователя из всех групп, связанных с ролями Геном, отключение пользователя произойдёт после синхронизации Keycloak с AD при новой попытке входа в систему. Если в момент синхронизации была активная сессия, пользователь сможет пользоваться Геном до истечения срока жизни токена.
-
Время отключения пользователя можно регулировать:
-
Через включение параметра Periodic changed users sync и указания Changed users sync period в Keycloak в . Чем меньше значение, тем чаще будут синхронизироваться пользователи между AD и Keycloak.
-
Через изменение в Keycloak параметра , который управляет, как часто будут обновляться токен пользователя и его полномочия в виде ролей.
-
При активной сессии отключение пользователя будет произведено в следующих случаях:
-
при завершении сессии в административном интерфейсе Keycloak;
-
по истечении срока жизни активного токена;
-
при принудительной синхронизации Keycloak с AD.
Пока сессия активна, а срок действия токена не истёк, к пользователю будут применяться роли, назначенные ему на момент выдачи токена.