slapo-constraint - наложение slapd установки ограничений на значения атрибутов
ОБЗОР
/usr/local/etc/openldap/slapd.conf
ОПИСАНИЕ
Наложение constraint используется для того, чтобы гарантировать, что значения атрибутов, кроме базового
синтаксиса LDAP, соответствуют некоторым ограничениям. У каждого атрибута может быть несколько
ограничений, и при модификации значения атрибута с ограничениями все они должны быть соблюдены.
Это наложение предназначено для обеспечения синтаксической правильности некоторых строк, представляющих
собой данные, имеющие хорошо известные канонические формы, например, номера телефонов,
почтовые индексы, FQDN и им подобные.
Ограничения применяются только при выполнении LDAP-операций add, modify и rename,
кроме того, в запросах modify и rename
они применяются только к значениям в типах изменений add и replace.
При выполнении операций с установленным элементом управления
relax
никаких ограничений не применяется.
КОНФИГУРАЦИЯ
Приводимые ниже параметры
slapd.conf
применяются к наложению constraint. Они должны указываться после директивы
overlay.
Определяет ограничение, которое будет применяться к атрибутам, разделённый запятыми список которых
указан в качестве первого аргумента. В настоящее время поддерживаются типы ограничений regex
(регулярное выражение), size, сount, uri и set.
Аргумент, следующий за типом
regex,
представляет собой регулярное выражение в Unix-стиле (смотрите
regex(7)).
Аргумент, следующий за типом
uri,
представляет собой LDAP URI. Этот URI будет оцениваться путём выполнения внутреннего поиска в каталоге.
В нём не должно быть имени хоста, и он должен включать список атрибутов,
по которым будет производиться оценка.
Аргумент, следующий за типом
set,
представляет собой строку, которая интерпретируется в соответствии с синтаксисом, используемым при
конструировании наборов в ACL. Это позволяет составлять ограничения на основании содержимого записи.
Тип
size
может использоваться для установки ограничения на размер значения атрибута, а тип
count
- для ограничения количества значений атрибута в записи.
После описанных выше аргументов могут в произвольном порядке присутствовать дополнительные аргументы.
<дополнительный_аргумент> : restrict=<uri>
Данный дополнительный аргумент позволяет ограничить область применения описываемого ограничения
только записями, соответствующими критериям поиска, задаваемым параметрами LDAP URI
base,
scope
и
filter.
При наличии параметра
base,
он должен входить в контекст именования базы данных, к которой применяется ограничение.
Параметр
scope
используется только при наличии параметра
base;
значение по умолчанию -
base.
Остальные параметры URI задавать нельзя.
Любые попытки добавить или модифицировать значение атрибута, указанного в спецификации наложения
constraint, будут завершаться неудачей с ошибкой LDAP_CONSTRAINT_VIOLATION, если это значение не
удовлетворяет заданным ограничениям.
При такой настройке любые значения атрибута
mail,
не соответствующие виду
<буквенно-цифровая строка>@mydomain.com,
будут отклонены. Также будут отклонены любые атрибуты
title,
значения которых не перечислены в атрибуте
title
какой-либо записи с объектным классом
titleCatalog
в заданном диапазоне. (Обратите внимание, что поддерево "dc=catalog,dc=example,dc=com" должно
находиться в отдельной базе данных, в противном случае из-за настроенных ограничений невозможно
будет заполнить исходный набор записей titleCatalog).
Наконец, выдвигается требование, чтобы значения атрибута
cn
соответствовали объединённым через пробел значениям атрибутов
sn
и
givenName,
но это касается только записей с объектным классом
inetOrgPerson.
Этот модуль был написан в 2005 году Neil Dunbar из Hewlett-Packard, и впоследствии расширен
Howard Chu и Emmanuel Dreyfus.
Программное обеспечение OpenLDAP
разработано и поддерживается проектом OpenLDAP <http://www.openldap.org/>.
Программное обеспечение OpenLDAP
является производным от релиза 3.3 LDAP Мичиганского Университета.