Um esquema dos Serviços AD LDS (AD LDS) define, utilizando classes e atributos de objeto, os tipos de objetos e dados que podem ser criados e armazenados no diretório do AD LDS. Cada conjunto de configurações do AD LDS tem seu próprio esquema gerenciável de maneira independente, que é armazenado na partição de diretório do esquema. Acompanhando os conceitos de simplicidade e flexibilidade de design do AD LDS, o esquema básico (ou padrão) do AD LDS contém apenas as classes e os atributos necessários para iniciar uma instância do AD LDS. Os administradores ou os próprios aplicativos podem estender o esquema com classes e atributos novos. Além disso, é possível desativar as classes e os atributos de esquema desnecessários. Assim como ocorre com todos os objetos no diretório, as ACLs (listas de controle de acesso) protegem os objetos do esquema, de modo que somente os usuários autorizados possam alterar o esquema. Cada objeto em um diretório do AD LDS é uma instância de uma classe de objeto definida em um esquema, conforme mostrado na ilustração a seguir.

Esquema do AD LDS

Classes do objeto

Uma classe de objeto representa uma categoria de objetos, como usuários, impressoras ou programas de aplicativo, que compartilham um conjunto de características comuns. A definição para cada classe de objeto contém uma lista dos atributos que podem ser usados para descrever instâncias da classe. Por exemplo, a classe User tem atributos como givenName, surname e streetAddress. A lista de atributos para uma classe divide-se entre os atributos que um objeto dessa classe deve conter e os atributos adicionais que um objeto pode conter. A definição de cada classe também lista as classes cujos objetos podem ser pais dos objetos de uma determinada classe.

Por exemplo, a tabela a seguir mostra a definição da classe User do AD LDS.

Atributo Valor

Dn

CN=User,CN=Schema,CN=Configuration

objectClass

top; classSchema;

cn

Usuário;

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

Usuário;

adminDescription

Usuário;

objectClassCategory

1;

lDAPDisplayName

usuário;

nome

Usuário;

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;

Atributos

O esquema também define cada atributo. A definição de cada atributo contém identificadores exclusivos para o atributo, a sintaxe do atributo, limites de intervalo opcionais para os valores do atributo e definições se o atributo pode ter apenas um valor ou vários e se é indexado. O esquema de diretório define cada atributo exatamente uma vez. Assim, cada atributo pode ser referenciado por várias classes de objeto. Por exemplo, o atributo de descrição é definido uma vez e depois referenciado por várias classes de objeto.

A tabela a seguir mostra a definição de atributo para número de telefone, um atributo representativo do esquema.

Atributo Valor

objectClass

top; attributeSchema;

cn

Número de Telefone;

distinguishedName

CN=Telephone-Number,CN=Schema,CN=Configuration;

instanceType

0x4 = ( IT_WRITE );

whenCreated

11/12/2002 13

22

14 Hora Padrão do Pacífico Horário de Verão do Pacífico;

whenChanged

11/12/2002 13

22

14 Hora Padrão do Pacífico Horário de Verão do Pacífico;

uSNCreated

217;

attributeID

2.5.4.20;

attributeSyntax

2.5.5.12;

isSingleValued

TRUE;

rangeLower

1;

rangeUpper

64;

uSNChanged

217;

showInAdvancedViewOnly

TRUE;

adminDisplayName

Número de Telefone;

adminDescription

Número de Telefone;

oMSyntax

64;

searchFlags

0;

lDAPDisplayName

telephoneNumber;

nome

Número de Telefone;

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;

Atributos exclusivos e multivalorados

Os atributos podem ter um valor exclusivo ou valores múltiplos. Uma instância de um atributo de valor exclusivo só pode conter um único valor. Uma instância de um atributo multivalorado pode conter vários valores que devem usar a mesma sintaxe. Cada valor de um atributo multivalorado deve ser exclusivo.

Observação

Um atributo multivalorado armazena seus valores em ordem aleatória. Portanto, você não deve tomar nenhuma decisão sobre o diretório — manual ou por programação — com base na ordem dos valores em um atributo multivalorado.

Atributos indexados

A indexação de atributos ajuda a melhorar o desempenho das consultas com base no atributo indexado. Os atributos exclusivos e multivalorados podem ser indexados; as classes não. É possível marcar os atributos para indexação por meio de sua definição do esquema. A indexação de um atributo também permite que os usuários usem curingas (*) como prefixos e sufixos durante a especificação da sequência de pesquisa. Quando você marca um atributo como indexado, todas as ocorrências do atributo são adicionadas ao índice, não apenas as ocorrências que são membros de determinada classe. Os atributos de indexação, particularmente os atributos multivalorados, podem afetar negativamente o tempo de replicação e de criação de objetos, como também o tamanho de bancos de dados de diretório. Portanto, você somente deverá indexar atributos usados comumente.

Para obter informações gerais sobre esquemas, consulte a página sobre o esquema do Active Directory (https://go.microsoft.com/fwlink/?LinkId=80809).

Referências adicionais


Sumário