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 gridmapfile. 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. grid-mapfile generation o=xyz, dc=edg, dc=org o=testbed, dc=edg, dc=org ou=People ou=People CN=Mario Rossi CN=John Smith Authentication Certificate ou=tb1 ou=Admin VO Directory CN=Franz Elmer Authentication Certificate CN=John Smith “Authorization Directory” Authentication Certificate mkgridmap local users CN=Franz Elmer grid-mapfile 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 GSI vomsd Auth DB vadmind soap Admin client VOMS Server Meccanismo del VOMS Authentication U S E R V O M S Request User’s attributes C=IT/O=INFN /L=CNAF /CN=Pinco Palla /CN=proxy User’s attributes Auth DB * Inserted in a non critical extension of the user proxy. * OID: 1.3.6.1.4.1.8005.100.1 00.1 /C=IT/O=INFN/L=CNAF/CN=Vincenzo Ciaschini/[email protected] /C= IT/O=INFN/CN=INFN CA user’s identity /C=IT/O=INFN/OU=gatekeeper/L=PR /CN=gridce.pr.infn.it/[email protected] /C=IT/O=INFN/CN=INFN CA VO: CMS * One for each VOMS server contacted 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: ● CA certificates 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: – ● http://cvs.infn.it/cgi-bin/cvsweb.cgi/Auth Farm di Datatag: – Server: aaa-test.cnaf.infn.it:15000 – Client: grid006f.cnaf.infn.it