Московский государственный университет имени М.В.Ломоносова
Опубликован: 26.01.2005 | Доступ: свободный | Студентов: 4909 / 1267 | Оценка: 4.17 / 3.92 | Длительность: 21:54:00
ISBN: 978-5-9556-0020-8
Лекция 2:

Инфраструктура Открытого Ключа (часть 2)

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >
Синтаксисы

Каждый атрибут, хранящийся в Каталоге LDAP, имеет определенный синтаксис (например, тип данных), который накладывает ограничения на структуру и формат его значений. Сравнение значений не является частью определения синтаксиса, а задается отдельно определяемыми правилами соответствия. Правила соответствия специфицируют аргумент, значение утверждения, которое также имеет определенный синтаксис. Рассмотрим базовое множество синтаксисов и правил соответствия для использования с определенными атрибутами в Каталогах LDAP.

Сначала определим базовое множество синтаксисов LDAP, затем базовое множество правил соответствия для LDAP.

Определения синтаксисов ограничивают структуру значений атрибутов, хранящихся в Каталоге LDAP, и определяют представление атрибутов и значений выражений, передаваемых в протоколе LDAP.

Определим синтаксисы, необходимые для операций в Каталоге и для использования в общих целях. Серверы должны распознавать все перечисленные синтаксисы, но, с другой стороны, они могут распознавать и поддерживать другие синтаксисы. Однако определение дополнительных произвольных синтаксисов не всегда желательно, так как это ведет к уменьшению интероперабельности. Реализации клиента и сервера обычно не имеют возможности динамически распознавать новые синтаксисы.

Правило присваивания значения атрибута

Определение типа AttrubuteValueAssertion содержит описание атрибута и соответствующее правило присваивания значения для данного типа.

AttributeValueAssertion ::= SEQUENCE { 
		attributeDesc
		  AttributeDescription, 
		assertionValue
		  AssertionValue 
} 
AssertionValue ::= OCTET STRING

Синтаксис AssertionValue зависит от контекста выполняемой операции LDAP. Например, синтаксис EQUALITY, соответствующий правилу для атрибута, используемого при выполнении операции Compare. Часто тот же самый синтаксис используется для значений типов атрибутов, но в некоторых случаях синтаксис присваивания отличается от синтаксиса значения.

Правила соответствия

Правила соответствия используются реализациями Каталога для сравнения значений атрибутов со значениями утверждения при выполнении операций Search и Compare. Они также используются для сравнения искомых уникальных имен с именем записи. При модификации записей правила сравнения применяются для идентификации значений, которые должны удаляться, и для предотвращения того, чтобы атрибут содержал два эквивалентных значения.

Далее будут рассмотрены правила соответствия, необходимые для операции Каталога, или те, которые требуются для общего использования.

Правило соответствия применяется к значениям атрибута посредством AttributeValueAssertion или MatchingRuleAssertion. Могут существовать определенные условия, при которых AttributeValueAssertion или MatchingRuleAssertion вычисляются как Undefined. Если утверждение не является Undefined, то результат утверждения есть результат применения выбранного правила соответствия. Правило соответствия вычисляется в TRUE и в некоторых случаях Undefined, как определено в описании правила соответствия, в противном случае оно вычисляется в FALSE.

Каждое утверждение имеет определенное значение. Определение каждого правила соответствия специфицирует синтаксис для значения утверждения. Синтаксис значения утверждения обычно, но не обязательно, бывает тот же, что и синтаксис значений атрибутов, к которым правило соответствия может применяться.

Определение каждого правила соответствия указывает синтаксисы атрибутов, к которым правило применяется, и условия, которым должны удовлетворять соответствующие типы атрибута.

Описание каждого правила соответствия указывает, применимо ли правило в качестве правила эквивалентности ( EQUALITY ), правила упорядоченности ( ORDERING ) или правила подстрок ( SUBSTR ) в определении типа атрибута.

Каждое правило соответствия уникально определяется идентификатором объекта. Определение правила соответствия в дальнейшем не должно изменяться. Если изменение все же необходимо, то определяется новое правило соответствия с другим идентификатором объекта.

Серверы, которые реализуют extensibleMatch -фильтр, должны допускать использование перечисленных здесь правил соответствия в extensibleMatch -фильтре и применение правил соответствия со всеми известными серверу типами атрибутов, в которых синтаксис утверждения для правила соответствия является тем же самым, что и синтаксис значения атрибута.

Серверы должны публиковать в атрибуте matchingRules определения правил соответствия, ссылаясь на значения атрибутов attributeTypes и matchingRuleUse в той же записи подсхемы. Могут быть опубликованы и другие правила соответствия в атрибуте matchingRules.

