slapo-chain - наложение slapd сцепления (следования по отсылкам)
/usr/local/etc/openldap/slapd.conf
Наложение slapd(8) chain позволяет автоматически разрешать отсылки. Всякий раз при возвращении отсылки (за исключением операций подсоединения Bind) осуществляется переход по ней за счёт использования экземпляра механизма манипуляции данными ldap. Если операция выполняется с идентификационной сущностью (то есть после выполнения подсоединения Bind), то при разрешении отсылок такая идентификационная сущность может быть ассоциирована с помощью функции утверждения идентификационной сущности (identity assertion) механизма back-ldap (смотрите slapd-ldap(5)), которая главным образом основывается на элементе управления proxied authorization [RFC 4370]. Разрешение отсылок может управляться клиентом путём установки элемента управления chaining (подробнее смотрите в draft-sermersheim-ldap-chaining).
Во избежание потенциальных конфликтов с директивами базы данных, к которой применяется это наложение, либо с другими наложениями, применяемыми к той же базе данных, директивы конфигурации, специфичные для наложения chain имеют префикс chain-.
Директив, специфичных для наложения сцепления, очень мало; однако, директивы, относящиеся к экземплярам механизма манипуляции данными ldap, который может быть неявно вызван этим наложением, могут принимать особое значение при использовании в сочетании с этим наложением. Такие директивы описаны в slapd-ldap(5), и у них тоже должен быть префикс chain-.
Примечание: данное наложение встроено в механизм манипуляции данными ldap; оно не является отдельным модулем.
Эта директива добавляет наложение chain к текущей базе данных. Данное наложение может применяться с любым механизмом манипуляции данными, но главным образом оно предназначено для использования механизмами локального хранилища, которые могут возвращать отсылки. Бесполезно применять его в сочетании с механизмами slapd-ldap и slapd-meta, поскольку в них уже используется специфичная функция перехода по отсылкам библиотеки libldap. [Примечание: в будущем это может измениться, так как механизмы ldap(5) и meta(5) могут перестать самостоятельно поддерживать разрешение отсылок].
Эта директива указывает, должно ли наложение chain кэшировать соединения с URI, полученными из отсылок, не являющихся предопределенными, для повторного использования этих данных при дальнейших сцеплениях. При обработке таких URI используются параметры, сконфигурированные для лежащего в основе механизма slapd-ldap(5), которые были указаны до первого появления директивы chain-uri; в основном, эти URI разрешаются анонимно.
Данная директива делает возможным использование элемента управления chaining (смотрите draft-sermersheim-ldap-chaining) с требуемыми настройками поведения при разрешении (resolve) и продолжении операций (continuation), а также с указанием критичности элемента управления. Параметр resolve настраивает поведение при обнаружении ресурса, а именно при доступе к объекту, указанному в DN запроса. Параметр continuation настраивает поведение при обработке промежуточных ответов, имеющих значение в основном для операций поиска Search, но может также влиять на расширенные операции Extended, которые возвращают промежуточные ответы. В качестве значений r и c могут быть указаны chainingPreferred, chainingRequired, referralsPreferred, referralsRequired. Флаг critical, если он установлен, задаёт критичность элемента управления. [Данный элемент управления является экспериментальным и в будущем его поддержка может быть изменена].
Если при разрешении отсылки была вновь возвращена отсылка, дальнейшее разрешение выполняется на глубину не более <n> уровней. Если указан 1 уровень (по умолчанию), дальнейшее разрешение отсылок не производится.
Если разрешение отсылки завершается неудачей, вместо исходной отсылки возвращается реальное сообщение о произошедшей ошибке. В случае наличия нескольких URI, возвращается только первая возникшая ошибка. Такое поведение может быть не всегда уместным или желательным, поскольку в некоторых ситуациях обработку неудачного разрешение отсылок лучше возложить на клиента (например, если сбой происходит из-за проблем аутентификации на удалённом сервере).
Данная директива создаёт новый экземпляр лежащей в основе наложения chain базы данных данных ldap и сообщает ей о том, с каким URI следует связываться при разрешении отсылок. Несмотря на то, что в man-странице slapd-ldap(5) сказано иное, в этой директиве может присутствовать только один URI. Все последующие директивы настройки механизма slapd-ldap(5) с префиксом chain- будут относиться к данному экземпляру удалённого сервера.
Директивы настройки лежащей в основе базы данных ldap также могут понадобиться, например:
overlay chain chain-rebind-as-user FALSE chain-uri "ldap://ldap1.example.com" chain-rebind-as-user TRUE chain-idassert-bind bindmethod="simple" binddn="cn=Auth,dc=example,dc=com" credentials="secret" mode="self" chain-uri "ldap://ldap2.example.com" chain-idassert-bind bindmethod="simple" binddn="cn=Auth,dc=example,dc=com" credentials="secret" mode="none"
Можно использовать любые корректные директивы настройки базы данных механизма ldap; подробнее смотрите в slapd-ldap(5). Может быть указано несколько директив chain-uri для определения нескольких "доверенных" URI, сцепление по которым будет выполняться с утверждением идентификационной сущности. Сцепление по всем URI, не перечисленным в конфигурации, выполняется анонимно. Все директивы механизма slapd-ldap(5), присутствующие до первого указания директивы chain-uri, наследуются всеми URI, но они могут быть переопределены в настройках конкретного URI.
конфигурационный файл slapd по умолчанию.
slapd.conf(5), slapd-config(5), slapd-ldap(5), slapd(8).
Первоначально реализовано Howard Chu; расширено Pierangelo Masarati.
OpenLDAP 2.4.47 | SLAPO-CHAIN(5) | 2018/12/19 |