Università Cattolica del Sacro Cuore - Sede di Brescia Facoltà di Scienze Matematiche Fisiche e Naturali Corso di laurea in Informatica Architettura dei Servizi di Directory Relatore: Dott. Daniele Tessera Correlatore: Dott. Andrea Pollini Laureando: Uberti Federico matricola n. 3105415 Indice • Definizione di directory e del servizio di directory. • Servizio di directory X.500. • L’avvento di LDAP. • Implementazioni del protocollo LDAP. • Java Naming Directory Interface. • Sistema per l’autenticazione e l’autorizzazione degli utenti. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 Definizione di directory e del servizio di directory Una directory è un contenitore di dati. Ne esistono due tipologie: - Le directory non in linea. - Le directory in linea. Il servizio di directory consente l'archiviazione ed il recupero di informazioni di directory per utenti ed applicazioni. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 X.500 X.500 è uno standard ITU, nato verso la fine degli anni ottanta ed affiancato dal protocollo DAP. X.500 è descritto da tre modelli standard: 1. Modello informativo, descrive la struttura ed il tipo dell’informazione memorizzata. 2. Modello del directory, descrive la distribuzione delle informazioni ed i metodi d’accesso al directory. 3. Modello di sicurezza, descrive i meccanismi d’autenticazione, d’autorizzazione e verifica l’integrità dei dati. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 X.500 Entry base del DIT RDN DN RDN Entry intermedia 16/12/2005 Entry foglia Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 LDAP (Lightweight Directory Access Protocol) Protocollo per l’accesso a directory X.500, utilizza TCP/IP e rappresenta un’alternativa leggera al DAP. • Protocol model. • Data model. • Security model. È un protocollo “stateless”. Le operazioni eseguibili in LDAP sono: Query, Update, Authentication. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 LDAP (Lightweight Directory Access Protocol) Una query d’esempio, una ricerca LDAP: $/> search -server = “my_server” -username = “cn = Uberti Federico” -password = “xxxx” -action = “query” -start = “o = Unicatt , ou = DMF” -scope = “subtree” -filter = “& (position = students) (take_a_degree = 16/12/2005)” 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 LDAP (Lightweight Directory Access Protocol) Le più conosciute implementazioni di LDAP: • OpenLDAP il protocollo è rilasciato come open source. • ActiveDirectory prodotto dalla Microsoft, sviluppato in un contesto di supporto di rete per sistemi operativi. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 JNDI (Java Naming Directory Interface) Il package JNDI comprende il service provider per gestire il principale sistema di directory attualmente disponibile, LDAP. Le operazioni previste dallo standard JNDI: • Connessione. • Autenticazione. • Operazioni sui dati. • Disconnessione. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 JNDI (Java Naming Directory Interface) Connessione ed autenticazione: Un esempio di stringa di connessione per il prodotto IBM WebSphere: INITIAL_CONTEXT_FACTORY = com.ibm.websphere.naming.WsnInitialContextFactory PROVIDER_URL = iiop://localhost:900 Operazioni sui dati: Le ricerche (le operazioni più frequenti) si effettuano utilizzando: • La connessione. • Un punto base da cui iniziare la ricerca. • Uno “scope” di ricerca ed i filtri. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 Sistema per l’autenticazione e l’autorizzazione degli utenti L'autenticazione è centralizzata. Contenuto di un nodo del DIT: le credenziali ed i diritti d’accesso di un utente. Sono tre i metodi per la rappresentazione degli utenti nel DIT. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005 Conclusioni • L’architettura originale dei servizi di directory, l’X.500. • Il protocollo LDAP, l’evoluzione di X.500. • Il package JNDI. • Analisi di un sistema, basato su un server LDAP, per l’autenticazione e la gestione dei diritti d’accesso degli utenti a vari tipi di servizio. 16/12/2005 Università Cattolica del Sacro Cuore – Sede di Brescia – A.A. 2004/2005