Skip to main content

Настройка интеграции

  1. Открыть доступ к компоненту Keycloak из внешней сети, выполнив следующую команду:
docker service update --publish-add published=8091,target=8080 \
pgs-keycloak_keycloak
  1. Проверить имя тенанта в панели Администрирование:
  • открыть Администрирование > Организация > Основные настройки;
  • проверить имя тенанта в поле Отображаемое название (рис.)(в примере на рисунке значение по умолчанию).

  1. Открыть веб-интерфейс Keycloak.
    (адрес по умолчанию http://<ENV>.<DEFAULT_DOMAIN>:8091).

  2. Перейти в Administration Console и ввести данные для входа.

ПараметрЗначение
Имя пользователяpgs
Парользначение переменной KEYCLOAK_PASSWORD
  1. Выбрать тенант (или realm), уточненный в п.3 (рис.).

  1. Нажать User Federation.

  2. Из выпадающего меню выбрать провайдера LDAP (Add provider).

  3. Заполнить параметры в соответствии с таблицей.

ПараметрЗначениеКомментарий
usernameLDAPAttributesAMAccountName (или другое текущее значение атрибута в AD)Атрибут, назначаемый как имя пользователя в Keycloak
uuidLDAPAttributesAMAccountName (или другое текущее значение атрибута в AD)Атрибут уникального идентификатора объекта
editModeUNSYNCEDВнутренний атрибут Keycloak, позволяющий обновлять пользовательские данные на LDAP-сервере в режиме «только чтение»
connectionUrlХост в формате ldap://111.1.1.1Хост для подключения к каталогу AD
usersDnДанные для подключения к AD соответственно настройкам сервераПуть до OU (организационной единицы), в которой хранятся учетные записи пользователей
bindDnЛогин пользователя ADПолное имя (DN, distinguished name) учетной записи пользователя в каталоге, от имени которого будет выполняться работа с каталогом
bindCredentialПароль пользователя ADПароль учетной записи пользователя в каталоге, от имени которого будет производиться работа с каталогом
  1. Остальные параметры оставить по умолчанию.

  2. Нажать Save и Synchronize all users.

На вкладке Users в левом меню можно просмотреть список всех импортированных пользователей.

В случае наличия ошибок возможно вернуться на вкладку User Federation к выбору LDAP-провайдера и нажать Remove imported для очистки списка пользователей.

При длине DN больше чем 255 символов, возникают проблемы, связанные с ограничением на количество символов в таблице postgres, в этом случае необходимо выполнить следующую команду:

docker exec $(docker ps -q -f name=pgs-postgres) psql \
-U keycloak -c "ALTER TABLE user_attribute ALTER COLUMN value TYPE TEXT;"