Схема служб Active Directory облегченного доступа к каталогам (AD LDS) определяет, с помощью классов и атрибутов объектов, типы объектов и данных, которые могут создаваться и храниться в каталоге AD LDS. Каждый набор конфигурации AD LDS имеет собственную независимо управляемую схему, которая хранится в разделе каталога схемы. В соответствии с концепцией AD LDS, предполагающей простоту и гибкость структуры, базовая схема AD LDS (схема по умолчанию) содержит только классы и атрибуты, необходимые для запуска экземпляра AD LDS. Схема может быть расширена с помощью новых классов и атрибутов администраторами либо самими приложениями. Кроме того, ненужные классы и атрибуты схемы можно деактивировать. Как и любые другие объекты каталога, объекты схемы защищены списками управления доступом (ACL), благодаря чему только авторизованные пользователи имеют возможность изменять схему. Каждый объект в каталоге AD LDS представляет собой экземпляр класса объектов, заданного в схеме, как показано на следующем рисунке.
Классы объектов
Класс объектов представляет категорию объектов (таких как пользователи, принтеры или приложения) с общим набором характеристик. Определение каждого класса объектов содержит список атрибутов, которые можно использовать для описания экземпляров этого класса. Например, класс User имеет такие атрибуты, как givenName, surname и streetAddress. Список атрибутов класса разделяется на атрибуты, обязательные для объекта данного класса, и на дополнительные атрибуты, которые может содержать объект. В определении каждого класса также указываются классы, объекты которых могут являться родительскими по отношению к объектам данного класса.
В следующей таблице приведено определение класса AD LDS User.
Атрибут | Значение |
---|---|
Dn |
CN=User,CN=Schema,CN=Configuration |
objectClass |
top; classSchema; |
cn |
User; |
distinguishedName |
CN=User,CN=Schema,CN=Configuration |
subClassOf |
organizationalPerson; |
mayContain |
audio; carLicense; departmentNumber; displayName; employeeNumber; employeeType; givenName; homePostalAddress; jpegPhoto; labeledURI; photo; preferredLanguage; roomNumber; secretary; uid; userPKCS12; userSMIMECertificate; x500uniqueIdentifier; |
rDNAttID |
cn; |
adminDisplayName |
User; |
adminDescription |
User; |
objectClassCategory |
1; |
lDAPDisplayName |
user; |
name |
User; |
objectGUID |
dac9093a-d2aa-408a-81bb-0fe8179165da; |
schemaIDGUID |
bf967aba-0de6-11d0-a285-00aa003049e2; |
objectCategory |
CN=Class-Schema,CN=Schema,CN=Configuration; |
defaultObjectCategory |
CN=Person,CN=Schema,CN=Configuration; |
Атрибуты
В схеме также определен каждый атрибут. Определение каждого атрибута включает уникальные идентификаторы атрибута, синтаксис, необязательные границы диапазона значений атрибута, а также указание, может ли атрибут содержать только одно или несколько значений и следует ли его индексировать. Каждый атрибут определен в схеме каталога один раз. На каждый атрибут, определенный в схеме, может ссылаться несколько классов объектов. Например, атрибут description определен один раз, и на него ссылается множество классов объектов.
В следующей таблице приведено определение атрибута telephone number - типичного атрибута схемы.
Атрибут | Значение |
---|---|
objectClass |
top; attributeSchema; |
cn |
Telephone-Number; |
distinguishedName |
CN=Telephone-Number,CN=Schema,CN=Configuration; |
instanceType |
0x4 = ( IT_WRITE ); |
whenCreated |
11/12/2002 13 |
22 |
14 стандартное тихоокеанское время, тихоокеанское летнее время; |
whenChanged |
11/12/2002 13 |
22 |
14 стандартное тихоокеанское время, тихоокеанское летнее время; |
uSNCreated |
217; |
attributeID |
2.5.4.20; |
attributeSyntax |
2.5.5.12; |
isSingleValued |
ИСТИНА; |
rangeLower |
1; |
rangeUpper |
64; |
uSNChanged |
217; |
showInAdvancedViewOnly |
TRUE; |
adminDisplayName |
Telephone-Number; |
adminDescription |
Telephone-Number; |
oMSyntax |
64; |
searchFlags |
0; |
lDAPDisplayName |
telephoneNumber; |
name |
Telephone-Number; |
objectGUID |
bf19d7eb-ea0f-4f2d-af67-f439a037d8a4; |
schemaIDGUID |
bf967a49-0de6-11d0-a285-00aa003049e2; |
attributeSecurityGUID |
77b5b886-944a-11d1-aebd-0000f80367c1; |
systemOnly |
ЛОЖЬ; |
systemFlags |
0x10 = ( FLAG_SCHEMA_BASE_OBJECT ); |
isMemberOfPartialAttributeSet |
TRUE; |
objectCategory |
CN=Attribute-Schema,CN=Schema,CN=Configuration; |
Однозначные и многозначные атрибуты
Атрибуты могут быть однозначными или многозначными. Экземпляр однозначного атрибута может содержать только одно значение. Экземпляр многозначного атрибута может содержать несколько значений, использующих общий синтаксис. Каждое значение многозначного атрибута должно быть уникальным.
Примечание | |
Значения многозначного атрибута хранятся в произвольном порядке. Поэтому при работе с каталогом (программным способом или вручную) не следует принимать решения, основываясь на порядке значений многозначного атрибута. |
Индексированные атрибуты
Индексирование атрибутов помогает оптимизировать скорость обработки запросов, основанных на индексированном атрибуте. Индексироваться могут как однозначные, так и многозначные атрибуты; классы индексироваться не могут. Атрибуты могут помечаться для индексирования через соответствующее определение схемы. Индексирование атрибута также позволяет пользователям задавать подстановочные знаки (*) в качестве префиксов и суффиксов в строке поиска. Когда атрибут отмечен как индексированный, все экземпляры атрибута добавляются в индекс, а не только экземпляры, являющиеся членами определенного класса. Индексирование атрибутов, особенно многозначных, может увеличить время репликации и создания объектов, а также размер базы данных. Поэтому следует индексировать только часто используемые атрибуты.
Общие сведения о схемах см. в разделе «Схема Active Directory» (http://go.microsoft.com/fwlink/?LinkId=80809) (страница может быть на английском языке).