Настройка фильтрации пользователей Active Directory
Синхронизация с каталогом Active Directory (совместимая с LDAP служба каталогов Windows) может стать удобным инструментом для настройки и управления учетными записями пользователей bpm'online, которые также работают в домене Windows. А правильная настройка фильтров LDAP обеспечит необходимые параметры для синхронизации пользователей, групп и пользователей определенной группы.
Формат фильтров
В общем случае фильтры Active Directory имеют следующий формат:
(<оператор><фильтр1><фильтр2>)
На заметку
Вы можете использовать необходимое количество операторов и фильтров при настройке фильтрации.
Для создания и настройки фильтров вы можете использовать следующие операторы:
= — логическое равенство;
~= — приблизительное равенство;
<= — меньше или равно;
>= — больше или равно;
& — “И”;
| — “Или”;
! — “Не”.
Кроме того, возможно использование символа подстановки *, например, для получения всех элементов в виде:
(objectClass=*).
Фильтрация пользователей
Если в вашей компании используется служба каталогов Active Directory, то рекомендуем воспользоваться стандартным фильтром для синхронизации активных пользователей:
(&(objectClass=user)(objectClass=person)(!objectClass=computer)(!(isDeleted=TRUE)))
В этой функции:
& — оператор “И” для всех фильтров;
objectClass=user — выбор в массиве всех элементов “user”;
objectClass=person — выбор в массиве всех элементов “person”;
!objectClass=computer — исключить все элементы “computer”;
!(isDeleted=TRUE) — объекты не удалены.
Фильтрация групп
Чтобы синхронизировать пользователей Active Directory с организационной структурой bpm’online, необходимо настроить фильтрацию групп. Как и в случае с синхронизацией пользователей, воспользуйтесь стандартным фильтром для синхронизации групп всех активных пользователей:
(&(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#] — макрос bpm’online для получения списка пользователей группы с уникальным именем (т.н. Distinguished Name).
Макросы не являются стандартом LDAP и используются только для формирования запроса на выборку объектов. В зависимости от настроек AD, можно использовать следующие параметры:
[#LDAPGroupName#] — название группы, указанной в поле [Название группы LDAP] в настройках интеграции с LDAP;
[#LDAPGroupIdentity#] — уникальный идентификатор группы, указанный в поле [Идентификатор группы].
Пример настройки фильтрации
В зависимости от потребностей, вы можете самостоятельно настроить фильтры для синхронизации пользователей и групп.
Пример
Необходимо различать сотрудников с одинаковыми ФИО после синхронизации с Active Directory.
Чтобы решить задачу, нужно дополнить фильтр синхронизации пользователей. При поиске объектов по умолчанию используется атрибут CN (Common Name). Он обязателен для корректной работы bpm'online, так как связан с деталью [ФИО пользователя]. В условия фильтрации можно также включить атрибут “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.
Смотрите также