• Post category:Настройки
  • Запись изменена:05.05.2025

1. Синхронизация Корпоративный сервер 2024 + ALD PRO

1.1. Проверка соединения с LDAP ALD PRO

На примере используем сервер ALD PRO

dc.r7ru.ru

Перед синхронизацией убедитесь, что ваш LDAP ALD PRO доступен с помощью утилиты ldapsearch.
Для этого подключитесь к серверу ALD PRO и в терминале введите команду:

ldapsearch -x -D "uid=admin,cn=users,cn=accounts,dc=r7ru,dc=ru" -W -b "cn=users,cn=accounts,dc=r7ru,dc=ru"

, где

  • admin — учетная запись администратора домена
  • «cn=users,cn=accounts,dc=r7ru,dc=ru» — каталог в LDAP, в котором производится поиск
    после ввода пароля, необходимо получить подобный результат

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

1.2. Синхронизация с ALD PRO

Во вкладке управления выбираем пункт меню «Настроить LDAP»

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Метод авторизации выбираем LDAP и вносим данные сервера ALD PRO, на скриншоте фильтр пользователей установлен на синхронизацию всех пользователей из каталога Users.
Здесь же можно настроить свои фильтры выборки из LDAP

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

(&(krbPrincipalName=*)(memberOf=ou=Организация,cn=orgunits,cn=accounts,dc=r7ru,dc=ru))

На скриншоте выборка всех пользователей из каталога Users,

где

  • dc.r7ru.ru — домен контроллер
  • r7ru.ru — имя домена
  • cn=users,cn=accounts,dc=r7ru,dc=ru — каталог, пользователей по которым будет происходить синхронизация
    389 — порт, по которому работает LDAP, если на сервере LDAP используется SSL, необходимо использовать порт 636

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Для Корпоративного сервера 2024 необходимо заполнить основные поля атрибутами из LDAP ALD PRO distinguishedNamekrbPrincipalNamegivenName и sn

Сопоставление по полям атрибутов LDAP RedADM и Корпоративного сервера 2024 предусмотрено только по полям заполненным на скриншоте

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Также можно выполнить синхронизацию групп из LDAP RedADM.
Например, если нужно синхронизировать не только список всех пользователей домена, но также их расположение в группах в домене

используйте каталог и нужный вам фильтр групп, в примере экспортируются все группы из домена

cn=groups,cn=accounts,dc=r7ru,dc=ru
(&(objectClass=posixgroup)(objectClass=ipausergroup)(cn=*))

После установки фильтра нажмите сохранить и затем синхронизировать

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

После синхронизации вы должны получить подобный результат

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

2. Синхронизация Keycloak и Корпоративный сервер 2024

2.1. Настройка KeyCloak

В интерфейсе Keycloak под учетной записью администратора создайте свой Realm и дайте ему имя, НЕ используйте Realm «master» , он используется для управления другими Realm.

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Далее открываем настройки нашего Realm и вкладку профиля пользователя, где можно редактировать и создавать атрибуты необходимые для нашего Realm

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Р7 Офис 2024 использует 4 атрибута для saml2:

  • givenName — имя
  • sn — фамилия
  • Title — должность
  • mail — почтовый ящик

создайте соответствия в Keycloak для этих атрибутов

для givenName:

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

и нажмите кнопку Сохранить.

Здесь же можно установить на ваше усмотрение является ли атрибут обязательным для администраторов и пользователей, нужно ли его использовать и кто может редактировать его

Дополнительно можно установить требования на длину атрибута посимвольно и прочее.

По аналогии также сделайте для оставшихся трех атрибутов, не нужные для этого Realm атрибуты можно удалить

2.2. Настройка Корпоративный сервер 2024

Для возможности авторизации SSO необходимо внести изменения в конфигурацию Р7 Офис 2024

в терминале сервера с сервисом Api отредактируйте файл appsetings.json

nano /opt/r7-office/Api/appsettings.json

Нужно заменить «esiaType» на «saml2», как на скриншоте ниже

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Также необходимо внести изменения в файл appsetings.json для сервиса Sso.Api

для начала получите ссылку на провайдера

IdPMetadata — наш провайдер Keycloak

в настройках Realm на вкладке общее нажмите на ссылку SAML2

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

на скриншоте адрес провайдера

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

далее в терминале сервера отредактируйте конфигурационный файл сервиса Sso.Api

nano /opt/r7-office/Sso.Api/appsettings.json

В файле редактируем следующие строки конфигурации:

