Интеграция с Active Directory
Last updated
Last updated
Интеграция со службой Active Directory (далее - AD) осуществляется так:
1. Front Сервис Оркестратора регистрируется в AD и DNS. См. документ «Руководство по установке и настройке AD для SSO.docx», который входит в комплект поставки. 2. В зависимости от ОС и варианта развертывания:
Для Windows 2016 Server и варианта развертывания WebApi и Front работают под IIS сервер с IIS может быть включен в AD. Тогда в IIS для узла Primo.WebApi должна быть разрешена аутентификация Windows, а пул приложений этого узла должен работать под доменной SPN учетной записью, полученной при регистрации сервиса в AD:
Для ОС Linux, или варианта развертывания для Windows 2016 Server WebApi – служба Windows, Front – nginx, или если сервер с IIS не включен в AD – только на основе keytab-файла.
3. В конфигурационном файле WebApi в секции ActiveDirectory нужно прописать настройки для каждого AD, чтобы в UI Оркестратора роль Оркестратора могла быть ассоциирована с группой AD:
Для AD-групп в параметре GroupsFilter может быть произведена более точная фильтрация, например, по названиям групп:
Путем явного перечисления через ИЛИ:
(&(ObjectClass=group)(|(cn=primo)(cn=another)))
С использованием регулярного выражения:
(&(ObjectClass=group)(cn=prim*))
Если фильтрация не используется, может возникнуть ошибка при запросе слишком большого количества групп.
Если не используется одновременно несколько AD, лишний AD должен быть удален.
Наименование AD в конфигурационном файле WebApi рекомендуется выбирать в соответствии со значениями DC в параметре StartPoint, например, для primo1.orch - DC=primo1
, DC=orch
.
В таблице ниже приведено описание параметров для настройки AD, которые администратор может изменять в конфигурационном файле.
Type
Настройка формы авторизации. Возможные значения 1 (авторизация только в Оркестраторе) и 5 (авторизация в Оркестраторе или SSO)
primo1.orch, primo2.orch и т.д.
Точные названия AD, без сокращения, со всеми поддоменами. Должны быть заменены
Рекомендуется использовать префиксы наименований, чтобы отфильтровать в GroupsFilter
Host
Адрес AD
UseSsl
Используется LDAPS
AcceptUntrustedCertificate
При использовании LDAPS опеределяет допустимость невалидного SSL-сертификата
AdminUserName
Имя учетной записи, имеющей права на просмотр каталога AD
AdminPassword
Зашифрованный пароль
См. раздел «Атрибуты безопасности» в документе «Развертывание Primo RPA 1.23.6 - Руководство администратора» (входит в комплект поставки)
StartPoint
Уровень, с которого просматривается каталог. Параметры DC должны соответствовать названию AD. Параметр CN не меняется
TrustedDomains
Массив доменов (в нижнем регистре), из которых пользователь может авторизоваться в домене (при настроенных доверительных отношениях между доменами), в котором зарегистрирован сервис Оркестратора
Рабочие станции, на которых запускается UI Оркестратора, должны быть включены в AD.
Если возникают проблемы при настройке SSO, требуется пошагово проверить настройку.
Проверка, что группа AD пользователя, который авторизуется в Оркестраторе по SSO, привязана к роли Оркестратора в БД: <имя роли> - имя роли Оркестратора, к которой должна быть привязана группа AD <имя группы>.
Шаг 1: На рабочей станции, включенной в AD (через cmd):
Среди групп должна быть (определяется по SID) группа AD, которая привязана к роли Оркестратора в БД (см. шаг 3).
Шаг 2: На сервере контроллера AD (через PowerShell):
SID группы AD должен быть привязан к роли Оркестратора в БД (см. шаг 3) и должен содержаться среди SID на шаге 1.
Шаг 3: В БД ltoolsidentity:
Запрос вернет привязку по SID к <имя роли> групп AD.
Поле RoleAds.Ad в БД ltoolsidentity, название AD в конфиге WebApi (секция ActiveDirectory:MultyForest) и название AD, которое приходит из AD при авторизации, должны совпадать. Если они отличаются, необходимо привести их в соответствие и перезапустить службу Primo.Orchestrator.WebApi.
Шаг 4 (не обязательный): Выполняется после того, как интеграция с AD настроена. При помощи запроса в PowerShell получаем из AD все группы, предназначенные для использования в Оркестраторе:
Например, используя префикс prim (может использоваться другая фильтрация).
Копируем полученный результат в SQL-запрос к БД ltoolsidentity:
Здесь вместо s1.primo1.orch нужно подставить название своего домена.
По результату запроса видно, что AD-группа primo3 относится к тенанту BUCH. Это значит, что Оркестратор не даст привязать AD-группу primo3 к роли другого тенанта, так как AD-группа может быть привязана только к ролям одного тенанта.
Если привязка правильная, имеет смысл переименовать AD-группу primo3 в primo3-BUCH, чтобы в UI Оркестратора была видна принадлежность AD-группы к тенанту (через роль).
Если привязка неправильная, и AD-группа primo3 должна использоваться в другом тенанте, сначала нужно отвязать её от ролей тенанта BUCH.