Внешняя авторизация
Так как Keycloak, используемый платформой Visiology, имеет встроенную поддержку для подключения к существующим серверам LDAP или Active Directory и поддерживает OpenID Connect, OAuth 2.0 и SAML, администраторы могут существенно упростить процесс администрирования пользователей и групп.
Рассмотрим в качестве примера интеграцию с Active Directory, которая позволяет автоматизировать процесс создания учетных записей пользователей и назначение им прав доступа посредством мапирования групп Active Directory на роли в Visiology.
Процедура интеграции включает в себя:
настройку подключения к LDAP провайдеру в Keycloak;
настройку мапперов для корректного извлечения атрибутов импортируемых пользователей;
синхронизацию пользователей.
Настройка подключения к LDAP провайдеру
Для настройки подключения необходимо выполнить следующие шаги:
Откройте Keycloak и выберите область (realm), в которой вы будете производит настройки. В нашем примере это Visiology:
Нажмите User federation в боковой панели и выберите Add Ldap providers в окне справа:
В открывшейся форме укажите параметры подключения и нажмите Save. Все обязательные поля, помеченные красной звездочкой, должны быть заполнены:
После заполнения полей вы можете протестировать соединение нажав на кнопки Test connection и Test authentication. Если параметры указаны без ошибок, в правом верхнем углу вы увидите сообщение о том, что соединение прошло успешно:
Если вы не хотите извлекать данные всех пользователей, зарегистрированных на домене, вы можете указать определенную группу пользователей. Для этого необходимо в секции LDAP searching and updating настроек LDAP провайдера указать данную группу. Сделать это можно так: OU=Acme
, где OU
– подразделение (Organizational Unit), а Acme
– название группы:
Настройка мапперов
При создании LDAP провайдера автоматически создается необходимая группа мапперов (за исключением group-ldap-mapper
), которые содержат в себе атрибуты пользователей. Вы можете отредактировать как отредактировать их, так и создать новые мапперы для передачи дополнительных атрибутов пользователей.
Редактирование маппера
Для изменения параметров маппера выполните следующие шаги:
Щелкните на созданный LDAP провайдер в окне User federation:
В открывшемся окне перейдите на вкладку Mappers и выберите маппер, который хотите отредактировать:
Обновите требуемые параметры. Для извлечения пользовательских атрибутов используются специальные Active Directory атрибуты (см. таблицу основных пользовательских атрибутов ниже). В нашем примере мы укажем
givenName
в поле LDAP Attribute для извлечения имени пользователя:
ТАБЛИЦА ОСНОВНЫХ ПОЛЬЗОВАТЕЛЬСКИХ АТРИБУТОВ ACTIVE DIRECTORY
Добавление маппера
Как мы уже сказали, маппер group-ldap-mapper
автоматически не добавляется при подключении к LDAP провайдеру, его необходимо добавить. На его примере мы продемонстрируем, как добавлять мапперы:
Выберите созданный LDAP провайдер в окне User federation:
В открывшемся окне перейдите на вкладку Mappers и нажмите Add mapper:
В открывшейся форме укажите следующие параметры и нажмите Save:
Созданный маппер появится в списке мапперов.
Набор настроек завит от выбранного типа маппера. Более подробную информацию о мапперах см. в документации Keycloak.
Синхронизация пользователей
После настройки мапперов необходимо синхронизировать пользователей, чтобы данные всех пользователей попали в Keycloak. Для этого необходимо в разделе User federation нажать Action в правом верхнем углу и выбрать Sync all users в выпадающем меню:
После синхронизации, пользователи Active Directory смогут входить в Visiology с использованием своего пароля и логина.
Вы можете также активировать автоматическую синхронизацию, указав необходимый временной период в настройках синхронизации LDAP провайдера.
Особенности интеграции
Важно отметить, что если пользователь принадлежит к группе с ролью Зритель, ему можно в индивидуальном порядке назначить роль Администратор, и он получит полный доступ к платформе независимо от того, что он принадлежит к группе с ограниченным доступом. Если у пользователя роль Зритель, а его добавят в группу с ролью Администратор, то он также получит полный доступ к платформе.
При переносе LDAP-групп в Keycloak иерархия групп не сохраняется. Группы попадают в Visiology “плоским списком”. Это означает, что если пользователь принадлежит к какой-либо подгруппе в Active Directory, то в Visiology он будет принадлежать к обеим группам (родительской и дочерней). Данное поведение регулируется в Keycloak в настройках маппера
group-ldap-mapper
:
Смотрите также
На этой странице
Время чтения: 3 мин.
Нужна дополнительная помощь?