Административные ограничения LDAP
Служба каталогов предоставляет возможность задания ограничений на запросы к серверу LDAP для тонкой настройки взаимодействия с клиентами с учетом требований к производительности, надежности и безопасности.
Реализация ограничений
В службе каталогов ограничения на запросы к серверу LDAP реализуются в виде политик, представляющих собой объекты класса queryPolicy.
Данные объекты размещаются в контейнере CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=<domain>.
Каждая политика состоит из набора пар ограничение-значение, хранящегося в атрибуте lDAPAdminLimits объекта queryPolicy.
По умолчанию при развертывании службы каталогов создается и применяется политика Default Query Policy.
Поддерживаемые ограничения
Пакет inno-samba поддерживает обработку следующих ограничений для сервера LDAP:
-
InitRecvTimeout— максимальное время (в секундах), в течение которого контроллер домена ожидает от клиента первый запрос к серверу LDAP после создания нового входящего подключения (значение по умолчанию —120);Если при первом подключении клиент не присылает запрос в течение заданного промежутка времени, сервер LDAP разрывает соединение.
-
MaxConnIdleTime— максимальное время бездействия клиента (в секундах), по истечении которого сервер LDAP разрывает соединение с ним (значение по умолчанию —900);Если клиент не использует установленное ранее подключение дольше заданного промежутка времени, сервер LDAP возвращает нотификацию о разрыве соединения.
-
MaxPageSize— максимальное количество объектов, возвращаемых в ответ на один поисковый запрос к серверу LDAP (значение по умолчанию —1000);Если в результате поиска нашлось больше объектов, чем задано ограничением, возвращается только количество, удовлетворяющее ограничению, с кодом результата LDAP
4и сообщением "Size Limit Exceeded". В этом случае для получения полного набора объектов клиент должен использовать запросы с постраничным выводом результата (paged search).При использовании клиентом запросов с постраничным выводом ограничение задает максимальный размер одной страницы с результатами. Если клиент в параметрах запроса передает размер страницы, превышающий данное ограничение, при формировании ответа вместо переданного параметра используется значение ограничения.
-
MaxValRange— максимальное количество значений одного атрибута одного объекта, возвращаемое в ответ на запрос к серверу LDAP, независимо от того, сколько атрибутов объекта и сколько объектов найдено при обработке запроса (значение по умолчанию —1500);Данное ограничение применяется к атрибутам, которые могут иметь множество значений. Для получения полного списка значений атрибута при превышении заданного ограничения должен использоваться механизм инкрементального извлечения подмножеств значений путем задания диапазона (с помощью опции
range) в каждом отдельном запросе.Подмножество задается в следующем формате:
range=<low range>-<high range>
В подмножестве:
-
<low range>— индекс первого запрашиваемого атрибута, начиная с нуля; -
<high range>— отсчитываемый от нуля индекс последнего запрашиваемого значения атрибута; для указания всех оставшихся значений может использоваться специальный символ*.
Примеры задания подмножества значений атрибута:
Пример Возвращаемые значения range=0-*Сервер возвращает все значения атрибута в рамках заданного ограничения
MaxValRangerange=0-500Сервер возвращает значения атрибута с 1 по 501 включительно
range=2-3Сервер возвращает третье и четвертое значения атрибута
range=501-*Сервер возвращает 502-е значение и все последующие значения атрибута в рамках заданного ограничения
MaxValRange -
-
MaxNotificationPerConn— максимальный размер очереди запросов клиента в рамках одного подключения (значение по умолчанию —5);При достижении заданного предельного значения сервер возвращает ошибку в ответ на любой новый запрос, поступающий в рамках того же подключения.
-
MaxQueryDuration— максимальное время (в секундах) обработки контроллером домена одного поискового запроса (значение по умолчанию —120).Время считается с момента поступления запроса.
При достижении заданного предельного значения контроллер домена код результата LDAP
3с сообщением "Time Limit Exceeded".
Просмотр значений ограничений
Для просмотра значений, заданных для ограничений LDAP в рамках политики по умолчанию (Default Query Policy), используйте команду (см. подробнее
в разделе «Администрирование ограничений LDAP»):
samba-tool ldap policy show <all | ldap-limit-name>
Например:
-
просмотр значений всех ограничений:
/app/inno-samba/bin/samba-tool ldap policy show all
-
просмотр значения определенного ограничения:
/app/inno-samba/bin/samba-tool ldap policy show MaxValRange
Изменение значений ограничений
Для изменения значения ограничения LDAP, заданного в рамках политики по умолчанию (Default Query Policy), используйте команду (см. подробнее
в разделе «Администрирование ограничений LDAP»):
samba-tool ldap policy set <ldap-limit-name> <value>
Например:
/app/inno-samba/bin/samba-tool ldap policy set MaxValRange 1000