Bir Active Directory Basit Dizin Hizmetleri (AD LDS) şeması, nesne sınıflarını ve özniteliklerini kullanarak, bir AD LDS dizininde oluşturulabilen ve depolanabilen nesne ve veri türlerini tanımlar. Her AD LDS yapılandırma kümesinde yönetilebilen bağımsız bir şema bulunur, bu da şema dizini bölümünde depolanır. AD LDS tasarımının basitlik ve esneklik ilkelerine uygun olarak, temel (veya varsayılan) AD LDS şeması, yalnızca bir AD LDS örneğini başlatmak için gereken sınıfları ve öznitelikleri içerir. Şema, yöneticiler veya uygulamalar tarafından yeni sınıflar ve özniteliklerle genişletilebilir. Ayrıca, gerekli olmayan şema sınıfları ve özniteliklerinin etkinliği sonlandırılabilir. Dizindeki tüm nesneler gibi, şema nesneleri de erişim denetim listeleriyle (ACL) korunduğu için yalnızca yetkili kullanıcılar şemayı değiştirebilir. Bir AD LDS dizinindeki her nesne, aşağıdaki çizimde gösterildiği gibi, şemada tanımlı olan bir nesne sınıfının örneğidir.
Nesne sınıfları
Nesne sınıfı, kullanıcılar, yazıcılar veya uygulama programları gibi genel belirgin özellikler kümesini paylaşan bir nesne kategorisini temsil eder. Her nesne sınıfının tanımı, sınıfın örneğini açıklamak üzere kullanılabilen öznitelikler listesini içerir. Örneğin, Kullanıcı sınıfının givenName, surname ve streetAddress gibi öznitelikleri vardır. Bir sınıfın öznitelikler listesi, bu sınıfta bulunan bir nesnenin içermesi gereken öznitelikler ve nesnenin içerebileceği diğer özniteliklerden oluşur. Her sınıfın tanımı ayrıca nesneleri belirli bir sınıfın üst düzey sınıfları olabilecek sınıfları da listeler.
Örneğin, aşağıdaki tabloda AD LDS Kullanıcı sınıfının tanımı görülmektedir.
Öznitelik | Değer |
---|---|
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; |
ad |
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; |
Öznitelikler
Şema ayrıca her özniteliği tanımlar. Her özniteliğin tanımı, özniteliğin benzersiz tanımlayıcılarını, sözdizimini, öznitelik değerlerinin isteğe bağlı aralığı, özniteliğin bir veya birden çok değeri olup olamayacağı ve dizin oluşturup oluşturulmadığı bilgilerini de içerir. Dizin şeması her özniteliği tek bir kez tanımlar. Böylece her özniteliğe birden çok nesne sınıfı tarafından başvurulabilir. Örneğin açıklama özniteliği tek bir kez tanımlanır ve sonra özniteliğe birçok nesne sınıfı tarafından başvurulabilir.
Aşağıdaki tabloda, bir temsilci şema özniteliği olan telefon numarası için öznitelik tanımı gösterilmektedir.
Öznitelik | Değer |
---|---|
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 Pacific Standard Time Pacific Daylight Time; |
whenChanged |
11/12/2002 13 |
22 |
14 Pacific Standard Time Pacific Daylight Time; |
uSNCreated |
217; |
attributeID |
2.5.4.20; |
attributeSyntax |
2.5.5.12; |
isSingleValued |
TRUE; |
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 |
FALSE; |
systemFlags |
0x10 = ( FLAG_SCHEMA_BASE_OBJECT ); |
isMemberOfPartialAttributeSet |
TRUE; |
objectCategory |
CN=Attribute-Schema,CN=Schema,CN=Configuration; |
Tek değerli ve birden çok değerli öznitelikler
Öznitelikler tek değerli veya birden çok değerli olabilir. Tek değerli bir öznitelik örneği yalnızca tek bir değer içerebilir. Birden çok değerli öznitelik örneği, aynı sözdizimini kullanması gereken birden çok değer içerebilir. Birden çok değerli özniteliğin her değeri benzersiz olmalıdır.
Not | |
Birden çok değerli öznitelik değerlerini rasgele bir sırayla depolar. Bu nedenle, birden çok değerli bir özniteliğin değerlerinin sırasına bakarak (program kullanarak veya el ile) dizin kararları almamalısınız. |
Dizin oluşturulmuş öznitelikler
Dizin oluşturma öznitelikleri, dizin oluşturulmuş özniteliğe dayalı sorguların performanslarının artırılmasına yardımcı olur. Hem tek değerli hem de birden çok değerli öznitelikler için dizin oluşturulabilir; sınıflar için dizin oluşturulamaz. Öznitelikler, şema tanımlarına göre dizin oluşturulmak üzere işaretlenebilir. Bir öznitelik için dizin oluşturma ayrıca kullanıcıların, arama dizesi belirtirken önek ve sonek olarak joker karakterler (*) kullanmasına olanak sağlar. Bir özniteliği sıralı olarak imlediğinizde, özniteliğin tüm kopyaları, yalnızca özel bir sınıfın üyesi olan kopyalara değil, dizine eklenir. Dizin oluşturma öznitelikleri, özellikle birden çok değerli öznitelikler, dizin veritabanı boyutu ile çoğaltma işleminden ve nesne oluşturma süresinden olumsuz etkilenebilirler. Bu nedenle, yalnızca sık kullanılan öznitelikler için dizin oluşturmalısınız.
Şemalar hakkında genel bilgi için bkz. Active Directory Şeması (