|
Версия 5.1 |
|
|
Справочник
Сервер CommuniGate Pro включает в себя Менеджер Справочника, в котором реализован высокопроизводительный, основывающийся на публичных стандартах Справочник.
Справочник может содержать записи о Пользователях, Доменах и других объектах CommuniGate Pro. Он также может содержать в себе любые другие типы записей и может использоваться как выделенный Сервер Справочника, обслуживающий приложения, работающие по протоколу LDAP.
Менеджер Справочника не является LDAP сервером. Модуль LDAP CommuniGate Pro обеспечивает доступ к Справочнику для LDAP клиентов, но различные компоненты CommuniGate Pro (Менеджер Пользователей и Менеджер Доменов, Веб Интерфейс Пользователя и т.д.) получают данные из Справочника напрямую, минуя LDAP протокол.
В Менеджере Справочника реализован Мета-Справочник: такой Мета-Справочник может хранить данные справочника в одном или нескольких наборах серверных файлов (Локальные Тома), а также может использовать внешние LDAP сервера как Удалённые Тома Справочника. Возможно множество различных конфигураций. Следующая простейшая конфигурация является наиболее распространённой:
- Все данные Справочника сохраняются в одном Локальном Томе. В этом случае Мета-Справочник является таким же Справочником, который реализуется при помощи обычного LDAP сервера.
- Все данные Справочника сохраняются в одном Удалённом Томе. В этом случае Мета-Справочник используется просто как метод доступа к записям, хранящимся на внешнем LDAP сервере.
|
|
|
Что такое Справочник?
- атрибут
- имя (имя атрибута) и одно или несколько значений атрибута.
Обычно атрибуты представлены в форме имя=значение.
Имена атрибутов независимы от регистра.
Примеры:- userName=john
eyeColor=blue
- класс объекта
- атрибут с именем objectClass; этот атрибут используется для указания природы объекта, которому он принадлежит.
Примеры:
- objectClass=person
objectClass=organization
- Полное имя записи (DN).
- последовательность атрибутов в форме имя=значение и разделённых знаком запятой (,).
DNы используются как уникальные имена объектов (записей).
Пример:- userName=john,server=BigIron,realm=Internet
DNы используются для построения деревьев имён объектов, где самый правый атрибут задаёт самое общее имя, а самый левый атрибут задаёт уникальное имя объекта.
Самый левый атрибут называется Относительным Полным Именем (RDN) - оно обеспечивает уникальность имени объекта среди всех других объектов, имеющих такой же родительский DN.
Пример:- userName=jim,server=BigIron,realm=Internet
это другой DN, хотя "родительский DN" точно такой же (server=BigIron,realm=Internet) - тот же
Пример:- userName=john,server=SmallCopper,realm=Internet
это другой DN, с другим "родительским DN" (server=SmallCopper,realm=Internet)
- запись справочника или объект
- набор атрибутов с полным именем записи
Обычно запись представляется в виде нескольких строк, начинающихся с имени, представляющего DN записи, за которым следуют атрибуты записи. Записи обычно разделяются пустой строкой.
Пример:- DN: userName=jim,server=BigIron,realm=Internet
objectClass=person
eyeColor=blue
mailboxLimit=1024000
DN: userName=john,server=BigIron,realm=Internet
objectClass=person
eyeColor=green
mailboxLimit=2048000
Обратите внимание: стандарты LDAP рекомендуют включать атрибут RDN в набор атрибутов, составляющих запись справочника. Менеджер Справочника CommuniGate Pro жёстко следует этому правилу.
- справочник
- набор записей справочника; может достигать очень больших размеров (миллионы записей). Через DN набор организуется в виде дерева. При удалении родительского DN записи удаляются автоматически. При изменении (переименовании) родительских DNов записи также автоматически изменяются.
- схема справочника
- набор ограничений справочника, включающих в себя:
- набор имён атрибутов, которые могут использоваться в Справочнике (userName, mail, city, eyeColor, ...);
- набор значений атрибута objectClass, которые могут находиться в Справочнике (person, organization, device, printer ...);
- для каждого objectClass - имена атрибутов, которые обязана иметь запись объекта; для записей типа objectClass=person схема может требовать наличия атрибутов с именами cn (Имя-Идентификатор) и sn (фамилия).
- для каждого objectClass - имена атрибутов, которые может иметь запись объекта; для записей типа objectClass=person схема может разрешать атрибуты с именами driverLicense и eyeColor.
Тома Хранения Справочника
Хотя весь Справочник CommuniGate Pro представляется клиентам как одно большое дерево записей, его поддеревья могут хранится в отдельных томах хранения. Такой тип "виртуальных" справочников часто называют Мета-Справочником.
Справочник CommuniGate Pro поддерживает два типа томов хранения:
- локальные - наборы файлов, управляемые Менеджером Справочника CommuniGate Pro. Эти файлы содержат записи справочника, информацию о дублировании и схемы поддеревьев.
- удалённые - дескрипторы, обслуживаемые LDAP Менеджером Справочника CommuniGate Pro. Эти дескрипторы содержат информацию об удалённых Справочниках, доступ к которым осуществляется через LDAP.
В результате Справочник CommuniGate Pro может иметь поддеревья, расположенные на удалённых серверах. Если LDAP сервер ldap.server.dom обеспечивает доступ к какому-либо дереву справочника, то вы можете создать указывающий на сервер ldap.server.dom удалённый том в Справочнике CommuniGate Pro и, таким образом, полное дерево справочника ldap.server.dom (или одно из его поддеревьев) будет видно в Справочнике CommuniGate Pro как какое-либо поддерево.
Первоначально сервер CommuniGate Pro создаёт один Локальный Том Хранения Main, в котором содержится весь справочник. Через Веб Интерфейс Администратора вы можете добавлять новый тома хранения.
На диаграмме ниже показан справочник, которой хранится в одном Локальном Томе с именем
Main:
На диаграмме ниже показан тот же справочник, но теперь он хранится в двух Томах Хранения, причём всё поддерево
o=MyCompany хранится в отдельном Томе Хранения
LDAP1:
- Пример 1:
- Внешний LDAP сервер ldap1.com имеет поддерево o=MyCompany и вы хотите, что бы все Домены CommuniGate Pro и записи о Пользователях хранились в этом поддереве. Используйте следующие настройки:
- В настройках Центрального Справочника укажите Базовый DN как o=MyCompany,o=ldap1
- Создайте Удалённый Том MYLDAP для поддерева o=ldap1.
- Введите ldap1.com как имя сервера и введите в Настройках Тома MYLDAP в значении Поддерево на Сервере пустую строку.
Теперь, когда Сервер CommuniGate Pro попытается получить доступ к записи справочника для пользователя john в домене domain1.com:
- Формируется DN uid=john,cn=domain1.com,o=MyCompany,o=ldap1.
- Менеджер Справочника определяет, что эта запись должна располагаться в Томе MYLDAP и просит этот Том выполнить требуемую операцию с записью, имеющей DN uid=john,cn=domain1.com,o=MyCompany (при этом "связывающий узел" Тома o=ldap1 удаляется из DN).
- Том MYLDAP отправляет запрос с DN uid=john,cn=domain1.com,o=MyCompany на удалённый сервер ldap1.com.
- Пример 2:
- Внешний LDAP сервер ldap1.com имеет поддерево o=MyCompany и вы хотите, что бы все Домены CommuniGate Pro и записи о Пользователях хранились в этом поддереве (точно также, как и в Примере 1). Вы можете использовать следующие настройки:
- В настройках Центрального Справочника укажите Базовый DN как o=ldap1
- Создайте Удалённый Том MYLDAP для поддерева o=ldap1.
- Введите ldap1.com как имя сервера и введите в Настройках Тома MYLDAP в значении Поддерево на Сервере o=MyCompany.
Теперь, когда Сервер CommuniGate Pro попытается получить доступ к записи справочника для пользователя john в домене domain1.com:
- Формируется DN uid=john,cn=domain1.com,o=ldap1.
- Менеджер Справочника определяет, что эта запись должна располагаться в Томе MYLDAP и просит этот Том выполнить требуемую операцию с записью, имеющей DN uid=john,cn=domain1.com (при этом "связывающий узел" Тома o=ldap1 удаляется из DN).
- Том MYLDAP добавляет к DN указанный суффикс Поддерева на Сервере o=MyCompany и затем отправляет запрос с таким DN uid=john,cn=domain1.com,o=MyCompany на удалённый сервер ldap1.com.
Откройте Веб Интерфейс Администратора и перейдите в область Справочник. Откроется страница с Томами Хранения Справочника. Для открытия этой страницы вам необходимо иметь Права Доступа к Справочнику.
Строка <root> используется для указания имени Тома Хранения по умолчанию (то есть Тома Хранения, хранящего корень Дерева Справочника).
Для того, что бы создать новый Том Хранения, введите его имя (это имя будет использоваться только для целей администрирования), Полное Имя (DN) для поддерева, которое должно хранится в этом томе и нажмите на кнопку Создать Локальный Том или Создать Удалённый Том.
Локальные Тома
Локальные Тома Справочника - это наборы файлов, содержащие данные справочника (записи/пункты), схему тома, установки тома и журнал изменений справочника.
Откройте через Веб Интерфейс Администратора область Справочник и нажмите на ссылку с именем Локального Тома Хранения. Откроется страница с Установками Тома.
- Уровень Журнала
- Используйте эту настройку для того, что бы указать, какую информацию Менеджер Локальных Томов Хранения должен сохранять в Журнале работы Сервера.
- Проверять Схему
- Когда выбрана эта опция, Менеджер Локального Тома Хранения сравнивает структуру всех новых и изменяемых записей со Схемой Тома. Если эта опция выключена, то Менеджер смотрит только имена атрибутов записей и проверяет, что эти атрибуты включены в схему Тома, но не проверяет ограничения, связанные с ограничениями для objectClass.
- Ограничение Результатов Поиска
- Эта настройка ограничивает максимальное число записей, которое может возвращать операция Поиска в Справочнике.
- Создавать 'displayName' атрибут
- Если указана эта опция, то Менеджер Локального Тома Хранения проверяет, был ли атрибут displayName явно затребован в операции поиска, но при этом сам этот атрибут отсутствует в полученной записи Справочника. В этом случае Менеджер создаёт атрибут displayName на лету, используя атрибут cn или, если он отсутствует, атрибут uid.
Каждый Локальный Том имеет свою собственную Схему. Дополнительную информацию о Схемах Тома смотрите в разделе Схема.
Вы можете просматривать и изменять Схему Локального Тома запрашивая и изменяя виртуальную запись с DN cn=schema. Если Локальный Том смонтирован на каком-либо поддереве Справочника, то DN записи для Схемы Тома будет cn=schema,поддерево.
Удалённые Тома Хранения
Откройте Веб Интерфейс Администратора и в области Справочник нажмите на ссылке с именем Удалённого Тома Хранения для того, что бы открыть страницу с его Установками.
- Уровень Журнала
- Используйте эту настройку для того, что бы указать, какую информацию Менеджер Удалённых Томов Хранения должен сохранять в Журнале работы Сервера.
- Имя LDAP Сервера
- Это поле указывает имя или IP адрес удалённого LDAP сервера, на котором размещено поддерево Тома Хранения. Если удалённый LDAP сервер использует нестандартный TCP порт, то вы можете указать Имя Сервера в виде имясервера:порт.
- Безопасность
- Если установлена опция TLSPort, то соединения с удалённым сервером будут устанавливаться в безопасном режиме. По умолчанию портом для безопасных соединений является порт номер 636.
Если установлена опция STARTTLS, то соединения устанавливаются через обычный порт LDAP, а затем отправляется LDAP команда STARTTLS для инициирования коммуникаций в безопасном (зашифрованном) режиме.
- Поддерево на Сервере
- Это поле указывает поддерево на удалённом LDAP сервере, которое должно быть "смонтировано". Если эта настройка имеет пустое значение, то весь удалённый справочник будет виден как поддерево Справочника CommuniGate Pro.
- Bind DN, Bind Пароль
- Это поле задаёт Полное имя записи и Пароль, которые будут использоваться для "привязки" удалённого LDAP сервера (для входа на него). Если это поле оставлено пустым, то CommuniGate Pro будет использовать анонимный доступ к удалённому LDAP серверу.
- Версия Протокола
- Используйте это поле для указания поддерживаемой удалённым LDAP сервером версии протокола.
- Кэш Каналов
- Используйте это поле для указания числа "кэшируемых" TCP соединений, используемых для соединения с удалённым LDAP сервером.
Удалённый Справочник как Корневой
В определённых ситуациях сервер CommuniGate Pro не должен хранить никаких данных Справочника в своих Локальных Томах. Вместо этого все записи Справочника должны хранится на удалённом LDAP сервере (каком-нибудь другом сервере CommuniGate Pro или на сервере Справочника стороннего производителя). В этом случае "корень" CommuniGate Pro должен храниться в Удалённом Томе Хранения, указывающем на такой внешний сервер. По умолчанию "корень" Справочника хранится в Локальном Томе Хранения с именем Main.
Для того что бы указать Серверу CommuniGate Pro что "корень" Справочника и всё дерево Справочника хранятся на удалённом сервере, выполните следующие действия:
- Откройте установки Тома Хранения Main
- переместите Том в фиктивное поддерево o=dummy
- создайте Удалённый Том Хранения RemoteRoot, указав в его Поддереве пустую строку
- Настройте Удалённый Том RemoteRoot так, что бы он имел соответствующий доступ на удалённом LDAP сервере
- проверьте, что удалённый справочник доступен (используя Просмотр Справочника CommuniGate Pro)
- Откройте установки Тома Хранения Main и нажмите на кнопку Удалить Том
Привязка к Справочнику
Записи Справочника могут быть защищены (и, обычно, действительно защищены) от неавторизованного доступа . Когда пользователи хотят получить доступ к защищённым данным Справочника, они должны сначала аутентифицироваться. Этот процесс называется привязка и успешная аутентификация "привязывает" ("binds") пользователя к определённому Полному имени записи (DN) в Справочнике.
Если пользователь пытается прочитать или изменить данные Справочника, то для проверки Прав Доступа к Справочнику используется привязанный DN.
Когда пользователь использует Справочник через Веб Интерфейс Пользователя CommuniGate Pro или через XIMSS сессию, то привязанный DN является DNом записи этого Пользователя:
uid=accountname,cn=domainname,o=MyCompany.
Дополнительную информацию смотрите в разделе Центральный Справочник.
Когда доступ к Справочнику осуществляется через модуль LDAP, клиент может аутентифицироваться при помощи своего имени Пользователя и пароля CommuniGate Pro. В этом случае привязанным DN будет DN записи Пользователя.
До преобразования имени пользователя в DN записи Пользователя Справочника, проверяются Права Доступа к Серверу пользователя. Если пользователь имеет право доступа к Справочнику, то используется специальный "мастер" Bind DN вместо DN записи пользователя. Клиенты с "мастер" Bind DN обладают неограниченными правами доступа к Справочнику.
Для привязки через LDAP может использоваться любой DN Справочника. Запись справочника с указанным DN должна существовать, запись должна содержать атрибут userPassword и значение атрибута должно соответствовать введённому паролю.
Если клиент не аутентифицировался, то используется специальный Bind DN anyone.
Записи Прав Доступа
Справочник CommuniGate Pro ограничивает права клиентов на чтение, поиск и изменение записей Справочника. Справочник содержит набор записей Прав Доступа, которые разрешают и запрещают операции в Справочнике для конкретных поддеревьев Справочника в зависимости от привязанного DN клиента.
Для задания записей Прав Доступа откройте страницу Права Доступа к Справочнику:
Каждая запись Права Доступа имеет:
- имя
- что: DN, к которому применяется запись; в строках могут использоваться символы шаблона подстановки ("*")
- Bind DN: привязанный DN клиента, к которому применяется запись; в строках могут использоваться символы шаблона подстановки ("*")
- Тип: Запрещено или Разрешено
- ссылка на Запись, задающую права доступа
Кнопки Вниз и Вверх позволяют вам передвигать записи в таблице, увеличивая или уменьшая приоритеты записей.
Когда клиент требует выполнения операции поиска, чтения, изменения или любой другой операции с записью Справочника или с поддеревом, имеющими определённый DN, Права Доступа проверяются начиная с верхней записи. Сервер ищет запись Прав Доступа, которая:
- имеет в поле "Что" DN, совпадающий с DN, указанным в запросе клиента
- имеет в поле Bind DN значение, совпадающее с привязанным DN клиента
- имеет операцию (удалять, создавать), совпадающую с затребованной операций или имеющую атрибут, совпадающий с атрибутом, используемым в операции
При обнаружении такой записи Права Доступа тип записи указывает, разрешена операция или запрещена. Если не найдено никакой записи Права Доступа, операция считается запрещённой.
Если клиент имеет "мастер" привязанный DN (смотрите выше), то ему разрешены все операции.
Когда клиент требует совершения операции типа "чтение", то процедура повторяется для всех атрибутов, которые клиент хочет получить. Если операция запрещена для всех указанных атрибутов, то операция чтения заканчивается неуспешно. В противном случае операция выполняется и клиенту возвращаются все атрибуты, которые он имеет право получать.
Когда клиент требует совершения операции типа "поиск", то процедура повторяется для всех атрибутов, используемых в фильтре поиска. Если операция поиска запрещена хотя бы для одного из этих атрибутов, то она заканчивается неуспешно. У найденных записей проверяется RDN. Если RDN не разрешён для чтения, то запись не возвращается клиенту.
Если клиент требует совершения операции типа "переименование", то процедура используется дважды: первый раз для проверки того, что клиент имеет право удалить оригинальную запись Справочника и второй раз, что бы убедится, что клиент имеет право создать запись Справочника в новом месте.
В поле Bind DN могут использоваться специальные строки:
- anyone
- запись Права Доступа применяется для любого Bind DN, включая anyone (отсутствующий) Bind DN.
- brother
- запись Прав Доступаприменяется, если Bind DN и целевой DN имеют общий родительский DN. Например, DNы uid=someuser,cn=domain1.com и uid=otheruser,cn=domain1.com являются "братьями" (brother). Такой способ задания Bind DN целесообразно предоставлять тем пользователям CommuniGate Pro, которые получают доступ к записям Справочника о других пользователях, находящихся в этом же домене CommuniGate Pro.
- parent
- запись Прав Доступаприменяется, если Bind DN является отцом для целевого DN Например, DN cn=domain1.com является отцом для DNов uid=user1,cn=domain1.com и id=book1,uid=user1,cn=domain1.com.
- child
- запись Прав Доступаприменяется, если целевой DN является отцом для Bind DN.
- self
- запись Прав Доступаприменяется, если целевой DN совпадает с Bind DN. Такой способ задания Bind DN целесообразно предоставлять тем Пользователям CommuniGate Pro, которые имеют право изменять значения атрибутов у своих собственных записей справочника.
Для того, что бы создать запись Права Доступа, введите имя записи, целевой DN (поле Что) и Bind DN в последнем пустом элементе в Таблице Прав Доступа и нажмите на кнопку Модифицировать. Используйте кнопку Вверх для изменения приоритета записи.
Для того, что бы удалить запись Права Доступа, сотрите её имя и нажмите на кнопку Модифицировать.
Задание Прав Доступа
Для задания Прав Доступа к Справочнику откройте страницу Права Доступа и нажмите на ссылку "Изменить" (откроется запись Права Доступа):
Эти опции определяют, могут ли клиенты с заданным Bind DN создавать или удалять записи с заданным целевым DN.
В этом поле перечисляются те атрибуты данных, которые клиенты с заданным Bind DN могут читать из записей с заданным целевым DN. Имена атрибутов должны отделяться символом запятой. Для того, что бы позволить клиентам читать все атрибуты записи, используйте символ звёздочка (
*).
В этом поле перечисляютсяатрибуты, которые клиенты с заданным Bind DN могут использовать в фильтрах при поиске в поддеревьях целевого DN.
В этом поле перечисляются те атрибуты данных, которые клиенты с заданным Bind DN могут изменять в записях с заданным целевым DN.
Пример записи Права Доступа:
- Что
- uid=*,cn=domain1.com
- Bind DN
- brother
- Тип
- Разрешено
- Читаемые Атрибуты
- objectClass,officeEmail,roomNumber,cn,uid
Эта запись разрешает всем пользователям из домена
domain1.com читать атрибуты
objectClass,
cn,
uid,
officeEmail и
roomNumber из записей Справочника других пользователей Домена
domain1.com.
Пример записи Права Доступа:
- Что
- cn=domain1.com
- Bind DN
- child
- Тип
- Разрешено
- Читаемые Атрибуты
- objectClass,officeEmail,roomNumber
- Атрибуты, в которых можно искать
- cn,uid
Эта запись позволяет всем пользователям из домена
domain1.com искать в поддереве Справочника этого Домена по атрибутам
cn и
uid, но не по другим доступным атрибутам.
Просмотр Справочника
Веб Интерфейс Администратора CommuniGate Pro содержит средства для просмотра Справочника. Для того, что бы открыть страницу Просмотра Справочника, откройте область Справочник и нажмите на ссылку Просмотр.
Страница Просмотра включает следующие поля DN:
Используя это поле, введите тот DN записи/поддерева Справочника, который вы хотите видеть и нажмите на кнопку Перейти. Нажмите на кнопку Вверх для удаления самого левого элемента DN и открытия его "родительской" записи Справочника.
На следующей панели отображаются записи Справочника с указанным DN:
Если запись с указанным DN не может быть прочитана, то в этой панели будет содержаться сообщение об ошибке.
На следующей панели отображаются все дочерние записи:
Для того, что бы ограничить число показываемых записей, вы можете использовать меню, находящееся на панели.
Для поиска указанных записей, введите в поле Фильтр LDAP строку-фильтр (в формате RFC 2254) и нажмите на кнопку Показывать.
Элементы таблицы являются дочерними RDN и objectClass.
Нажмите на ссылку с именем дочернего элемента RDN для того, что бы просмотреть эту запись.
Импорт Данных Справочника
Веб Интерфейс Администратора CommuniGate Pro позволяет Администратору Сервера импортировать из текстовых файлов в форматах LDIF и "replog" изменения в Справочник:
Для импорта данных в Справочник CommuniGate Pro нажмите на кнопку Обзор (Browse) и введите имя LDIF файла, находящегося на вашем компьютере. Нажмите на кнопку Импортировать LDIF, что бы вставить все записи из выбранного LDIF файла.
Для того, что бы применить к Справочнику CommuniGate Pro набор изменений записей, нажмите на кнопку Обзор (Browse) и выберите "replog", находящийся на вашем компьютере. Нажмите на кнопку Импортировать LMOD, что бы применить все изменения из выбранного файла.
Руководство CommuniGate® Pro. Copyright © 1998-2007, Stalker Software, Inc.