O LDAP (Lightweight Directory Access Protocol, traduzir como Protocolo de acesso aos anuários ligeiro e pronunciar “èl-dap”) é um protocolo standard que permite gerir anuários, quer dizer, aceder a bases de informações sobre os utilizadores de uma rede através de protocolos TCP/IP.
As bases de informações são geralmente relativas a utilizadores, mas às vezes são utilizadas para outros fins como gerir material numa empresa.
O protocolo LDAP, desenvolvido em 1993 pela Universidade do Michigan, tinha por objectivo suplantar o protocolo DAP (que serve para aceder ao serviço de anuário X.500 do OSI). A partir de 1995, o LDAP tornou-se um anuário nativo (standalone LDAP), para não servir unicamente para aceder anuários de tipo X500. O LDAP é assim uma versão aligeirada do protocolo DAP, daí o seu nome Lightweight Directory Acess Protocol.
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.
O protocolo LDAP está actualmente na versão 3 e foi normalizado pelo IETF (Internet Engineering Task Force). Assim, existe um RFC para cada versão de LDAP, constituindo um documento de referência :
Por outro lado, o protocolo LDAP (na sua versão 3) propõe mecanismos de codificação (SSL,…) e de autenticação (SASL) que permitem proteger o acesso às informações armazenadas na base.
O LDAP apresenta as informações sob a forma de uma arborescência de informações hierárquica chamada DIT (Directory Information Tree), na qual as informações, chamadas entradas (ou ainda DSE, Directory Service Entry), são representadas sob a forma de ramos.
Um ramo situado na raíz de uma ramificação chama-se raiz ou sufixo (em inglês root entry).
Cada entrada do anuário LDAP corresponde a um objecto abstracto ou real (por exemplo uma pessoa, um objecto material, parâmetros,…).
Cada entrada é constituída por um conjunto de pares chave/valor chamados atributos.

Cada entrada é constituída por um conjunto de atributos (pares chave/valor) que permitem caraterizar o objecto que a entrada define. Existem dois tipos de atributos:
Uma entrada é indexada por um nome distinto (DN, distinguished name) que permite identificar de maneira única um elemento da arborescência.
Um DN constrói-se tomando o nome do elemento, chamado Relative Distinguished Name (RDN, isto é, o caminho da entrada em relação a um dos seus parentes), e acrescentando-lhe o conjunto do nome das entradas parentescos.
Trata-se de utilizar uma série de pares chave/valor que permite localizar uma entrada de maneira única. Eis uma série de chaves geralmente utilizadas:
uid=jeapil,cn=pillou,givenname=jean-francois
Assim, chama-se esquema ao conjunto das definições de objectos e de atributos que um servidor LDAP pode gerir. Isto permite por exemplo, definir se um atributo poder possuir um ou vários valores. Por outro lado, um atributo chamado objectclass permite definir os atributos obrigatórios ou facultativos…
O LDAP fornece um conjunto de funções (procedimentos) para efectuar pedidos sobre os dados, a fim de procurar, alterar, apagar entradas nos directórios.
Eis a lista das principais operações que o LDAP pode efectuar :
| Operação | Descrição |
|---|---|
| Abandon | Abandona a operação previamente enviada ao servidor |
| Add | Acrescenta uma entrada ao directório |
| Bind | Inicia uma nova sessão no servidor LDAP |
| Compare | Compara as entradas de um directório de acordo com critérios |
| Delete | Suprime uma entrada de um directório |
| Extended | Efectua operações vastas |
| Rename | Altera o nome de uma entrada |
| Search | Procura entradas num directório |
| Unbind | Terminauma sessão no servidor LDAP |
O LDAP fornece um formato de troca (LDIF, Lightweight Data Interchange Format) que permite importar e exportar os dados de um anuário com um simples ficheiro texto. A maioria dos servidores LDAP suporta este formato, que permite uma grande interoperabilidade entre eles.
A sintaxe deste formato é a seguinte:
[<id>] dn: <distinguished name> <attribut> : <valeur> <attribut> : <valeur> ...
<sample>