LDAP-интеграция

Компонент позволяющий сделать запрос по протоколу LDAP. Используется для интеграции с AD.
 
Свойства:
| Название | Описание | 
|---|---|
| Протокол | LDAP (протокол соединения с Active Directory) | 
| Адреса серверов | Список адресов серверов службы каталогов. Можно задать несколько адресов через запятую. | 
| Домен пользователя | Домен к которому происходит подключение | 
| Имя пользователя | Пользователь под которым происходит подключение | 
| Пароль | Пароль пользователя | 
| Тайм-аут | Время подключения к серверу. В случае истечения времени сработает Переход, ошибка | 
| Действие | Подробно в Действия LDAP-интеграции | 
| Дополнительные поля | |
| Результат в переменную | Переменная, в которую будет сохранен результат применения запроса. | 
| Код ошибки в переменную | Переменная, в которую будет сохранен код ошибки | 
| Переход | Компонент, на который передается управление, если запрос в AD выполнен успешно. Переход по умолчанию. | 
| Переход, ошибка | Компонент, на который передается управление, если возникла ошибка при запросе к AD | 
| Описание | Описание компонента | 
| Права доступа к атрибутам, объектам и доменам определяются пользователем из-под которого работает текущий компонент | 
Действия LDAP-интеграции
Действие Авторизовать
Производит подключение и возвращает 1 или 0 в зависимости от успешности. Никаких дополнительных операций в AD не производит.
Дополнительных полей нет.
Действие Найти
Используется для поиска данных в LDAP и получение списка значений в результирующую переменную.
Используются дополнительные поля:
| Доп.поле | Описание | 
|---|---|
| DN | Название домена, в котором производится операция. Например, | 
| Охват | Выбор охвата для операции поиска. Возможные варианты: 
 | 
| Атрибуты | Атрибуты для поиска. Например, | 
| Строка поиска | Строка поиска в службе каталогов. Подробнее в Поиск LDAP. Например, | 
Поиск LDAP
При работе с LDAP возможно использовать строку поиска. Ниже приведены базовые принципы работы алгоритма фильтрации в LDAP протоколе.
| Функция | Описание | Пример | 
|---|---|---|
| present | существование атрибута с непустым значением | present("cn")
present("telephoneNumber")
present("ou") | 
| not | отрицание результата. Логическое НЕ (инверсия) | not(present("telephoneNumber")) | 
| and | Логическое И | not(present("telephoneNumber")) and present("cn") and present("mobile") | 
| greaterOrEqual | Больше или равно | greaterOrEqual("cn","b") | 
| lessOrEqual | Меньше или равно | lessOrEqual("sn","b") and greaterOrEqual("cn","a") | 
| equalityMatch | Приблизительно равно | equalityMatch("sn","Ivanov")
equalityMatch("instanceType","4") | 
| approxMatch | Жестко равно | approxMatch("sn","Ivanov") | 
| substrings | Поиск подстроки | substrings("sn","vano")
substrings(initial,"sn","Iva")
substrings(any,"sn","va","no")
substrings(any,"sn","I","v","a","n","o","v")
substrings(final,"sn","nov")
substrings(initial,"objectGUID",10) | 
Пример
Возврат всех атрибутов по пользователю
DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post
Охват: базовый объект
Атрибуты: *
Строка поиска: present("cn")
Пример
Возврат по всем объектам в указанном DN атрибутов cn, displayName, mobile
DN: CN=OU=City_A,OU=AD-TEST,DC=Siberia,DC=post
Охват: ветвь целиком
Атрибуты: cn, displayName, mobile
Строка поиска: present("cn")
Действие Создать
Осуществляет создание нового объекта в LDAP по указанному пути. Используются дополнительные поля:
| Доп.поле | Описание | 
|---|---|
| DN | Название объекта, которй необходимо создать. Например, | 
| Атрибуты | Атрибуты создания объекта в формате JSON. Например, | 
Пример
Создание нового объекта в указанном dn с выставленными атрибутами
DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post
Атрибуты:
 {
  "objectClass": ["top", "person", "organizationalPerson", "user"],
  "cn": ["User_A7 LastNameA7"],
  "sn": ["LastNameA7"],
  "mobile": ["545 555 00"]
 }
Действие Удалить
Удаление указанного объекта из LDAP Используются дополнительные поля:
| Доп.поле | Описание | 
|---|---|
| DN | Название объекта, который необходимо удалить. Например, | 
Пример
Удаление существующего объекта с указанным dn
DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post
Действие Изменить
Изменение существующего объекта в LDAP по указанному пути с новыми атрибутами. Используются дополнительные поля:
| Доп.поле | Описание | 
|---|---|
| DN | Название объекта, который необходимо изменить. Например, | 
| Атрибуты | Атрибуты изменения объекта в формате JSON. Например, | 
Пример
Изменение у существующего объекта с указанным dn атрибутов displayName и mobile
DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post
Атрибуты:
  {
    "displayName":"ASDF",
    "mobile": ["334 113 43"]
  }
Действие Изменить пароль
Изменение пароля объекта для авторизации в AD Используются дополнительные поля:
| Доп.поле | Описание | 
|---|---|
| DN | Ссылка на объект, у которого необходимо изменить пароль. Например, | 
| Новый пароль | Новый пароль. Если не указан, то пароль сгенерируется и вернется в качестве результата в переменную. | 
| Старый пароль | Старый пароль. Может не указываться. В этом случае сверки не происходит (пароль меняется безусловно на новый) | 
Пример
Безусловное изменение пароля у объекта
DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post Старый пароль: Новый пароль: 3486ghT56^8j
Действие Изменить DN
Перенос объекта между доменами Используются дополнительные поля:
| Доп.поле | Описание | 
|---|---|
| DN | Название объекта, который необходимо изменить. Например, | 
| Новый DN | Новое имя для объекта. Например, | 
| Родительский DN | Название домена, в котором будет располагаться объект. Например, | 
Пример
Изменение имени объекта без переноса в другой домен
DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post Новый DN: CN=User_A7test LastNameA7test Родительский DN: OU=City_B,OU=AD-TEST,DC=Siberia,DC=post