Cos'è LDAP?
(1) Prima di introdurre cos'è LDAP, rivediamo una cosa: "Cos'è un servizio di directory?" ”
1. Il servizio directory è un database speciale che contiene dettagli descrittivi basati su attributi con capacità di filtraggio.
2. È dinamico, flessibile e facilmente scalabile.
Ad esempio: organizzazione e gestione del personale, rubrica telefonica, rubrica degli indirizzi.
(2) Dopo aver compreso il servizio di directory, diamo un'occhiata all'introduzione di LDAP:
LDAP (Light Directory Access Portocol), che è un protocollo di accesso alla directory leggero basato sullo standard X.500.
Una directory è un database ottimizzato per interrogare, navigare e ricercare, organizzando i dati in una struttura ad albero, simile a una directory di file.
I database a directory si differenziano dai database relazionali in quanto hanno ottime prestazioni di lettura ma scarse prestazioni di scrittura, e non dispongono di funzioni complesse come l'elaborazione delle transazioni e il rollback, rendendoli inadatti alla memorizzazione di dati frequentemente modificati. Quindi l'indice viene intrinsecamente usato per le interrogazioni, proprio come il suo nome.
Il servizio di directory LDAP è un sistema costituito da un database di directory e da un insieme di protocolli di accesso.
(3) Perché dovrebbe essere utilizzato
LDAP è uno standard Internet aperto, che supporta protocolli Internet multipiattaforma, ampiamente riconosciuto nel settore, e la maggior parte dei prodotti sul mercato o nella comunità open source ha aggiunto il supporto per LDAP, quindi per questo tipo di sistema non è necessario personalizzare separatamente, basta effettuare una semplice configurazione tramite LDAP per autenticare e interagire con il server. "Semplice e grezzo" può ridurre notevolmente i costi di sviluppo e attracco ripetuti.
I principali prodotti di LDAP:
| | | | | Archiviazione basata su database di testo, velocità elevata. | | | I database basati su DB2 hanno velocità media. | | | La memoria basata su database di testo è veloce e non comunemente utilizzata. | | Microsoft Active Directory | Secondo gli utenti di sistemi WINDOWS, la velocità di elaborazione di grandi volumi di dati è media, ma è facile da mantenere, ha un ecosistema ampio ed è relativamente semplice da gestire. | | | OpenLDAP è un progetto open-source veloce ma non un'applicazione mainstream. |
Modello base di LDAP
Ogni sistema e protocollo avrà il proprio modello, e LDAP non fa eccezione; prima di comprendere il modello base di LDAP, dobbiamo comprendere diversi concetti di albero di directory LDAP:
(1) Concetto di albero di catalogo
1. Albero delle directory: In un sistema di servizi directory, l'intero insieme di informazioni della directory può essere rappresentato come un albero informativo della directory, e ogni nodo nell'albero è una voce.
2. Voce: Ogni voce è un record e ogni voce ha un proprio nome distintivo (DN).
3. Classe oggetto: Un insieme di attributi corrispondenti a un tipo di entità, la classe oggetto, può essere ereditato, così che anche gli attributi necessari della classe madre vengano ereditati.
4. Attributi: Descrivi le informazioni su un aspetto della voce, un attributo consiste in un tipo di attributo e uno o più valori di attributo, e gli attributi hanno attributi obbligatori e non obbligatori.
(2) DC, UID, OU, CN, SN, DN, RDN
| | | | | La parte del nome di dominio è suddivisa in diverse parti sotto forma di un nome di dominio completo, ad esempio example.com nome di dominio diventa dc=esempio, dc=com (la posizione di un record) | | | ID utente songtao.xu (ID di un record) | | | Unità organizzative, le unità organizzative possono contenere vari altri oggetti (inclusi altri gruppi organizzativi), come il "gruppo OA" (l'organizzazione a cui appartiene un documento) | | | Nomi pubblici, come "Thomas Johansson" (il nome di un disco) | | | | | | "uid=songtao.xu,ou=OA Group,dc=example,dc=com", la posizione di un record (unico) | | | La discriminazione relativa, simile ai percorsi relativi in un file system, fa parte della struttura ad albero delle directory che non ha nulla a che fare con essa, come "uid=tom" o "cn= Thomas Johansson" |
Introduzione a OpenLDAP
LDAP è un protocollo leggero di accesso alla directory (LDAP), che è un'implementazione di un'architettura open source di gestione centralizzata degli account e supporta molte versioni di sistema, ed è adottato dalla maggior parte delle aziende Internet.
LDAP fornisce e implementa il servizio informativo del servizio di directory, che è un sistema di database speciale che ha un buon effetto sulla lettura, navigazione e ricerca dei dati. I servizi di directory sono generalmente utilizzati per contenere informazioni descrittive basate sugli attributi e supportano funzioni di filtraggio sofisticate, ma i servizi di directory OpenLDAP non supportano complesse politiche di gestione delle transazioni o di rollback necessarie per un gran numero di operazioni di aggiornamento di database generali.
LDAP ha due standard, ovvero X.500 e LDAP. OpenLDAP si basa sullo standard X.500, elimina le funzioni complesse di X.500 e può essere personalizzato con estensioni aggiuntive secondo le proprie esigenze, ma ci sono anche differenze rispetto a X.500, come il fatto che OpenLDAP supporta il protocollo TCP/IP, ecc., mentre TCP/IP è attualmente il protocollo per accedere a Internet tramite Internet.
OpenLDAP può funzionare direttamente sui più semplici e generali livelli di protocollo di trasporto TCP/IP o altri livelli affidabili, evitando il sovraccarico ai livelli di sessione e presentazione OSI, rendendo l'établissement della connessione e l'elaborazione dei pacchetti più semplici e veloci, rendendolo ideale per applicazioni Internet e di rete aziendale.
Le informazioni nella directory OpenLDAP sono memorizzate in una gerarchia ad albero (molto simile a DNS), e il livello superiore è chiamato "DN base", come "dc=mydomain, dc=org" o "o=mydomain.org"; il primo è più flessibile ed è usato anche in Windows AD. Ci sono molti file e directory sotto la directory radice e, per separare logicamente queste grandi quantità di dati, OpenLDAP utilizza OU (Organization Unit) come altri protocolli di servizio directory, che può essere utilizzato per rappresentare organizzazioni interne aziendali, come dipartimenti, ecc., e può anche rappresentare attrezzature, personale, ecc. Allo stesso tempo, le OU possono anche avere sotto-OU, che possono essere utilizzate per rappresentare classificazioni più dettagliate.
Ogni record in OpenLDAP ha un nome unico che lo distingue dagli altri, DN (Distinguished Name), e la parte della "foglia" è chiamata RDN (Relative Identifier of User Entry). Ad esempio, cn in dn:cn=tom, ou=animals, dc=ilanni, dc=com è RDN, e RDN deve essere unico in un'OU.
Di default, OpenLDAP utilizza Berkeley DB come database backend, mentre il database Berkeley DB memorizza principalmente dati sotto forma di tipi di dati hash, come coppie chiave-valore.
BerkeleyDB è un tipo speciale di database ottimizzato per query e lettura, utilizzato principalmente per la ricerca, la navigazione e l'aggiornamento di operazioni di interrogazione, e generalmente ha un buon effetto sulla scrittura dei dati contemporaneamente, nel consultare e ricercare più volte. BerkeleyDB non supporta l'elevata velocità di concorrenza e le operazioni transazionali complesse supportate dai database transazionali (MySQL, MariDB, Oracle, ecc.).
|