Modelo de informação do LDAP

O modelo de informação do LDAP é baseado em entradas. Uma entrada é uma coleção de atributos que tem um Nome Distinto (Distinguished Name ou DN) globalmente único. O DN é usado para se referir à entrada sem ambigüidade. Cada atributo da entrada tem um tipo e um ou mais valores. Os tipos são normalmente strings mnemônicas, como "cn" para commom name, ou "mail" para endereço de e-mail. A sintaxe dos valores depende do tipo do atributo. Por exemplo, um atributo cn pode conter o valor "Arnaldo Mandel". Um atributo mail pode conter o valor "am@ime.usp.br". Um atributo jpegPhoto poderia conter uma fotografia no formato JPEG (binário).

No LDAP, as entradas do serviço de diretório são organizadas em uma estrutura de árvore hierárquica. Essa árvore é conhecida como DIT (Directory Information Tree). Tradicionalmente essa estrutura refletia os limites geográficos ou organizacionais. Entradas representando países aparecem no topo da árvore. Abaixo delas estão entradas representando estados (Unidades Federativas). Abaixo delas podem estar entradas representando unidades organizacionais, pessoas, impressoras, documentos ou qualquer outra coisa.

A árvore também pode ser organizada conforme os nomes de domínios da Internet. Essa forma de nomenclatura está se tornando cada vez mais popular, já que permite ao serviço de diretório ser localizado usando o DNS.

Figura 1.2. Exemplo de DIT (Directory Information Tree)

Exemplo de DIT (Directory Information Tree)

Além disso, é possível controlar quais atributos são requeridos e permitidos em uma entrada, através do uso de um atributo especial chamado objectClass (classe do objeto). Os valores do atributo objectClass determinam o que ela representa e quais regras a entrada deverá obedecer.

Uma entrada é referenciada pelo seu Nome Distinto (DN), o qual é construído pegando o nome da entrada, chamado RDN (Relative Distinguished Name ou Nome Distinto Relativo), e concatenando os nomes de suas entradas antecessoras. Por exemplo, a entrada "Arnaldo Mandel" no exemplo de nomenclatura da Internet acima, tem um RDN de uid=am e um DN de uid=am,ou=Pessoas,dc=ime,dc=usp,dc=br. O formato completo do DN é descrito no [RFC2253 "Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names"].

LDAP define operações para interrogar e atualizar o serviço de diretório. Operações são fornecidas para adicionar e apagar uma entrada do diretório, modificar uma entrada existente, e modificar o nome da entrada. A operação de busca do LDAP permite a certas partes do diretório serem pesquisadas em busca de entradas que obedeçam certos critérios especificados por um filtro de busca.

Por exemplo, você pode querer procurar na sub-árvore cuja raiz é dc=ime,dc=usp,dc=br por pessoas cujos nomes sejam "Arnaldo Mandel", recuperando o endereço de e-mail de cada entrada achada. O LDAP permite que você faça isso facilmente.

É fornecido um mecanismo para o cliente autenticar-se, ou comprovar sua identidade para um serviço de diretório. O LDAP também suporta serviços de segurança de dados (integridade e confidencialidade).