Настройка интеграции с ОСА#

Сервис объединенный сервис авторизации (ОСА) продукта Platform V IAM SE (AUTZ) – предназначен для авторизации доступа пользователей на основе: проверки ролей пользователей, наличия прав доступа и анализа правил атрибутов объектов и субъектов доступа. За интеграцию с данным компонентом отвечает модуль kcse-keycloak-identity-adapters.

Настройка на стороне ОСА#

Дистрибутив ОСА установлен на стенде. В среде контейнеризации ОСА в Deployment Conf прописаны следующие параметры:

Свойство

Значение

spas.rest.sudirEnable

true

spas.identity.basicAuthUser

например, basicAuthUser

spas.identity.basicAuthPas

например, basicAuthPas

Настройка на стороне Platform V KeyCloak.SE#

  1. Зайти под функциональным администратором.

  2. Перейти на вкладку "Настройки Realm" -> "Дополнительно" -> "Настройки SOAP".

  3. Задать параметры:

Название переменной

Описание

CN клиентского сертификата

Список допустимых CN клиентского сертификата (при mTLS) через "|", "*" - отключить проверку

Фильтр по scope ролей

Фильтр по scope ролей, попадающих под синхронизацию через API. Это префикс роли realm или клиента client_id/prefix. Данное поле не является обязательным. Пример: "platformauth, EFS, PlatformAuth-Proxy/"

  1. Перейти на вкладку "Синхронизация ролей и ФОС".

  2. Заполнить параметры:

Название переменной

Описание

URL веб-сервиса *

http://{host_osa}ufs-security/identity/GenericAccountManagement2

Пользователь

Равен значению в OSE OSA spas.identity.basicAuthUser

Пароль

Равен значению в OSE OSA spas.identity.basicAuthPas

Место сохранения ролей

Роли можно сохранить в Realm или конкретному клиенту

Имя клиента

Установить имя существующего клиента

  1. Сохранить конфигурацию. Если при нажатии на кнопку "Проверить подключение" выводится сообщение об успешном прохождении тестов, то настройка успешно завершена.

  2. Для выполнения синхронизации нажать "Выполнить".

Настройка планировщика#

Синхронизацию с ОСА можно выполнять по расписанию. Для этого необходимо задать периодичность запуска в поле "триггер".

<секунда (0-59)> <минута (0-59)> <час (0-23)> <день месяца (1-31)> <месяц (1-12 или JAN-DEC)> <день недели (0-7 или MON-SUN, где 0 и 7 - это SUN)>

  • Допускается диапазон чисел через тире (включает крайние значения).

  • Для указания всех значений можно использовать звездочку (*). Для указания дня месяца или недели можно использовать знак вопроса (?).

  • Для указания дня месяца или недели можно использовать первые три буквы дня или месяца на английском языке.

  • Поля день месяца или день недели может использоваться L, который означает последний. Если указывается L-n, то это означает "с n-го по последний день месяца". В поле "день недели" L означает "последний день недели". Если перед ним стоит цифра или название из трех букв (например, dL или DDDL), это означает "последний день недели d (или DDD) в месяце".

  • Поле "день недели" может быть d#n (или DDD#n), что означает "n-й день недели d (или DDD) в месяце".

Например:

Триггер

Значение

0 0/1 * 1/1 * ? *

Каждую минуту, каждый день

0 0 0 1 1 *

Раз в году

0 0 0 1 * *

Раз в месяц

0 0 0 * * 0

Раз в неделю

0 0 0 * * *

Раз в день

0 0 * * * *

Раз в час

0 0 4 ? * *

В 4:00 часа

Настройка взаимодействия с ОСА через SSL/TLS#

Параметр

Значение

Значение по умолчанию

spi-realm-restapi-extension-sync-spas-use-separate-keystore

Считывать доверенный сертификат и ключ для установления mTLS с ОСА из отдельного хранилища. В противном случае использует сертификат и ключ стенда

false

spi-realm-restapi-extension-sync-spas-osa-cert-file

Сертификат для установления mTLS соединения с ОСА

spi-realm-restapi-extension-sync-spas-osa-key-file

Ключ для установления mTLS соединения с ОСА

spi-realm-restapi-extension-sync-spas-osa-ca-cert

Корневой сертификат для установления mTLS соединения с ОСА

spi-realm-restapi-extension-sync-spas-osa-keystore

Путь до JKS хранилища ключей для ОСА

spi-realm-restapi-extension-sync-spas-osa-keystore-password

Пароль от JKS хранилища с сертификатом и ключом ОСА. Используется как пароль от хранилища и от ключа при работе с JKS

Для установления mTLS соединения необходимо задать одну из следующих комбинаций:

  1. Сертификат (spi-realm-restapi-extension-sync-spas-osa-cert-file) и ключ (spi-realm-restapi-extension-sync-spas-osa-key-file)

  2. Сертификат (spi-realm-restapi-extension-sync-spas-osa-cert-file), ключ (spi-realm-restapi-extension-sync-spas-osa-key-file) и корневой сертификат (spi-realm-restapi-extension-sync-spas-osa-ca-cert)

  3. Сконфигурированное JKS хранилище ключей с сертификатом и ключом для ОСА (spi-realm-restapi-extension-sync-spas-osa-keystore)

Сгенерировать его можно следующим образом:

openssl pkcs12 -export -chain -inkey <путь к ключу>\
-in <путь к сертификату> -name "osa" -CAfile <путь к корневому сертификату> \
-out <путь к файлу с расширением p12> -password pass:<пароль>
       
keytool -importkeystore -noprompt \
       -srcalias "osa"  -destalias "osa"  \
       -srckeystore <путь к файлу с расширением p12> \
       -srcstoretype pkcs12 \
       -destkeystore <путь к файлу с расширением jks> \
       -storepass <пароль> -srcstorepass <пароль>

Необходимо добавить сертификат в доверенные по инструкции в Руководстве по установке -> Настройка сети -> Добавление сертификатов в доверенные.