RFC 4512 - Lightweight Directory Access Protocol (LDAP): Modelli di informazioni di directory
- Stato: Proposed Standard
- Pubblicato: June 2006
- Stream: IETF
- Sostituisce: RFC2251, RFC2252, RFC2256, RFC3674
- Errata: Nessun errata
Riassunto
Il Lightweight Directory Access Protocol (LDAP) è un protocollo Internet per l'accesso a servizi di directory distribuiti che agiscono in conformità con i modelli di dati e servizi X.500. Questo documento descrive i modelli di informazioni di directory X.500, come utilizzati in LDAP.
1. Introduzione
Questo documento descrive i modelli di informazioni di directory LDAP. Questi modelli si basano sui modelli di informazioni di directory X.500 [X.501], ma sono adattati in alcuni aspetti per soddisfare le esigenze di LDAP.
1.1 Relazione con altre specifiche LDAP
Questo documento fa parte della specifica tecnica LDAP [RFC4510]. Fornisce il modello di base per [RFC4511] (il protocollo LDAP) e altri documenti correlati.
2. Modello di informazioni utente di directory
Una directory è una raccolta contenente informazioni sugli oggetti. Queste informazioni sono organizzate in un albero di informazioni di directory (DIT - Directory Information Tree).
2.1 L'albero di informazioni di directory (DIT)
Il DIT è una struttura ad albero in cui ogni nodo è una voce (Entry). Le voci rappresentano oggetti del mondo reale (come persone, organizzazioni, dispositivi, ecc.).
2.2 Struttura di una voce
Ogni voce è composta da un insieme di attributi (Attribute).
- Ogni attributo ha un tipo (Attribute Type) e uno o più valori (Attribute Value).
- I tipi di attributo sono identificati in modo univoco da identificatori di oggetto (OID) e di solito hanno un nome breve (ad esempio,
cnpercommonName).
2.3 Denominazione delle voci
Ogni voce ha un nome univoco nel DIT, chiamato nome distintivo relativo (RDN - Relative Distinguished Name).
- Un RDN è composto da una o più coppie attributo-valore nella voce (ad esempio
cn=John Doe). - Il nome completo di una voce è il nome distintivo (DN - Distinguished Name), che è la sequenza di tutti gli RDN dalla radice a quella voce (ad esempio
cn=John Doe,ou=People,dc=example,dc=com).
2.4 Classi di oggetti (Object Classes)
Ogni voce ha un attributo speciale chiamato objectClass.
- Il valore dell'attributo
objectClassdetermina quali attributi la voce deve contenere (MANDATORY) e quali attributi è autorizzata a contenere (OPTIONAL). - Le classi di oggetti definiscono il tipo di voce (ad esempio
person,organization,device). - Esistono tre tipi di classi di oggetti:
- ABSTRACT: Classe astratta, non può essere utilizzata direttamente per creare voci, può solo essere ereditata.
- STRUCTURAL: Classe strutturale, definisce il tipo principale della voce. Ogni voce deve appartenere a e solo a una catena di classi strutturali.
- AUXILIARY: Classe ausiliaria, utilizzata per aggiungere attributi aggiuntivi alle voci.
2.5 Descrizioni degli attributi (Attribute Descriptions)
Le descrizioni degli attributi identificano il tipo di attributo e possono includere opzioni (Options).
- Formato:
attributetype;option;option - Le opzioni comuni includono tag di lingua (ad esempio
cn;lang-en).
3. Informazioni amministrative e operative della directory
Oltre alle informazioni utente, la directory contiene anche informazioni amministrative e operative.
3.2 Sottovoci (Subentries)
Le sottovoci sono voci speciali utilizzate per memorizzare informazioni amministrative (come controllo degli accessi, definizioni dello schema). Le sottovoci non sono generalmente visibili a meno che non vengano esplicitamente richieste in un'operazione di ricerca.
3.4 Attributi operativi (Operational Attributes)
Gli attributi operativi sono mantenuti dal server e utilizzati per gestire le operazioni di directory (come createTimestamp, creatorsName). Di solito non vengono restituiti con i normali attributi utente, a meno che non sia esplicitamente richiesto.
4. Schema della directory (Directory Schema)
Lo schema definisce le classi di oggetti, i tipi di attributo, le regole di corrispondenza e le sintassi consentiti nella directory.
4.1 Definizioni dello schema
LDAP consente la scoperta e la lettura delle informazioni dello schema tramite il protocollo LDAP stesso. Le informazioni dello schema sono memorizzate in una sottovoce speciale chiamata sottovoce di sottoschema (Subschema Subentry).
Le principali definizioni degli elementi dello schema includono:
- Object Class Definitions: Definisce le classi di oggetti.
- Attribute Type Definitions: Definisce i tipi di attributo.
- Matching Rule Definitions: Definisce come confrontare i valori degli attributi.
- Attribute Syntax Definitions: Definisce il formato dei dati dei valori degli attributi.
4.2 Sottovoce di sottoschema
I client possono trovare la sottovoce di sottoschema che controlla una voce specifica interrogando l'attributo subschemaSubentry del Root DSE.
5. Modello di informazioni DSA (Server)
Un server LDAP (chiamato anche DSA - Directory System Agent) non solo memorizza i dati della directory, ma mantiene anche informazioni sul proprio stato e configurazione. Queste informazioni sono generalmente memorizzate nel Root DSE.
5.1 Requisiti dei dati specifici del server
Il Root DSE contiene attributi come supportedLDAPVersion, supportedSASLMechanisms, supportedExtension, ecc., informando il client delle capacità del server.
8. Considerazioni sulla sicurezza
Questo documento descrive il modello di informazioni e non implica direttamente protocolli di sicurezza, ma le definizioni dello schema e il controllo degli accessi (tramite sottovoci) sono strettamente legati alla sicurezza.
Nota: Questa traduzione è fornita come riferimento. Consultare l'RFC 4512 originale per i dettagli ufficiali.