IntraVision

Примеры интеграции Intradesk с ADFS

Если вы настраиваете ADFS впервые, рекомендуем сначала обраться сначала к инструкции из Статьи №26031

Если ADFS уже настроен, вы можете на примерах из этой статьи ознакомится с вариантами настройки ADFS и Intradesk для корректной интеграции этих двух систем. Ниже приведены 2 кейса с примерами настроек:


Пример №1
Настройка правил на основе значений "Oganization Unit" и "Group" из AD.

Предположим, что в организации есть два филиала: "Филиал1" и "Филиал2". В Active Directory (AD) они заведены как два Organization unit (OU). В Intradesk должно быть создано два Клиента с соответствующими Пользователями. В обоих филиалах также есть Сотрудники. Сотрудников от Пользователей клиентов можно отличить по принадлежности к группам. Сотрудники принадлежат хотя бы к одной из групп: "admins"или "engineers". Сотрудники, принадлежащие группе "admins", должны быть добавлены в группу "Менеджеры" в системе Intradesk.


Данные в AD

Филиал1 (OU)

  • Начальникова Ирина (группы "admins","engineers")
  • Мастерков Семен (группа ”engineers")
  • Денежкина Мария
  • Клиентович Андрей
Филиал2 (OU)
  • Минкин Андрей (группа "engineers")
  • Федоров Максим 


Ожидаемый результат (данные в Intradesk)

Сотрудники:
  • Начальникова Ирина (группа Intradesk "Менеджеры")
  • Мастерков Семен
  • Минкин Андрей
Клиенты "Филиал1":
  • Денежкина Мария
  • Клиентович Андрей
Клиенты "Филиал2":
  • Федоров Максим


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

1. Создаем необходимые группы пользователей
В разделе "Клиенты" создаём 2 юр. лица: "Филиал1" и "Филиал2":
 
 
В разделе "Сотрудники -> Группы" создаём группу "Менеджеры":
 
 


2. Настраиваем интеграцию с ADFS
В разделе "Настройки -> Интеграции -> OIDC-аутентификация" создаем и настраиваем интеграцию с ADFS. Подробно такая настройка описана в Статье №26031.
На данном шаге нам нужно настроить корректную передачу значений "Organization unit" и "Group" из AD в Intradesk. Для этого необходимо выполнить следующие настройки:
В ADFS открываем настроенную "Application Group", кликаем на запись Web-API и нажимаем "Edit":
 
 
Открываем вкладку "Issuance Transform Rules" и нажимаем "Add Rule":
 
 
Выбираем шаблон "Send Claims Using a Custom Rule" и нажимаем "Next":
 
 
Откроется форма для создания правила с полями "Claim rule name" и "Custom rule". Нам потребуется создать 6 таких правил. Для удобства значения "Claim rule name" и "Custom rule" для каждого из правил вынесены в табличку ниже:
Claim rule name Custom rule
1 adfsclaim:/temp/dn c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
 => add(store = "Active Directory", types = ("adfsclaim:/temp/dn"), query = ";distinguishedName;{0}", param = c.Value);
2 adfsclaim:/temp/member c1:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
 && c2:[Type == "adfsclaim:/temp/dn"]
 => add(store = "Active Directory", types = ("adfsclaim:/temp/member"), query = "(member:1.2.840.113556.1.4.1941:={1});distinguishedName;{0}", param = c1.Value, param = c2.Value);
3 adfsclaim:/usergroup c:[Type == "adfsclaim:/temp/member", Value =~ "(CN=dmins)"]
 => issue(Type = "adfsclaim:/usergroup", Value = "admins");
4 adfsclaim:/usergroup c:[Type == "adfsclaim:/temp/member", Value =~ "(CN=engineers)"]
 => issue(Type = "adfsclaim:/usergroup", Value = "engineers");
5 adfsclaim:/ou c:[Type == "adfsclaim:/temp/dn", Value =~ "(OU=Филиал1)"]
 => issue(Type = "adfsclaim:/ou", Value = "Филиал1");
6 adfsclaim:/ou c:[Type == "adfsclaim:/temp/dn", Value =~ "(OU=Филиал2)"]
 => issue(Type = "adfsclaim:/ou", Value = "Филиал2");

Т. е. первое правило заполняем так:
 
 
После заполнения кликаем на "ОК". Остальные правила создаем и заполняем по аналогии.
Когда все правила будут добавлены, необходимо проверить, что они расположены в правильном порядке. Для сортировки можно использовать стрелки вверх/вниз. После этого нажимаем "Apply"
 
 
На этом настройки правил в ADFS закончены.


3. Настраиваем правила создания пользователей в Intradesk
В разделе "Настройки -> Правила поведения -> Правила создания пользователей" создаем несколько правил. Их параметры для удобства вынесены в таблицу ниже:
Описание Параметры Результат
Провайдер Клайм (поле) Клайм (значение) Создавать Роль Группы
1 Правило для создания сотрудников из группы "admins" ADFS adfsclaim:/usergroup admins Сотрудник Администратор Менеджеры
2 Правило для создания сотрудников из группы "engineers" ADFS adfsclaim:/usergroup engineers Сотрудник Исполнительская  
3 Правило для создания клиентов "Филиал1" ADFS adfsclaim:/ou Филиал1 Клиент Клиенсткая Филиал1
4 Правило для создания клиентов "Филиал2" ADFS adfsclaim:/ou Филиал2 Клиент Клиенсткая Филиал2

Т. е. первое правило заполняем так:
 
 

*В поле "Провайдер аутентификации" выбираем настройку, созданную ранее в разделе "Настройки -> Интеграции -> OIDC аутентификация".
Остальные правила настраиваем по аналогии, значения берем из таблицы выше. У нас должно получиться 4 правила:
 
 


4. Пробуем авторизоваться в системе и проверяем создание пользователя
Теперь проверим создание пользователя после авторизации в системе. Для примера возьмем "Денежкину Марию". Если мы вернемся к началу статьи, то вспомним, что в AD этот пользователь состоит в OU "Филиал1", и после авторизации в Intradesk мы ожидаем создание Пользователя клиента в "Филиал1".
Проверим наши ожидания. Открываем площадку, при авторизации в блоке "Войти с помощью" выбираем нашу настройку ADFS:
 
 
В открывшейся форме вводим доменное имя пользователя и пароль:
 
 
Попадаем в систему. 
Далее выходим и авторизуемся под администратором. В разделе "Клиенты > Пользователи клиентов" находим "Денежкину Марию". Проверяем, что все данные заполнились верно, и что пользователю назначился клиент "Филиал1":
 
 
Готово!

*Если при авторизации у вас возникает ошибка "Пользователь не найден и не создан", то проверьте, включена ли у вас опция "Возможность самостоятельной регистрации клиентов на портале" в разделе "Настройки -> Клиентский портал". Если опция выключена, то включите ее.

Пример №2
Настройка правил на основе значений "Department" из AD.

В организации для организационной структуры используется поле "Департамент". Если у пользователя указан департамент "IT" или "admins" - то это сотрудник. Иначе клиент.
Сотрудники из департамента "admins", должны быть добавлены в группу "Менеджеры" системы Intradesk.
Пользователи из департаментов "Филиал1" и "Филиал2" должны быть привязаны к соответствующим клиентам в Intradesk. Все остальные пользователи с другими названиями департаментов должны быть привязаны к клиенту "Другие".


Данные в AD

Моя_Компания (OU)

  • Начальникова Ирина (департамент "admins")
  • Мастерков Семен (департамент "IT")
  • Минкин Андрей (департамент ”IT")
  • Денежкина Мария (департамент "Филиал1")
  • Клиентович Андрей  (департамент "Филиал1")
  • Федоров Максим (департамент "Филиал2")
  • Непоняткин Вадим (департамент "...")


Ожидаемый результат (данные в Intradesk)

Сотрудники:
  • Начальникова Ирина (группа Intradesk "Менеджеры")
  • Мастерков Семен
  • Минкин Андрей
Клиенты "Филиал1":
  • Денежкина Мария
  • Клиентович Андрей
Клиенты "Филиал2":
  • Федоров Максим
Клиенты "Другие":
  • Непоняткин Вадим

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

1. Создаем необходимые группы пользователей
В разделе "Клиенты" создаём 3 юр. лица: "Филиал1", "Филиал2" и "Другие":
 
 

В разделе "Сотрудники -> Группы" создаём группу "Менеджеры":
 
 

2. Настраиваем интеграцию с ADFS
В разделе "Настройки -> Интеграции -> OIDC-аутентификация" создаем и настраиваем интеграцию с ADFS. Подробно такая настройка описана в Статье №26031.
На данном шаге нам нужно настроить корректную передачу значения "Department" из AD в Intradesk. Для этого необходимо выполнить следующие настройки:
В ADFS открываем настроенную "Application Group", кликаем на запись Web-API и нажимаем "Edit":
 
 
Открываем вкладку "Issuance Transform Rules" и дважды кликаем на правило (которое настраивали на ш.26 инструкции из Статьи №26031):
 
 
В открывшемся правиле в левом столбце выбираем значение "Department", а в правом столбце вводим текстом значение "Department". Кликаем на "ОК":
 
 
На вкладке с правилами еще раз кликаем "ОК".
На этом настройки правил в ADFS закончены.

3. Настраиваем правила создания пользователей в Intradesk
В разделе "Настройки -> Правила поведения -> Правила создания пользователей" создаем несколько правил. Их параметры для удобства вынесены в таблицу ниже:
Описание Параметры Результат
Провайдер Клайм (поле) Клайм (значение) Создавать Роль Группы
1 Правило для создания сотрудников из деп-та "admins" ADFS department admins Сотрудник Администратор Менеджеры
2 Правило для создания сотрудников из деп-та  "IT" ADFS department IT Сотрудник Исполнительская  
3 Правило для создания клиентов из деп-та "Филиал1" ADFS department Филиал1 Клиент Клиенсткая Филиал1
4 Правило для создания клиентов из деп-та "Филиал2" ADFS department Филиал2 Клиент Клиенсткая Филиал2
5 Правило для создания клиентов из других деп-тов ADFS     Клиент Клиенсткая Другие
 
 
Т. е. первое правило заполняем так:
 
 
*В поле "Провайдер аутентификации" выбираем настройку, созданную ранее в разделе "Настройки -> Интеграции -> OIDC аутентификация".
Остальные правила настраиваем по аналогии, значения берем из таблицы выше. У нас должно получиться 5 правил:
 
 

4. Пробуем авторизоваться в системе и проверяем создание пользователя
Теперь проверим создание пользователя после авторизации в системе. Для примера возьмем "Начальникову Ирину". Если мы вернемся к началу, то вспомним, что в AD этот пользователь состоит в департаменте "admins", и после авторизации в Intradesk мы ожидаем создание сотрудника в группе "Менеджеры".
Проверим наши ожидания. Открываем площадку, при авторизации в блоке "Войти с помощью" выбираем нашу настройку ADFS:
 
 
В открывшейся форме вводим доменное имя пользователя и пароль:
 
 
Попадаем в систему. В разделе "Сотрудники" находим "Начальникову Ирину". Проверяем, что все данные заполнились верно, и что пользователю назначилась группа "Менеджеры":
 
 
Готово!

*Если при авторизации у вас возникает ошибка "Пользователь не найден и не создан", то проверьте, включена ли у вас опция "Возможность самостоятельной регистрации клиентов на портале" в разделе "Настройки -> Клиентский портал". Если опция выключена, то включите ее.
синхронизация с AD