Che cos'è LDAP?


10

Come spiegheresti LDAP a un amministratore di sistema che ne ha sentito parlare e che forse ha interagito con esso, ma che non l'ha mai capito?

Le analogie vanno bene, ma per favore includi alcuni dettagli tecnici salienti per aiutare a radicarle.

Chiesto nello spirito di Active Directory spiegato


Per informazioni più dettagliate sulla risposta di David Pashley di seguito, consultare zytrax.com/books/ldap
sh-beta

Risposte:


10

Ho scritto questo articolo qualche anno fa, che spiega le basi di LDAP


Sicuramente la risposta più completa, ma cosa penseresti di copiare + incollare il testo nella tua risposta? Migliore indicizzazione della ricerca ed evitiamo futuri problemi di collegamento ...
sh-beta,

3
È un po 'lungo e non ha una licenza CC. L'articolo è stato lì per tre anni e non ho intenzione di perdere quei collegamenti.
David Pashley,

Speriamo che rimanga. Articolo eccellente.
sh-beta,

Quell'articolo è un gioiello per quelli di noi che ne hanno sentito parlare ma non hanno avuto il privilegio di provarlo. Non ho ancora finito di leggerlo a questo punto, ma da quello che ho letto mi ha aiutato ad adattare molte delle mie nuove conoscenze acquisite finora. Spero che continui così fino a quando rimarrà valido.
Dark Star1

5

LDAP (Lightweight Directory Access Protocol) è un protocollo a livello di applicazione che consente ai client di interfacciarsi con servizi di directory conformi allo scopo di manipolare le entità di directory o richiedere informazioni alla directory. Uno dei suoi principali vantaggi è fornire un'interfaccia standardizzata per i sistemi su più piattaforme.

Sulla maggior parte dei sistemi di directory LDAP non è l'unica interfaccia disponibile per la comunicazione con il server. Di solito esistono altre interfacce native che potrebbero fornire prestazioni e altri vantaggi.

Il concetto standard alla base di una sessione LDAP è questo:

  1. Connettersi al server conforme LDAP
  2. Associare alla directory a un certo livello di base (chiamato BaseDN). Di solito si tratta di un oggetto contenitore da qualche parte all'interno della struttura della directory come un'unità organizzativa. Potresti essere o meno in grado di eseguire il bind anonimo a seconda che la directory sia configurata o meno per consentire l'accesso anonimo
  3. Esegui la tua richiesta o dichiarazione

Le query possono essere eseguite come segue:

  • all'interno dello stesso livello nella struttura a cui sei associato (una query con ambito Base)
  • all'interno dello stesso livello o di un livello al di sotto del punto a cui sei associato (una query ambito One Level)
  • ricorsivamente giù per l'intera struttura a partire da dove sei legato (una query sceop Subtree)

Poiché le directory possono essere molto distribuite e contenere una quantità eccessiva di informazioni, agli amministratori di directory viene generalmente offerta la possibilità di limitare le query LDAP a un determinato numero di risultati (1000 è un massimo comune per un set di risultati).


1
Le directory LDAP sono ottimizzate per la lettura e in genere hanno scarse prestazioni di scrittura rispetto a database simili a SQL. Il database LDAP può essere utilizzato in vari modi, ma l'applicazione più tipica (al di fuori di Microsoft AD) è un archivio dati back-end di autenticazione utente / gruppo.
Matt,

5

Pensalo come un database organizzato in un albero, quindi ad esempio puoi avere una struttura tipica di un'azienda organizzata in modo naturale. Una società di alto livello, con gruppi / dipartimenti sotto di essa e dipendenti alla fine, che possono avere proprietà multiple (come nome, telefono, posta, indirizzo, ecc.). Digli quindi che è adatto anche per tutti gli altri dati organizzati in modo simile e che sono accessibili da un protocollo aperto da varie piattaforme / lingue.

Inoltre, da Wikipedia: "Una directory è un insieme di oggetti con attributi organizzati in modo logico e gerarchico. L'esempio più comune è la rubrica telefonica, che consiste in una serie di nomi (di persone o organizzazioni) organizzati in ordine alfabetico, con ogni nome con un indirizzo e un numero di telefono allegati. "

Questa è la spiegazione più intuitiva che mi viene in mente, senza entrare nei dettagli tecnici.


Una solida spiegazione non tecnica, ma penso che alcuni dettagli tecnici siano appropriati (il tuo pubblico è amministratore di sistema, non manager).
sh-beta,

Quindi avresti dovuto chiarire la tua domanda, credo. Ecco come spiegherei un amministratore di sistema che mi ha chiesto "Ehi, ho sentito parlare del ladro LDAP qua e là e ho dato un'occhiata a wurley.demo.phpldapadmin.info ma non l'ho capito davvero." Da quel momento in poi è facile come leggere Wikipedia, tutorial, libri o RFC.
Buster

Domanda chiarita. E non credo che la frase "Facile come leggere [...] la RFC" sia mai stata scritta prima.
sh-beta,

3

È un sistema centralizzato volto a fornire un rapido accesso ai dati in cui i dati reali sono strutturati in un albero come la formazione. Il linguaggio che usi per comunicare con quel sistema centralizzato si chiama LDAP, che è proprio questo, un protocollo, molto simile a POP e IMAP è un protocollo. Ha la capacità di aggiornare e cercare i dati attraverso l'albero.


3

Innanzitutto, LDAP da solo è solo un protocollo, non fa nulla a meno che non ci sia un server LDAP con cui interagire.

Ti consente di accedere a una directory sul server LDAP; una buona analogia sarebbe un elenco telefonico cartaceo o un elenco di servizi (quest'ultimo è probabilmente migliore). Se vuoi trovare un posto dove riparare la tua auto, supponendo che tu non abbia familiarità con i garage locali, potresti cercare un elenco di servizi cartacei per trovare meccanici nella tua zona.

Allo stesso modo, LDAP consente di cercare informazioni in una directory conforme a LDAP in esecuzione su un server. Ogni voce nella directory è un "oggetto" che può avere varie proprietà e un'applicazione che interagisce con la directory si aspetta che le cose vengano formattate in un certo modo. Di progettazione è flessibile ed estensibile, quindi non sei limitato a ciò che qualcun altro potrebbe aver pensato.

Tornando all'analogia del meccanico, le informazioni possono essere nome, indirizzo, costo all'ora, se è noto per sabotare la tua auto in modo da poterti fare affari extra, dimensioni di budello di birra e così via. I meccanici delle auto potrebbero essere memorizzati in un nodo dell'albero delle directory, i riparatori hi-fi potrebbero essere memorizzati in un altro. Ciascuno di questi tipi di oggetti non è tenuto a condividere le stesse proprietà, quindi alcune delle informazioni per un meccanico di auto non saranno presenti su un riparatore di hi-fi, che a sua volta avrà il suo set di informazioni uniche che si riferiscono esclusivamente a lui.

È più comunemente usato per contenere informazioni sugli utenti in una rete, ma in teoria potresti inserirvi qualsiasi cosa. In uno scenario di rete, stiamo parlando di informazioni sull'organizzazione della persona, nonché informazioni sulla sicurezza, informazioni sulla configurazione per le applicazioni e così via. Poiché è tutto archiviato centralmente, è possibile centralizzare in modo semplice e flessibile MOLTE informazioni in un unico database ottimizzato per ricerche ultraveloci ed è accessibile da qualsiasi applicazione conforme.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.