Если сервер поддерживает extensibleMatch -фильтр, сервер может использовать атрибут matchingRuleUse для указания применимости (в extensibleMatch фильтре) выбранных правил соответствия к упомянутым типам атрибутов.

Правила содержимого DIT

Правило содержимого DIT есть правило управления содержимым записей конкретного структурного класса объекта.

Для записей DIT конкретного структурного класса объекта правило содержимого DIT определяет, какие вспомогательные классы объектов для записей допустимы и какие дополнительные атрибуты (по типу) требуются, допустимы или недопустимы в записях.

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

Каждое правило содержимого идентифицируется OID, а также любыми короткими именами (дескрипторами) структурного класса объекта, к которому оно применено.

Запись может принадлежать только вспомогательным классам объектов, перечисленным в правиле управления содержимым.

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

Запись может содержать любые незапрещенные атрибуты, допустимые классами объектов, которым принадлежит запись, а также все атрибуты, допустимые правилом управления содержимым.

Запись не может включать никакие атрибуты, запрещенные правилом управления содержимым.

Запись управляется (если присутствует и активна в подсхеме) правилом содержимого DIT, которое применяется к структурному классу объекта записи. Если неактивное правило присутствует для структурного класса объекта записи, содержимое записи управляется структурным классом объекта (и, возможно, другими аспектами схемы пользователя и системы).

Правила структуры DIT и формы имени

Следует определить, где записи объекта могут размещаться в DIT и как они могут именоваться, основываясь на структурном классе объекта.

Правила структуры DIT есть правила управления структурой DIT посредством указания возможного старшинства отношений записи. Правило структуры устанавливает форму имени и, следовательно, структурный класс объекта, с помощью правил старшинства структур. Эти допустимые записи структурного класса объекта идентифицируются формой имени, существующей в DIT в качестве подчиненной записям, управляемым указанными правилами подчинения структуры.

Форма имени специфицирует допустимые RDN для записей конкретного структурного класса объекта. Форма имени идентифицирует именованный класс объекта и один или более типов атрибута, используемых для именования. Формы имени являются элементарными частями спецификации, используемой в определении правил структуры DIT.

Каждая форма имени определяет способ именования структурного класса объекта, множество необходимых типов атрибутов и множество допустимых типов атрибутов. Конкретный тип атрибута не может быть указан в обоих множествах одновременно.

Записи, управляемые формой, должны быть именованы с использованием значения из каждого требуемого типа атрибута и нуля или более значений из допустимых типов атрибутов.

Каждая форма имени идентифицируется OID и (необязательно) одним или более короткими именами (дескрипторами).

Записи подсхемы

Записи подсхемы используются для администрирования информации о схеме Каталога. Единственная запись подсхемы содержит все определения схемы, используемые записями в конкретной части дерева Каталога.

Серверы должны предоставлять атрибуты createTimestamp и modifyTimestamp в записях подсхемы, чтобы разрешить клиентам поддерживать кэши информации схемы.

Далее перечислены описания типов атрибутов для каждого типа атрибута определения схемы.

  • objectClassesатрибут содержит определения классов объекта.
  • attributeTypesатрибут содержит определения типов атрибутов.
  • matchingRulesатрибут содержит определения правил соответствия.
  • matchingRuleUseатрибут содержит определения используемых правил соответствия.
  • ldapSyntaxesатрибут содержит определения синтаксисов LDAP.
  • dITContentRulesатрибут перечисляет применяемые правила содержимого DIT.
  • dItStructureRulesатрибут перечисляет применяемые правила структуры DIT.
  • nameFormsатрибут перечисляет используемые формы имени.
Класс объекта "extensibleObject"

Вспомогательный класс объекта extensibleObject позволяет записям иметь любой тип атрибута. Множество допустимых атрибутов данного класса неявно является множеством всех пользовательских атрибутов.

Обязательные атрибуты других классов объектов данной записи также должны присутствовать, а запрещенные атрибуты присутствовать не должны.

Заметим, что не все серверы реализуют данный класс объекта, но и не все отвергают запросы на добавление записей, которые содержат данный класс объекта, или на модификацию записи по добавлению данного класса объекта.

LDIF

LDIF является форматом обмена данными и обладает следующими свойствами:

  • Представляет записи LDAP в виде текста.
  • Имеет читаемый формат.
  • Обеспечивает возможность легкой модификации данных.
  • Используется для изменений большого количества данных по следующему принципу: – сделать дамп БД, выполнить скрипт, импортировать обратно.
  • обеспечивает возможность архивации данных и передачи данных в другие системы.

Пример LDIF:

dn: uid=olga, ou=people,
dc=cmc, dc=msu
uid: olga
< Лекция 1 || Лекция 2: 123456 || Лекция 3 >
Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?