Virtual Organizations e Security Vincenzo Ciaschini INFN-CNAF 14/2/2002
Virtual Organizations Raggruppano utenti e risorse Implementate come cataloghi Per l'autorizzazione, sono elenchi di utenti.
Tipi di VO LDAP Server VOMS
LDAP – Funzionamento Subject dei certificati nel server LDAP. mkgridmap legge i server e riunisce i dati nel grid- mapfile. L'utente esegue il grid-proxy-init e invia il job al broker. grid-mapfile del CE letto da Broker per decidere a quale CE inviare le richieste -> grid-mapfile pubblicato nello schema. grid-mapfile letto dal CE per autorizzare e assegnare l'UID alle richieste.
“Authorization Directory” grid-mapfile generation o=testbed, dc=edg, dc=org CN=Franz Elmer ou=People CN=John Smith mkgridmap grid-mapfile VO Directory “Authorization Directory” CN=Mario Rossi o=xyz, dc=edg, dc=org Authentication Certificate ou=tb1 ou=Admin local users ban list
Esempio di mkgridmap.conf #### GROUP: group URI [lcluser] # EDG Standard Virtual Organizations group ldap://grid-vo.nikhef.nl/ou=testbed1,o=alice,dc=eu-datagrid,dc=org .alice group ldap://grid-vo.nikhef.nl/ou=testbed1,o=atlas,dc=eu-datagrid,dc=org .atlas group ldap://grid-vo.nikhef.nl/ou=tb1users,o=cms,dc=eu-datagrid,dc=org .cms group ldap://grid-vo.nikhef.nl/ou=tb1users,o=lhcb,dc=eu-datagrid,dc=org .lhcb group ldap://grid-vo.nikhef.nl/ou=tb1users,o=biomedical,dc=eu-datagrid,dc=org .biome group ldap://grid-vo.nikhef.nl/ou=tb1users,o=earthob,dc=eu-datagrid,dc=org .eo group ldap://marianne.in2p3.fr/ou=ITeam,o=testbed,dc=eu-datagrid,dc=org .iteam group ldap://marianne.in2p3.fr/ou=wp6,o=testbed,dc=eu-datagrid,dc=org .wpsix # Other Virtual Organizations group ldap://grid-vo.cnaf.infn.it/ou=testbed1,o=infn,c=it .infngrid #group ldap://vo.gridpp.ac.uk/ou=testbed,dc=gridpp,dc=ac,dc=uk .gridpp #group ldap://babar-vo.gridpp.ac.uk/ou=babar,dc=gridpp,dc=ac,dc=uk .babar #### Optional - ACL: deny|allow pattern_to_match #allow *INFN* #### Optional - GRID-MAPFILE-LOCAL #gmf_local /opt/edg/etc/grid-mapfile-local
Problemi di LDAP Accesso pubblico. (Equivalente a pubblicare su internet il passwd) Poco sicuro. (Comunicazioni in chiaro e non protette) Non scalabile. (Elevato traffico. Difficoltà di aggiornamento) Poco flessibile. (Tutto o niente. Conflitto in caso lo stesso utente sia membro di piu' VO)
VOMS – Utilizzo (½) Subject e CA dei certificati memorizzati nel server VOMS. (Insieme a informazioni come appartenenza a gruppi, ruoli, capabilities, ecc... piu' altre definite dalla VO) L'utente esegue voms-proxy-init e ottiene un le informazioni presenti nel server VOMS riguardanti l'utente firmate dal server stesso. È possibile contattare più server. Le informazioni sono incluse in una estensione del proxy standard a formare un voms-proxy. L'utente invia la richiesta al Broker.
Schema di architettura User client Admin client Auth DB vomsd vadmind VOMS Server soap GSI
Meccanismo del VOMS USER VOMS Authentication Request Auth DB C=IT/O=INFN /L=CNAF /CN=Pinco Palla /CN=proxy User’s attributes USER
* Inserted in a non critical extension of the user proxy. * OID: 1.3.6.1.4.1.8005.100.100.1 * One for each VOMS server contacted /C=IT/O=INFN/L=CNAF/CN=Vincenzo Ciaschini/Email=Vincenzo.Ciaschini@cnaf.infn.it /C= IT/O=INFN/CN=INFN CA user’s identity /C=IT/O=INFN/OU=gatekeeper/L=PR /CN=gridce.pr.infn.it/Email=alfieri@pr.infn.it /C=IT/O=INFN/CN=INFN CA VO: CMS URI:gridce.pr.infn.it:15000 server identity TIME1: 020710134823Z TIME2: 020711134822Z GROUP: montecarlo ROLE: administrator CAP: capability user’s info SIGNATURE: .........L...B]....3H.......=".h.r...;C'..S......o.g.=.n8S'x..\..A~.t5....90'Q.V.I..../.Z*V*{.e.RP.....X.r.......qEbb...A...
VOMS – Utilizzo (2/2) Il CE pubblica le VO accettate. Il Broker confronta le informazioni presenti nel voms-proxy con l'elenco delle VO dei CE e sceglie il CE a cui spedire il job. Il CE riceve il voms-proxy, ne estrae l'estensione VOMS e tramite LCAS e LCMAPS decide se autorizzare l'utente e quale uid assegnargli.
VOMS – Vantaggi (1/2) Tutte le comunicazioni sono protette e cifrate. È possibile definire politiche per l'accesso alle informazioni da parte delle macchine. Confidenzialità: Un utente non può vedere le informazioni relative ad altri utenti. Le VO possono modificare la lista delle informazioni matenute I servizi possono definire politiche più articolate.
Software Requirements (1/2) VOMS Server: Globus-GSI CA certificates Client:
VOMS – Disponibilità Software rilasciato pochi giorni fa: Voms server, voms-proxy-init e mkgridmap++ disponibili sulla farm di Datatag. Plugin LCAS in via di sviluppo.
VOMS – Vantaggi (2/2) Non e' piu' necessario pubblicare la lista degli appartenenti ad una VO e la lista degli utenti acettati da una macchina. Gestione della VO basata su DB.
Transizione mkgridmap++ Funziona come mkgridmap, ma legge i dati da un server VOMS invece che da LDAP. Accesso al server VOMS ristretto ai soli CE. Non inficia il funzionamento di altri meccanismi come LDAP.
Software Requirements (2/2) mkgridmap++ VOMS Server Apache Mod_ssl Vari moduli perl (DBI, DBD, libxml-enno, ecc...) CE Vari moduli perl (LWP, libxml-enno, ecc...)
Riferimenti: Server CVS dell'INFN: Farm di Datatag: http://cvs.infn.it/cgi-bin/cvsweb.cgi/Auth Farm di Datatag: Server: aaa-test.cnaf.infn.it:15000 Client: grid006f.cnaf.infn.it