O protocolo LDAP

O LDAP (Lightweight Directory Access Protocol - Protocolo de acesso aos diretórios leves) é um protocolo padrão que permite gerenciar diretórios, ou seja, acessar bancos de informações sobre os usuários de uma rede por meio de protocolos TCP/IP. Geralmente, os bancos de informações são relativos aos usuários, mas eles também podem ser usados para outros fins, como gerenciar o material de uma empresa.

O protocolo LDAP, desenvolvido em 1993 pela Universidade de Michigan, nos Estados Unidos, tinha como objetivo suplantar o protocolo DAP (que serve para acessar o serviço do diretório X.500 do OSI). A partir de 1995, o LDAP tornou-se um diretório nativo para não servir apenas para acessar diretórios do tipo X500. O LDAP é, assim, uma versão mais leve do protocolo DAP, daí o seu nome Lightweight Directory Acess Protocol.

Apresentação do LDAP

O protocolo LDAP define o método de acesso aos dados no servidor a nível do cliente e não a maneira como as informações são armazenadas. Ele está na versão 3 e foi padronizado pelo IETF (Internet Engineering Task Force). Assim, existe um RFC para cada versão de LDAP, constituindo um documento de referência: RFC 1777 para LDAP v.2 padrão e RFC 2251 para LDAP v.3 padrão.

Assim, o LDAP fornece ao usuário métodos que lhe permitem se conectar, desligar, procurar e comparar informações e inserir, alterar e excluir entradas. Por outro lado, o protocolo LDAP (na sua versão 3) propõe mecanismos de codificação (SSL, etc.) e autenticação (SASL) que permitem proteger o acesso às informações armazenadas no banco.

A arborescência de informações (DIT)

O LDAP apresenta as informações na forma de uma arborescência de informações hierárquica chamada DIT (Directory Information Tree), na qual as informações, ditas entradas são representadas por ramos. Um ramo situado na raiz de uma ramificação chama-se raiz ou sufixo (em inglês, root entry).

Toda entrada do diretório LDAP corresponde a um objeto abstrato ou real (ex: uma pessoa, objeto material, parâmetros, etc.) e cada uma delas é constituída por um conjunto de pares chaves/valores chamados atributos:

Directory Information Tree de LDAP

Os atributos das entradas

Toda entrada é constituída por um conjunto de atributos que permitem caracterizar o objeto que a entrada define. Existem dois tipos de atributos: os atributos normais , que são os atributos habituais (nome, sobrenome, etc.) caracterizando o objeto; e os atributos operacionais, aos quais só o servidor pode acessar e, assim, manipular os dados do diretório (datas de alteração, etc.).

Uma entrada é indexada por um nome distinto (DN - Distinguished Name) que permite identificar, de maneira única, um elemento da arborescência.

Um DN é constituído pelo nome do elemento, chamado RDN (Relative Distinguished Name), mais o conjunto dos nomes das entradas parentes. Trata-se de utilizar uma série de pares chave/valores para localizar uma entrada de maneira única.

Algumas das chaves utilizadas são uid, identificador único obrigatório; cn, sobrenome da pessoa; givenname, nome da pessoa, sn, o apelido da pessoa; o, empresa da pessoa; u, serviço da empresa na qual a pessoa trabalha; e mail, endereço de e-mail da pessoa.

Desta maneira, um DN terá a forma

uid=jeapil,cn=pillou,givenname=jean-francois

enquanto o RDN deste mesmo usuário hipotético será

uid=jeapil

.

Chama-se de esquema o conjunto das definições de objetos e de atributos que um servidor LDAP pode gerenciar. Isto permite, por exemplo, definir se um atributo poder ter um ou vários valores. Por outro lado, um atributo chamado objectclass permite definir os atributos obrigatórios ou facultativos.

Como consultar os dados

O LDAP fornece um conjunto de funções para efetuar consultas sobre os dados, para procurar, alterar e apagar entradas nos diretórios. Veja a lista das principais operações que o LDAP pode efetuar:

Operação Descrição
Abandon Abandona a operação previamente enviada ao servidor
Add Acrescenta uma entrada ao diretório
Bind Inicia uma nova sessão no servidor LDAP
Compare Compara as entradas de um diretório de acordo com certos critérios
Delete Exclui uma entrada de um diretório
Extended Efetua operações estendidas
Rename Altera o nome de uma entrada
Search Procura entradas de um diretório
Unbind Termina uma sessão no servidor LDAP

O formato de troca de dados LDIF

O LDAP fornece um formato de troca (LDIF - Lightweight Data Interchange Format) que permite importar e exportar os dados de um diretório com um simples arquivo de texto. A maioria dos servidores LDAP suporta este formato, que permite uma grande interoperabilidade entre eles. A sintaxe do formato é a seguinte:

[<id>] dn: <distinguished name> <atributo> : <valor> <atributo> : <valor> ...

.

Neste arquivo, o ID é facultativo. Trata-se de um número inteiro positivo que permite identificar a entrada no banco de dados. Cada nova entrada deve ser separada da definição da entrada precedente com a ajuda de uma nova linha (linha vazia). É possível definir um atributo em várias linhas, começando as linhas seguintes por um espaço ou uma tabulação. Também é possível definir vários valores para um atributo, repetindo a cadeia nome: valor em linhas separadas. Quando o valor tem um caractere especial (não imprimível, um espaço ou dois pontos), o atributo deve ser seguido de :: e do valor codificado em base 64.

Foto : © Alphaspirit - 123rf.com

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Veja também
Este documento, intitulado 'O protocolo LDAP', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade