Настроить фильтры Active Directory

Продукты
Все продукты

Правильная настройка фильтров Active Directory обеспечит необходимые параметры для синхронизации пользователей, групп и пользователей определенной группы.

Формат фильтров 

В общем случае фильтры Active Directory имеют следующий формат:

(<оператор><фильтр1><фильтр2>)

В котором <фильтр1> имеет вид:

(<атрибут><оператор><значение>)

Вы можете использовать необходимое количество операторов и фильтров при настройке фильтрации. Для создания и настройки фильтров используются следующие операторы:

= — Логическое равенство.

~= — Приблизительное равенство.

=> — Больше или равно.

<= — Меньше или равно.

& — “И”.

| — “Или”.

! — “Не”.

Значения представляют фактические значения атрибутов Active Directory. Они не чувствительны к регистру и не заключаются в кавычки. Кроме того, возможно использование символа подстановки “*”, например, для получения всех элементов в виде: (objectClass=*).

Каждое логическое выражение необходимо обрамлять скобками, чтобы фильтр работал корректно и на ОС Linux, и на ОС Windows.

(&(objectClass=group)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(|(cn=szgroup)(cn=CoreCC*)(cn=GroupCoreCC3)))
(&(objectClass=group)(!userAccountControl:1.2.840.113556.1.4.803:=2)(|(cn=szgroup)(cn=CoreCC*)(cn=GroupCoreCC3)))

Фильтрация пользователей 

Если в вашей компании используется служба каталогов Active Directory, то рекомендуем воспользоваться стандартным фильтром для синхронизации активных пользователей:

(&(objectClass=user)(objectClass=person)(!(objectClass=computer))(!(isDeleted=TRUE)))

В этой функции:

& — Оператор “И” для всех фильтров.

objectClass=user — Выбор в массиве всех элементов “user”.

objectClass=person — Выбор в массиве всех элементов “person”.

!(objectClass=computer) — Исключить все элементы “computer”.

!(isDeleted=TRUE) — Объекты не удалены.

Фильтрация групп 

Чтобы синхронизировать пользователей Active Directory с организационной структурой Creatio, необходимо настроить фильтрацию групп. Как и в случае с синхронизацией пользователей, воспользуйтесь стандартным фильтром для синхронизации групп всех активных пользователей:

(&(objectClass=group)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

В этой функции:

& — Оператор “И” для всех фильтров.

objectClass=group — Выбор в массиве всех элементов групп.

userAccountControl — Флаги контроля учетных записей, числовое обозначение.

:1.2.840.113556.1.4.803: — Побитовое “И” в формате LDAP.

2 — флаг “ACCOUNTDISABLE”.

Таким образом, фильтр (!(userAccountControl:1.2.840.113556.1.4.803:=2)) исключает отключенные (неактивные) аккаунты. Подробнее читайте на сайте поддержки Microsoft.

Стандартные фильтры пользователей группы Active Directory 

Кроме фильтрации пользователей и организационной структуры, дополнительно нужно получить список пользователей, которые входят в группу Active Directory и, соответственно, в LDAP. Стандартный фильтр, который находит весь список пользователей в группе, имеет вид:

(memberOf=[#LDAPGroupDN#])

В этой функции:

memberOf — стандартный атрибут объекта Active Directory, определяет имя группы, к которой принадлежит данный объект;

#LDAPGroupDN# — макрос Creatio для получения списка пользователей группы с уникальным именем (т.н. Distinguished Name).

Макросы не являются стандартом LDAP и используются только для формирования запроса на выборку объектов. В зависимости от настроек AD, можно использовать следующие параметры:

#LDAPGroupName# — название группы, указанной в поле Название группы LDAP в настройках интеграции с LDAP.

#LDAPGroupIdentity# — уникальный идентификатор группы, указанный в поле Идентификатор группы.

Настроить фильтры для синхронизации пользователей/групп 

В зависимости от потребностей, вы можете самостоятельно настроить фильтры для синхронизации пользователей и групп.

Пример. Необходимо различать сотрудников с одинаковыми ФИО после синхронизации с Active Directory.

Чтобы решить задачу, нужно дополнить фильтр синхронизации пользователей. При поиске объектов по умолчанию используется атрибут cn (Common Name). Он обязателен для корректной работы Creatio, так как связан с полем ФИО пользователя. В условия фильтрации можно также включить атрибут “displayName”, который будет отличаться для разных пользователей. То есть, необходимо синхронизировать пользователей с атрибутом “displayName”. Для этого:

  1. Откройте настройки синхронизации с LDAP.

  2. Перед стандартным фильтром списка пользователей добавьте условие “атрибут displayName заполнен”. Фильтр будет выглядеть следующим образом:

    (displayName=*)(&(objectClass=user)(objectClass=person)(!(objectClass=computer))(!(isDeleted=TRUE)))
  3. Добавьте булеву функцию «И» для одновременного выполнения условий фильтрации:

    (&(displayName=*)(&(objectClass=user)(objectClass=person)(!(objectClass=computer))(!(isDeleted=TRUE))))
  4. Замените стандартный фильтр в поле Список пользователей полученным фильтром.

  5. Сохраните настройки и запустите синхронизацию с LDAP.