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

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

Компонент позволяющий сделать запрос по протоколу LDAP. Используется для интеграции с AD.

ldapEdit
Рис. 1. LDAP-интеграция

Свойства:

Название Описание

Протокол

LDAP (протокол соединения с Active Directory)

Адреса серверов

Список адресов серверов службы каталогов. Можно задать несколько адресов через запятую.

Домен пользователя

Домен к которому происходит подключение

Имя пользователя

Пользователь под которым происходит подключение

Пароль

Пароль пользователя

Тайм-аут

Время подключения к серверу.  В случае истечения времени сработает Переход, ошибка

Действие

Подробно в Действия LDAP-интеграции

Дополнительные поля

Результат в переменную

Переменная, в которую будет сохранен результат применения запроса.

Код ошибки в переменную

Переменная, в которую будет сохранен код ошибки

Переход

Компонент, на который передается управление, если запрос в AD выполнен успешно. Переход по умолчанию.

Переход, ошибка

Компонент, на который передается управление, если возникла ошибка при запросе к AD

Описание

Описание компонента

Права доступа к атрибутам, объектам и доменам определяются пользователем из-под которого работает текущий компонент

Действия LDAP-интеграции

Действие Авторизовать

Производит подключение и возвращает 1 или 0 в зависимости от успешности. Никаких дополнительных операций в AD не производит.

Дополнительных полей нет.

Действие Найти

Используется для поиска данных в LDAP и получение списка значений в результирующую переменную.

Используются дополнительные поля:

Доп.поле Описание

DN

Название домена, в котором производится операция. Например,
ou=AD-TEST,dc=Siberia,dc=ttt

Охват

Выбор охвата для операции поиска. Возможные варианты:

  • Базовый объект – Только внутри объекта.

  • Только уровень – По указанному уровню списка, то есть без рекурсии.

  • Ветвь целиком – По всему дочернему дереву.

Атрибуты

Атрибуты для поиска. Например,
objectGUID,cn,telephoneNumber,mobile

Строка поиска

Строка поиска в службе каталогов. Подробнее в Поиск LDAP. Например,
present("cn") and present("telephoneNumber") and present("objectGUID") and substrings("mobile",5551234)

Возвращаемое значение objectGUID в переменную сценария будет представлено в HEX-формате

Поиск 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

Название объекта, которй необходимо создать. Например,
cn=User,ou=AD-TEST,dc=Siberia,dc=ttt

Атрибуты

Атрибуты создания объекта в формате JSON. Например,
{"mobile": ["111 11 11"]}

Пример
Создание нового объекта в указанном 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

Название объекта, который необходимо удалить. Например,
cn=User,ou=AD-TEST,dc=Siberia,dc=ttt

Пример
Удаление существующего объекта с указанным dn

DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post

Действие Изменить

Изменение существующего объекта в LDAP по указанному пути с новыми атрибутами. Используются дополнительные поля:

Доп.поле Описание

DN

Название объекта, который необходимо изменить. Например,
cn=User4,ou=AD-TEST,dc=Siberia,dc=ttt

Атрибуты

Атрибуты изменения объекта в формате JSON. Например,
{"mobile": ["111 11 11"]}

Пример
Изменение у существующего объекта с указанным 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

Ссылка на объект, у которого необходимо изменить пароль. Например,
cn=User7,ou=AD-TEST,dc=Siberia,dc=ttt

Новый пароль

Новый пароль. Если не указан, то пароль сгенерируется и вернется в качестве результата в переменную.

Старый пароль

Старый пароль. Может не указываться. В этом случае сверки не происходит (пароль меняется безусловно на новый)

Пример
Безусловное изменение пароля у объекта

DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post
Старый пароль:
Новый пароль: 3486ghT56^8j

Действие Изменить DN

Перенос объекта между доменами Используются дополнительные поля:

Доп.поле Описание

DN

Название объекта, который необходимо изменить. Например,
cn=User7,ou=AD-TEST,dc=Siberia,dc=ttt

Новый DN

Новое имя для объекта. Например,
`cn=User8'

Родительский DN

Название домена, в котором будет располагаться объект. Например,
ou=CITY,dc=NorthWest,dc=ttt

Пример
Изменение имени объекта без переноса в другой домен

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