O protocolo LDAP

Julho 2017

Introdução ao 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 a 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.

Assim, um DN terá a forma
uid=jeapil,cn=pillou,givenname=jean-francois
enquanto o RDN deste mesmo usuário hipotético será
uid=jeapil
.

Assim, 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çãoDescrição
AbandonAbandona a operação previamente enviada ao servidor
AddAcrescenta uma entrada ao diretório
BindInicia uma nova sessão no servidor LDAP
Compare Compara as entradas de um diretório de acordo com certos critérios
DeleteExclui uma entrada de um diretório
ExtendedEfetua operações estendidas
Rename Altera o nome de uma entrada
SearchProcura entradas de um diretório
UnbindTermina 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.

Veja também


LDAP protocol
LDAP protocol
Protocolo LDAP
Protocolo LDAP
Le protocole LDAP
Le protocole LDAP
Il protocollo LDAP
Il protocollo LDAP
Última modificação: 5 de maio de 2017 às 14:03 por Pedro.Saude.
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.