LDAP-фильтр при поиске пользователей и групп в Active Directory
Если при поиске пользователей и групп нужно исключить дублирующие учетные записи Active Directory (AD) или нужно обращаться только к части каталога пользователей, а не ко всему каталогу, то можно настроить LDAP-фильтр.
Для этого нужно:
- На сервере Indeed AM открыть файл конфигурации сервера C:\inetpub\wwwroot\am\core\Web.config.
- Найти секцию adUserCatalogProvider и задать в ней
атрибуты catalogFilter и dnFilter для фильтрации элементов
пользовательского каталога:
- catalogFilter — строка LDAP-запрос для фильтрации элементов на этапе выполнения запроса к AD. Не поддерживает фильтрацию по частичному совпадению атрибутов distinguishedName и canonicalName (для этих целей добавлен dnFilter);
- dnFilter (фильтр distinguishedName) — регулярное выражение для фильтрации результатов после выполнения LDAP-запроса к AD.
Примеры использования фильтров
catalogFilter
- исключение определенных пользователей
&(!(name=AmUser1))(!(name=AmUser2)(!(name=AmUser3)))
- исключение всех дочерних элементов первого уровня указанной OU
!(msDS-parentdistname=OU=AmOrgUnit,OU=AmUserCatalog,DC=dom,DC=local)
- исключение всех членов группы
!(memberOf=CN=AmGroup,OU=AmUserCatalog,DC=dom,DC=local)
dnFilter
исключение OU и всех дочерних элементов
(?!^.*OU=MyOULevel1,OU=AmUserCatalog,DC=dom,DC=local$)(^.*$)
использование только указанной OU
(^.*OU=MyOULevel1,OU=AmUserCatalog,DC=dom,DC=local$)
комбинированный фильтр — использование только указанной OU без определенных дочерних элементов
(?!.*OU=MyOULevel2-1,OU=MyOULevel1,OU=AmUserCatalog,DC=dom,DC=local$)(^.*OU=MyOULevel1,OU=AmUserCatalog,DC=dom,DC=local$)
конструкция с фильтрацией нескольких OU через оператор
|
(или) - любое количество условий может быть соблюдено, использование полныхdistinguishedName
указанной OU((^.*OU=Indeed3,OU=IndeedUnit,DC=indeed,DC=local$)|(^.*OU=Indeed4,OU=IndeedUnit,DC=indeed,DC=local$))