Перейти к основному содержимому
Версия: Indeed Access Manager 9.4

LDAP-фильтр при поиске пользователей и групп в службе каталогов

Если при поиске пользователей и групп нужно исключить дублирующие учетные записи или нужно обращаться только к части каталога пользователей, а не ко всему каталогу, настройте LDAP-фильтр:

  1. На сервере с модулем Core Server откройте файл конфигурации сервера am/core/app-settings.json.
  2. Найдите секцию UserCatalog и в параметре Providers для Ldap задайте атрибуты CatalogFilter и DnFilter для фильтрации элементов пользовательского каталога:
    • CatalogFilter — строка LDAP-запроса для фильтрации элементов на этапе выполнения запроса к каталогу пользователей. Не поддерживает фильтрацию по частичному совпадению атрибутов distinguishedName и canonicalName (для этих целей добавлен dnFilter).
    • DnFilter (фильтр distinguishedName) — регулярное выражение для фильтрации результатов после выполнения LDAP-запроса к каталогу пользователей.

Дополнительная настройка для FreeIPA

Если вы используете каталог FreeIPA, вы можете скрыть системные каталоги (контейнеры) при поиске пользователей в Management Console:

  1. На сервере с модулем Core Server откройте файл конфигурации сервера am/core/app-settings.json.

  2. Найдите секцию UserCatalog и в параметре Providers для Ldap добавьте атрибут CatalogFilter.

    Возможные значения для CatalogFilter:

    • "|(objectClass=person)(objectClass=ipausergroup)" — значение, при котором в качестве объектов службы каталогов при поиске пользователей отображаются только пользователи и группы.
    • "|(objectClass=person)(objectClass=ipausergroup)(entrydn=cn=users,cn=accounts,*)" — значение, при котором добавляется корневой каталог.

Дополнительная настройка для ALD Pro

Если вы используете каталог ALD Pro, вы можете скрыть системные каталоги (контейнеры) при поиске пользователей в Management Console:

  1. На сервере с модулем Core Server откройте файл конфигурации сервера am/core/app-settings.json.

  2. Найдите секцию UserCatalog и в параметре Providers для Ldap добавьте атрибут CatalogFilter.

  3. Для CatalogFilter укажите следующее значение, при котором в качестве объектов службы каталогов при поиске пользователей отображаются все подразделения и пользователи, а системные контейнеры исключаются.

    "|(objectClass=person)(objectClass=ipausergroup)(entrydn=cn=users,*)(entrydn=cn=orgunits,*)(entrydn=*,cn=orgunits,*)"

    При необходимости задать поиск по конкретным подразделениям, укажите имена этих подразделений вместо *.

    Пример для подразделения NAME_OU
    "|(objectClass=person)(objectClass=ipausergroup)(entrydn=cn=users,*)(entrydn=cn=orgunits,*)(entrydn=NAME_OU,cn=orgunits,*)"

Примеры использования фильтров для Active Directory, Samba DC, РЕД АДМ

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$))