In uno schema Active Directory Lightweight Directory Services (AD LDS) vengono definiti, tramite classi di oggetti e attributi, i tipi di oggetti e dati che possono essere creati e archiviati in una directory di AD LDS. In ogni set di configurazione di AD LDS è incluso il relativo schema gestibile indipendentemente, archiviato nella partizione di directory dello schema. In linea con i principi di semplicità e di flessibilità di AD LDS, nello schema di base, o predefinito, di AD LDS sono incluse solo le classi e gli attributi necessari per avviare un'istanza di AD LDS. Gli amministratori, o le applicazioni stesse, possono estendere lo schema con nuove classi e attributi. È inoltre possibile disattivare classi e attributi dello schema non necessari. Allo stesso modo di quanto accade per tutti gli oggetti nella directory, gli elenchi di controllo di accesso proteggono gli oggetti dello schema, in modo tale che solo gli utenti autorizzati possono modificare lo schema. Ogni oggetto presente in una directory di AD LDS rappresenta un'istanza di una classe di oggetto definita in uno schema, come illustrato nella figura seguente.

Schema AD LDS

Classi di oggetti

Una classe di oggetti rappresenta una categoria di oggetti, quali utenti, stampanti o applicazioni, che condividono un insieme di caratteristiche comuni. La definizione di ciascuna classe di oggetti contiene l'elenco degli attributi che possono essere utilizzati per descrivere le istanze della classe. Ad esempio, la classe User dispone di attributi quali givenName, surname e streetAddress. L'elenco degli attributi di una classe si divide in attributi che un oggetto di tale classe deve contenere e attributi che può contenere. La definizione di ogni classe elenca anche le classi i cui oggetti possono essere padri di oggetti di una determinata classe.

Ad esempio, nella tabella seguente viene illustrata la definizione della classe User.

Attributo Valore

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;

Attributi

Lo schema definisce anche ogni attributo. La definizione di ogni attributo include gli identificatori univoci per l'attributo, la sintassi per l'attributo, i limiti di intervallo facoltativi per i valori dell'attributo, se l'attributo può avere solo un valore o più valori e se l'attributo è indicizzato. Lo schema di directory definisce ogni attributo esattamente una volta. Più classi di oggetto possono quindi far riferimento a ogni attributo. Ad esempio, l'attributo description viene definito una sola volta e successivamente vi viene fatto riferimento da molte classi di oggetto.

Nella tabella seguente viene illustrata la definizione di telephone number, un attributo di schema rappresentativo.

Attributo Valore

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;

nome

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;

Attributi a valore singolo e multivalore

Gli attributi possono essere a valore singolo o multivalore. Un'istanza di un attributo a valore singolo può contenere un solo valore. Un'istanza di un attributo multivalore può contenere più valori, che devono utilizzare tutti la stessa sintassi. Ciascun valore di un attributo multivalore deve essere univoco.

Nota

Un attributo multivalore archivia i valori in ordine casuale. È pertanto consigliabile non effettuare alcuna decisione relativa alla directory, a livello di programmazione o manuale, in base all'ordine dei valori in un attributo multivalore.

Attributi indicizzati

L'indicizzazione degli attributi aiuta a migliorare le prestazioni delle query basate sull'attributo indicizzato. È possibile indicizzare entrambi gli attributi a valore singolo e multivalore, mentre non è possibile indicizzare le classi. Gli attributi possono venire contrassegnati per l'indicizzazione in base alla relativa definizione di schema. L'indicizzazione di un attributo consente inoltre agli utenti di utilizzare caratteri jolly (*) come prefissi e suffissi per la specifica di una stringa di ricerca. Quando si contrassegna un attributo come indicizzato, all'indice vengono aggiunte tutte le istanze dell'attributo e non solo quelle che fanno parte di una determinata classe. L'indicizzazione degli attributi, in particolare degli attributi multivalore, può influire negativamente sui tempi di replica e di creazione degli oggetti, nonché sulle dimensioni del database della directory. È pertanto consigliabile indicizzare soltanto gli attributi utilizzati comunemente.

Per informazioni di carattere generale sugli schemi, vedere la pagina relativa agli schemi Active Directory (https://go.microsoft.com/fwlink/?LinkId=80809).

Ulteriori riferimenti


Argomenti della Guida