"Saml2": {
 
    "IdPMetadata": "{http/https}://{адрес и порт вашего keycloack}/realms/{имя realm}/protocol/saml/descriptor",
 
    "Issuer": "{http/https}://{cddisk}.{Домен Р7 2024}/saml2/Metadata",
 
    "SignatureAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
 
    "SigningCertificateFile": "{Путь до вашего сертификата .pfx}",
 
    "SigningCertificatePassword": "{Пароль от сертификата .pfx}",
 
    "CertificateValidationMode": "None",
 
    "RevocationMode": "NoCheck"
 
 },

не забывайте добавить в адрес провайдера «/descriptor» в конце предложения

Пример заполненного рабочего конфига, вместо «cddisk.test703.s7-office.site» используйте свое DNS имя вашего портала Р7 Офис:

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

После применения изменений перезагружаем Р7 2024. Настройка Р7 Офис закончена.

2.3. Продолжаем настройку KeyCloack

Создайте клиента в нашем Realm

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

В Client ID укажите ваш Issuer (заменяйте домен и протокол на свои, соответственно). Далее скриншотами рабочий пример заполнения полей

Не забывайте сохранять внесенные изменения во вкладках.

Вкладка Settings

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Вкладка Keys

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Вкладка Roles будет пустая

Вкладка Client Scopes

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Переходим по ссылке и создаем атрибуты, которые получаем от Р7 Офис и делаем соответствие их атрибутам нашего Realm Keycloak

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Выбираем User Property

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Заполняем поля, в выпадающем списке выберите соответствующий ранее созданный атрибут в настройках Realm

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Итоговый вариант заполнения:

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Создав все 4 соответствия атрибутов, перемещаемся далее по вкладкам настройки клиента

Вкладка Advanced:

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Далее открываем в браузере наш портал https://cddisk.test703.s7-office.site, в окне авторизации должна появится ссылка SSO авторизации, нажимая на нее, откроется окно авторизации через Keycloak

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Авторизация SSO уже будет работать, если вы в ручную будете создавать аналогичные по атрибутам к Р7 учетные записи в Keycloak.

Но мы на этом не остановимся, нам необходимо перекачать из нашего домена всех пользователей в базу данных Keycloak , чтобы не создавать их в ручную. Продолжим настройку.

3. Keycloak + ALD PRO

Настройка синхронизации пользователей из
ALD Pro в Keycloak

Hostname astralinux.ru
URI/Port ldap://astralinux.ru.ru:389 (STARTTLS) Note: Plaintext is not allowed.
ldaps://astralinux.ru:636
BaseDN uid=ALD_user,cn=users,cn=accounts,dc=astralinux,dc=ru
UserDN cn=users,cn=accounts,dc=astralinux,dc=ru
GroupDN ou=users,o=YOUR_ORG_ID,dc=jumpcloud,dc=com
Username
LDAP
attribute,
RDN LDAP
attribute
uid
UUID LDAP
attribute
ipaUniqueId
Search
scope
One level

В интерфейсе Keycloak создаем нового провайдера ldap

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

заполняем поля как на скриншоте, в conntction url укажите адрес вашего домен контроллера, и нажмите кнопку тест соединения

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

если все в порядке, далее указываем каталог с учетной записью администратора домена и пароль, тестируем соединение

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

если все в порядке, далее заполняем как на скриншоте.

Выделенный каталог пользователей которых будем синхронизировать в keycloak используйте из своего домена.

В поле User LDAP filter можно настроить фильтр, какой вам необходимSSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Далее устанавливаем период и частоту синхронизации в секундах. В поле batch size указываем размер одной транзакции, если пользователей очень много.

Остальные поля, на усмотрение администратора, если используются протоколы. Можете оставить как есть.SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

После сохранения федерация появится в окне интерфейса Keycloak

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Далее заходим в нашу федерацию и настраиваем во вкладке Mappers наши соответствия атрибутов Keycloak и ALD PRO.

Или удаляем не нужные.

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Настройка для атрибута givenName, из списка User Model созданного ранее выбираем соответствие

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Можем создать новые соответствия, что будем тянуть из ALD PRO в Keycloak, например атрибут должность Tittle

В LDAP он также называется Tittle, укажите его в поле LDAP Attribute

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Итог после сохранения:

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

Затем проверяем синхронизированные УЗ, все атрибуты нужные нам будут вытянуты из LDAP

SSO авторизация через Keycloak c использованием взаимной синхронизации с ALD PRO и Корпоративный сервер 2024

По этим соответствиям и будет происходить авторизация SSO в Корпоративный сервер 2024 через Keycloak

Была ли полезна статья?
Позвольте нам стать лучше