Примеры интеграции Intradesk с ADFS
Если вы настраиваете ADFS впервые, рекомендуем сначала обраться сначала к инструкции из Статьи №26031.
Если ADFS уже настроен, вы можете на примерах из этой статьи ознакомится с вариантами настройки ADFS и Intradesk для корректной интеграции этих двух систем. Ниже приведены 2 кейса с примерами настроек:
- Пример1 (настройка правил на основе значений "Oganization Unit" и "Group" из AD)
- Пример2 (настройка правил на основе значений "Department" из AD)
Пример №1
Настройка правил на основе значений "Oganization Unit" и "Group" из AD.
Предположим, что в организации есть два филиала: "Филиал1" и "Филиал2". В Active Directory (AD) они заведены как два Organization unit (OU). В Intradesk должно быть создано два Клиента с соответствующими Пользователями. В обоих филиалах также есть Сотрудники. Сотрудников от Пользователей клиентов можно отличить по принадлежности к группам. Сотрудники принадлежат хотя бы к одной из групп: "admins"или "engineers". Сотрудники, принадлежащие группе "admins", должны быть добавлены в группу "Менеджеры" в системе Intradesk.
Данные в AD
Филиал1 (OU)
- Начальникова Ирина (группы "admins","engineers")
- Мастерков Семен (группа ”engineers")
- Денежкина Мария
- Клиентович Андрей
- Минкин Андрей (группа "engineers")
- Федоров Максим
Ожидаемый результат (данные в Intradesk)
- Начальникова Ирина (группа Intradesk "Менеджеры")
- Мастерков Семен
- Минкин Андрей
- Денежкина Мария
- Клиентович Андрей
- Федоров Максим
Настройка интеграции
1. Создаем необходимые группы пользователей
2. Настраиваем интеграцию с ADFS
№ | 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"); |
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 |
4. Пробуем авторизоваться в системе и проверяем создание пользователя
Пример №2
Настройка правил на основе значений "Department" из AD.
Сотрудники из департамента "admins", должны быть добавлены в группу "Менеджеры" системы Intradesk.
Данные в AD
Моя_Компания (OU)
- Начальникова Ирина (департамент "admins")
- Мастерков Семен (департамент "IT")
- Минкин Андрей (департамент ”IT")
- Денежкина Мария (департамент "Филиал1")
- Клиентович Андрей (департамент "Филиал1")
- Федоров Максим (департамент "Филиал2")
- Непоняткин Вадим (департамент "...")
Ожидаемый результат (данные в Intradesk)
- Начальникова Ирина (группа Intradesk "Менеджеры")
- Мастерков Семен
- Минкин Андрей
- Денежкина Мария
- Клиентович Андрей
- Федоров Максим
- Непоняткин Вадим
Настройка интеграции
1. Создаем необходимые группы пользователей
2. Настраиваем интеграцию с 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 | Клиент | Клиенсткая | Другие |
Остальные правила настраиваем по аналогии, значения берем из таблицы выше. У нас должно получиться 5 правил:
4. Пробуем авторизоваться в системе и проверяем создание пользователя
*Если при авторизации у вас возникает ошибка "Пользователь не найден и не создан", то проверьте, включена ли у вас опция "Возможность самостоятельной регистрации клиентов на портале" в разделе "Настройки -> Клиентский портал". Если опция выключена, то включите ее.