Настройка интеграции с ОСА#
Сервис объединенный сервис авторизации (ОСА) продукта 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#
Зайти под функциональным администратором.
Перейти на вкладку "Настройки Realm" -> "Дополнительно" -> "Настройки SOAP".
Задать параметры:
Название переменной |
Описание |
|---|---|
CN клиентского сертификата |
Список допустимых CN клиентского сертификата (при mTLS) через "|", "*" - отключить проверку |
Фильтр по scope ролей |
Фильтр по scope ролей, попадающих под синхронизацию через API. Это префикс роли realm или клиента client_id/prefix. Данное поле не является обязательным. Пример: "platformauth, EFS, PlatformAuth-Proxy/" |
Перейти на вкладку "Синхронизация ролей и ФОС".
Заполнить параметры:
Название переменной |
Описание |
|---|---|
URL веб-сервиса * |
http://{host_osa}ufs-security/identity/GenericAccountManagement2 |
Пользователь |
Равен значению в OSE OSA spas.identity.basicAuthUser |
Пароль |
Равен значению в OSE OSA spas.identity.basicAuthPas |
Место сохранения ролей |
Роли можно сохранить в Realm или конкретному клиенту |
Имя клиента |
Установить имя существующего клиента |
Сохранить конфигурацию. Если при нажатии на кнопку "Проверить подключение" выводится сообщение об успешном прохождении тестов, то настройка успешно завершена.
Для выполнения синхронизации нажать "Выполнить".
Настройка планировщика#
Синхронизацию с ОСА можно выполнять по расписанию. Для этого необходимо задать периодичность запуска в поле "триггер".
<секунда (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 соединения необходимо задать одну из следующих комбинаций:
Сертификат (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-cert-file), ключ (spi-realm-restapi-extension-sync-spas-osa-key-file) и корневой сертификат (spi-realm-restapi-extension-sync-spas-osa-ca-cert)
Сконфигурированное 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 <пароль>
Необходимо добавить сертификат в доверенные по инструкции в Руководстве по установке -> Настройка сети -> Добавление сертификатов в доверенные.