EGEE-II INFSO-RI- 031688 Enabling Grids for E-sciencE www.eu-egee.org EGEE and gLite are registered trademarks Sicurezza in EGEE Vincenzo Ciaschini Roma 26/3/2009
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
EGEE and gLite are registered trademarks
Sicurezza in EGEE
Vincenzo Ciaschini
Roma
26/3/2009
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Obiettivi
• Single Sign On:– Un utente che manda job su piu’ farm non deve battere la
password piu’ volte. E neppure in altri casi!
• Nessuna Registrazione Locale– Non si richiede all’utente di registrarsi preventivamente sulle
farm a cui manda i job
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Certificati
• La sicurezza in grid si basa su certificati X.509– Ogni utente DEVE avere un certificato.– Ogni servizio con cui l’utente interagisce DEVE avere un
certificato.
• SSO => L’autenticazione con piu’ servizi deve essere trasparente.– Un job deve andare in esecuzione, scaricare dati, registrarne di
nuovi, etc… Ogni operazione e’ autenticata Da questo nasce il concetto di proxy.
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Proxy 1/2
• Un certificato proxy e’ un nuovo certificato creato a partire da un certificato utente o da un altro proxy– Possiede una nuova chiave privata.– Puo’ dunque essere usato per autenticarsi.– In genere dura molto meno del certificato originale.– Serve un proxy “base” creato ad inizio sessione lavorativa
‘voms-proxy-init –voms <VO>’– Un utente manda un job
Il servizio chiede e ottiene un proxy del certificato. Il job riceve tale proxy, e puo’ usarlo per autenticarsi con lo storage.
• [marotta@testbed002 rrr]$ grid-proxy-info• subject : /C=IT/O=INFN/OU=Personal
Certificate/L=CNAF/CN=Vincenzo Ciaschini/CN=proxy• issuer : /C=IT/O=INFN/OU=Personal
Certificate/L=CNAF/CN=Vincenzo Ciaschini• identity : /C=IT/O=INFN/OU=Personal
Certificate/L=CNAF/CN=Vincenzo Ciaschini
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Proxy 2/2
• Esempio di una catena di proxy
• I job durano in genere piu’ a lungo dei proxy.– Ma il job puo’ aver bisogno di autenticarsi ancora– Serve quindi un servizio che permetta di rinnovare I proxy
• Questo servizio si chiama proxy renewal
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Proxy Renewal
• L’utente in origine sottomette un proxy di lunga durata (un mese/una settimana) al proxy renewal
• Il meccanismo del workload si occupa di rinnovare periodicamente il proxy usato dal job con uno nuovo ottenuto dal proxy renewal
• Tutto questo perche’ i proxy hanno la chiave privata sprotetta– Se un proxy viene rubato puo’ essere usato per autenticarsi da
chiunque– Quindi I proxy durano poco
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
VO
• VO = gruppo di utenti che lavorano insieme– Il set di utenti cambia spesso.– Non tutti gli utenti sono uguali.
Gruppi di lavoro diversi, ruoli diversi dentro la VO Non tutti hanno lo stesso livello di accesso alle risorse.
• Non ha senso listare esplicitamente tutti gli utenti su tutte le risorse– Occorre un mezzo per raggrupparli insieme => VOMS
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
VOMS
• VOMS e’ una Attribute Authority X.509– E anche una Attribute Authority SAML
• Tutti gli utenti di una VO sono registrati– Divisi in grouppi– Con ruoli– Altri Attributi
• Integrazione con Shibboleth– Attributi da shibboleth sono disponibili alla grid via un gateway VOMS.
• Esempi:/vo1 gruppo/vo1/group1 sottogruppo/vo1/group1/Role=TestRole ruoli in un sottogruppo
login = marottaguarantor = Vincenzo C. (/vo1/group1/Role=TestRole)location = Bologna (/vo1/group1)
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
VOMS
• L'utente ottiene credenziali da VOMS, in formato X509 AC o SAML, e puo' presentarle durante l'autorizzazione.– Si richiede mutua autenticazione col server per ottenerle
• Tali credenziali contengono gli attributi di cui prima, e sono firmati dal server.
• Ci sono diversi modi per trasportarle ai servizi: il piu' usato e' un'estensione del certificato proxy.– Trasparente per chi non le cerca.
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Job submission security
1. Un CE riceve un job, accompagnato da un proxy
2. Il proxy e’ validato
3. Gli attributi sono estratti dal proxy
4. (non al momento) Un servizio di policy viene contattato per verificare se la richiesta e’ accettabile
5. A seconda degli attributi (o della loro assenza) l’utente di grid e’ mappato su un account locale
6. Il job viene spedito al batch system
7. Protocolli tra CE ed esterno (GSI)
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Sicurezza dei dati
1. I dati sono registrati come appartenenti non ad un utente unix, ma ad un certificato o ad un set di attributi
2. Le richieste arrivano tutte accompagnate da un proxy
3. Il proxy viene validato
4. Gli attributi sono estratti dal proxy
5. A seconda del proprietario del proxy e degli attributi viene o non viene dato accesso ai file
6. A parte questo, protocolli standard (SRM)
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Servizio di autorizzazione
• Composto da un Policy Decision Point (PDP) dove si prendono le decisione dipendentemente dalle policy inserite.
• Policy Administration Point (PAP) permette di inserire policy.– Permette anche di ricevere policy da PAP remoti
• Un servizio che voglia usarlo puo' demandare la decisione al servizio inviandogli una richiesta
• Policy in XACML