Аутентификация при помощи внешнего access gateway
Аутентификация
Происходит автоматически если IP адрес клиента находится в разрешенном диапазоне адресов и access gateway передал HTTP-заголовок с идентификатором пользователя.
Конфигурация
Чтобы заработал автовход нужно настроить следующие свойства:
Ключ | Описание | Пример | По умолчанию |
---|---|---|---|
com.rooxteam.sso.autologin.agw.enabled |
Выключатель функциональности |
true/false |
false, функциональность выключена |
com.rooxteam.sso.autologin.agw.allowed_networks |
Список IP-диапазонов, для которых разрешен автовход |
1.1.1.0-1.1.1.255,2.2.2.0-2.2.2.255 |
Пустой список, никто не сможет воспользоваться |
com.rooxteam.sso.autologin.agw.headers.principal_id |
Имя заголовка, в котором передается идентификатор принципала |
x-sso-samaccountname |
Не задан |
com.rooxteam.sso.autologin.agw.attributes.map |
Перечень атрибутов из модели RooX UIDM, которые надо установить |
DISPLAY_NAME_ATTRIBUTE,EMAIL_ATTRIBUTE,MOBILE_ATTRIBUTE,UID_ATTRIBUTE |
Не задан |
com.rooxteam.sso.autologin.agw.attributes.use_as_login |
Имя атрибута, которое будет использоваться в качестве логина |
uid |
Не задан, ОБЯЗАТЕЛЕН |
com.rooxteam.sso.autologin.agw.default_roles |
Роли принципала по-умолчанию которые будут добавляться к ролям полученным из LDAP. Список ролей через запятую |
ROLE_CUSTOMER, ROLE_ADMIN |
Не задан |
После настройки RooX UIDM будет выполнять автовход, но профиль пользователя будет пустым.
Чтобы профиль обогащался данными из LDAP нужно настроить следующие свойства:
Ключ |
Описание |
Пример |
По умолчанию |
|
com.rooxteam.uidm.ldapv3repository.enabled |
Включено ли обращение к LDAP для обогащения профиля |
true/false |
false, выключено |
|
com.rooxteam.uidm.ldapv3repository.superuserId |
Логин административной учетной записи для загрузки профиля |
не задан, ОБЯЗАТЕЛЕН |
||
com.rooxteam.uidm.ldapv3repository.superuserPassword |
Пароль административной учетной записи для загрузки профиля |
password |
не задан, ОБЯЗАТЕЛЕН |
|
com.rooxteam.uidm.ldapv3repository.ldapServerName |
Адрес LDAP сервера |
dc.demo.rooxteam.com |
не задан, ОБЯЗАТЕЛЕН |
|
com.rooxteam.uidm.ldapv3repository.ldapPort |
Порт LDAP сервера |
389 |
389 |
|
com.rooxteam.uidm.ldapv3repository.ssl |
Использовать LDAPS при подключении |
true/false |
false |
|
com.rooxteam.uidm.ldapv3repository.baseDN |
Базовое дерево для поиска пользователей |
DC=dc\\,DC=demo\\,DC=rooxteam\\,DC=com - не забывайте экранировать запятые |
не задано, ОБЯЗАТЕЛЕН |
|
com.rooxteam.uidm.ldapv3repository.userSearchFilter |
Дополнительный фильтр по атрибутам пользователя для отбора разрешенных |
givenName=autotests1 |
Не задан, фильтрация не производится |
|
com.rooxteam.uidm.ldapv3repository.profileAttributesToFetch |
Перечень атрибутов LDAP для загрузки в профиль пользователя RooX UIDM |
displayName,memberOf,mail,mobile,userAccountName |
Не задан, никакие атрибуты не загружаются |
Как происходит маппинг атрибутов в модель данных RooX UIDM
-
Атрибуты должны быть перечислены в
com.rooxteam.uidm.ldapv3repository.profileAttributesToFetch
. Имена атрибутов указываются по LDAP-модели. Проверять в логе записьюRX_AGW_SSO____6003
-
Свойство
com.rooxteam.sso.autologin.agw.attributes.map
определяет соответствие между именами атрибутов RooX UIDM и именами атрибутов в LDAP-модели (используются только атрибуты перечисленные в свойствеcom.rooxteam.uidm.ldapv3repository.profileAttributesToFetch
). -
Для корректной работы функционала AGW необходимо обеспечить мэппинг таких RooX UIDM-атрибутов как
uid
,login
. -
Пароль имеет специальное значение, запрещающее вход по паролю, поскольку RooX UIDM не получает значение пароля и не может осуществлять вход по нему.
-
Все атрибуты LDAP-модели перечисленные в свойстве
com.rooxteam.uidm.ldapv3repository.profileAttributesToFetch
, но не используемые в свойстве мэппинга атрибутовcom.rooxteam.sso.autologin.agw.attributes.map
будут автоматически попадать в extendedAttributes записи в таблице Principal. -
Для конфигурации мэппинга ролей необходимо в свойстве
com.rooxteam.uidm.ldapv3repository.profileAttributesToFetch`установить соответствие RooX UIDM-атрибута `roles
атрибуту LDAP-модели (обычно этоmemberOf
). В ходе преобразования группы LDAP будет использоваться только имя конечного узла дерева LDAP. Например, если пользователь включен в LDAP группу со следующим DNCN=Group1,DC=dc,DC=demo,DC=rooxteam,DC=com
, то данное значение будет преобразовано к роли с именемGroup1
. -
Также в конфигурации мэппинга ролей RooX UIDM используются следующие свойства:
-
com.rooxteam.sso.autologin.agw.allowed_roles_pattern
- задаёт RegEx-шаблон для разрешенных имён ролей RooX UIDM. Значение по-умолчанию.*
- разрешены любые имена ролей. -
com.rooxteam.sso.autologin.agw.prohibited_roles_pattern
- задаёт RegEx-шаблон для запрещенных имён ролей RooX UIDM. Значение по-умолчанию(?i)^(role_)?(system|provision|antifraud)$
- запрещает использование системных ролей RooX UIDM.
-
-
Результат мэппинга можно проверить в лог сообщении
RX_AGW_SSO____6004
. -
Во время аутентификации все атрибуты попадают в клеймы и доступны для получения через Token Inrospection (или устаревший /tokeninfo). Имена клеймов равны точным именам полей в extendedAttributes или специальным значениям если данные нужно получить из модели RooX UIDM: name, phone_number, email, roles.