GODiVA lo IAM di INFN-AAI Claudio Bisegni Tutorial AAI-PLUS Dicembre’10 INFN-CNAF
Claudio Bisegni – GODiVA lo IAM di INFN-AAI2 IAM - Identity and Access Management AAI fornisce le A.A. di una identità conosciuta dall’INFN Archiviazione delle identità, prima di arricchirle con le informazioni relative alle A.A.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI3 I Domini in GODiVA In GODiVA è definita una struttura ad albero tipizzata(Istituzioni, Gruppi, Organigramma, etc..) Ogni tipo ha il suo insieme di Alberi, per esempio il tipo istituzione ha INFN e le sue sedi e organigramma(DataWeb) più altre istituzioni(cern, etc…)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI4 I Domini in GODiVA N-Tipologie N-Alberi per tipologia Link di un nodo ad un altro Istituzioni(INFN, CERN, etc) Organigramma ( Nomine, Esperimenti e Ruoli Scientifici scritti dal DataWeb )
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI5 I ruoli in GODiVA I ruoli sono definiti sui tipi di alberi ES: Tipologia Istituzioni(I) Personale, Associato, Ospite, Visitatore,… Un ruolo è creato per un’identità usando il “Ruolo Anagrafica”
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI6 I ruoli in GODiVA Il “Ruolo Anagrafica” specifica Il Ruolo, Il dominio di Appartenenza e il range di date Dal- Al per la validità Esempio Ruolo-Anagrafica: Anagrafica: Bisegni Claudio Ruolo: Dipedente Dominio: LNF Dal-Al: –
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI7 Identity
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI8 Le Anagrafiche nell’infn HR(SisInfo) per i Dipendenti DataWeb per gli Associati Gestione Visitatori per i Visitatori Ospiti… tanti DataBase
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI9 Le Anagrafiche nell’infn Stiamo lavorando con l’AC per centralizzare GODiVA all’uso nelle varie sedi
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI10 GODiVA e le Identità Anagrafica centralizzata Ruoli per anagrafica -> dominio Evitare le duplicazioni ed errori UUID ( ) per codice univoco globale delle identità Workflow di approvazione dell’anagrafica per evitare errori di digitazione, tutti inserisco e chi ha l’autorizzazione controlla e certifica l’anagrafica
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI11 Workflow Anagrafica
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI12 Dipendenti I dipendenti sono creati e modificati in HR(Amministrazione Centrale) La Chiave di relazione tra HR e GODiVA è il codice fiscale Job di sincronizzazione dei contratti e di import dei nuovi dipendenti, schedulato per la ripetizione ad intervallo di tempo predeterminato
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI13 Associati Associazioni(DataWeb) convertito per l’uso di Oracle. legge e crea le anagrafiche degli associati da e in GODiVA Esecuzione delle API di GODiVA tramite WebService da applicazione PHP
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI14 Visitatori(2011) Import iniziale da GO GODiVA implementa tutte le funzioni di GO e la nuova auto-registrazione via sito Web 2.0: Anagrafica, con verifica Conferenza(utente verificato), con invio guest card Accesso Network Sede(GO) -> Ruolo Visitatore INFN(GODiVA)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI15 Ospiti(2011) Come dicevamo vari DB nelle varie sedi Diversi database personali, la maggior parte su FileMaker GODiVA sarà usato per archiviare gli ospiti Si stanno studiando le varie esigenze delle sedi e dei laboratori su questa categoria di identità
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI16 Gestione Anagrafica generalità
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI17 Gestione Anagrafica documenti
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI18 Gestione Anagrafica dettagli
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI19 Gestione Anagrafica dettagli Informazioni aggiuntive per l’identità, associabili a domini Aggiunta / Rimozione
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI20 Gestione Anagrafica servizi
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI21 Gestione Anagrafica servizi Aggiunta Istanza di Servizio
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI22 Gestione Anagrafica ruoli
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI23 Gestione Anagrafica ruoli Creazione Ruoli Anagrafica per Visitatore e Ospite Abilitazione/Disabilitazione di un ruoli anagrafica Modifica Date
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI24 Gestione Anagrafica creazione RA
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI25 Gestione Anagrafica ricerca
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI26 Gestione Anagrafica fusione identità Importando gli associati, ospiti e visitatori, ci saranno dei duplicati dovuti a: Errori su codice fiscale Mancanza del codice fiscale(visitatori) Etc. Con la fusione si portano i ruoli e i dettagli di un’identità in un’altra di destinazione eliminando la sorgente.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI27 Gestione Anagrafica scheda informativa La Guest Card è stata sostituita dalla scheda informativa Nominativo + Credenziali Codice Identità Codice Autorizzazione
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI28 Gestione Anagrafica autoregistrazione Ogni operazione via web e’ preceduta dal controllo di sicurezza capcha
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI29 Gestione Anagrafica autoregistrazione
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI30 Gestione Anagrafica autoregistrazione L’inserimento dell’anagrafica via Web Ognuno può chiedere di essere conosciuto dall’INFN. L’anagrafica cosi creata sarà da certificare
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI31 Gestione Anagrafica autoregistrazione In GODiVA sono censiti tutti i comuni italiani e tutti gli stati esteri. Il luogo di nascita va selezionato non e’ possibile scriverlo.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI32 Gestione Anagrafica autoregistrazione Il documento è obbligatorio A registrazione avvenuta, il richiedente riceve una mail con un link per la convalida dell’ .
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI33 Access (2011)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI34 GODiVA Provisioning e Autorizzazioni L’accesso alle applicazioni di nuova generazione viene descrito tramite l’uso degli entitelment. GODiVA usa l’attributo schacUserStatus e l’attributo eduPersonEntitelment per fornire all’indentità l’accesso alle sue funzioni.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI35 GODiVA Provisioning e Autorizzazioni L’attributo “schacUserStatus” è usato per abilitare disabilitare un servizio urn:mace:terena.org:schac:UserStatus:it:i nfn.it:godiva:enable ( identità abilitata per l’uso di GODiVA ) L’identità è quindi autorizzata all’uso di GODiVA. Per le autorizzazioni sulle funzioni viene usato l’attributo “eduPersonEntitlement”
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI36 GODIVA Provisioning e Autorizzazioni Le autorizzazioni sono codificate secondo la sintassi: urn:mace:infn.it:godiva:DominioOperazioni:Operazione +dominio (dominio di applicabilità (autorizzazione nel dominio dell’operazione)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI37 GODIVA Provisioning e Autorizzazioni Esempio: urn:mace:infn.it:godiva:gestione_anagrafica, urn:mace:infn.it:godiva:gestione_dettagli (autorizzazione all’uso della gestione dell’anagraficae dei suoi dettagli) urn:mace:infn.it:godiva:gestione_dettagli+i:infn (gestione dei dettagli dell’anagrafica per il dominio infn) caizone_anagrafica (autorizzazione per la certificazione dell’anagrafica, all’interno del processo di Gestione)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI38 GODIVA Provisioning e Autorizzazioni urn:mace:infn.it:gova:gestione_dettagli+i:infn:le urn:mace:infn.it:gova:gestione_dettagli+i:infn:lnf urn:mace:infn.it:gova:gestione_dettagli+i:infn:lnl urn:mace:infn.it:gova:provisioning_servizi+i:infn urn:mace:infn.it:gova:provisioning_servizi+i:infn:le urn:mace:infn.it:gova:provisioning_servizi+i:infn:lnf urn:mace:infn.it:gova:gestione_dettagli+i:infn urn:mace:infn.it:gova:gestione_ruoli_anagrafica+i:infn% urn:mace:infn.it:gova:gestione_servizi+i:infn% urn:mace:infn.it:gova:gestione_anagrafica urn:mace:infn.it:gova:gestione_anagrafica+i:infn urn:mace:infn.it:gova:gestione_servizi urn:mace:infn.it:gova:provisioning_servizi urn:mace:infn.it:gova:gestione_ruoli_anagraficai urn:mace:infn.it:gova:gestione_dettagli
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI39 Management
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI40 Managment GODiVA quindi permette di gestire le autorizzazioni sia mediante entitelment che medianti attributi LDAP standard Di fatto si potranno creare definizioni di servizi per qualsiasi software che sia in grado di leggere su LDAP le autorizzazioni.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI41 GODIVA Provisioning In GODiVA per definire un servizio, deve essere effettuata l’operazione di “provisioning” comprende due fasi: Definizione del servizio nel dominio Valorizzazione dei vari attributi per l’entità oggetto del provisioning
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI42 GODIVA Provisioning Il servizio è definito su un dominio (LNFMail->i:infn:lnf) La valorizzazione del servizio è fatta su: Identità(I) Ruoli dell’identità(Dipendente, Associato, etc.)(R) Dominio(LNF, LE, Cloe, etc.)(D) Ruolo dell’identità per un determinato dominio(Dipendente ai LNF)(RD)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI43 GODIVA Provisioning Nel caso del provisioning(I) sarà necessario specificare un’istanza di provisioning (Validità dal-al del servizio) Nei provisioning (R.D.RD) Il provisioning seguirà invece il periodo di validità del Ruolo Anagrafica(definito per l’identità associandole un Ruolo, un Dominio e una range di date)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI44 GODIVA Provisioning Il risultato del provisioning è sempre quello di autorizzare identità su dei servizi. Con il provisioning (I) si parla di Provisioning Diretto Con i provisioning (R,D,RD) si parla di Provisioning Indiretto o Dinamico(le identità ereditano il servizio)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI45 GODIVA Provisioning Quando il servizio sarà attivo saranno inseriti in LDAP l’attributo di schaUserStatus e tutti gli attributi definiti dal provisioning. Gli attributi del provisioning saranno presenti finche il range di date del Ruolo Anagrafica o dell’istanza di provisioning saranno valide.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI46 GODIVA Provisioning A cosa serve allora lo schacUserStatus? Casi: Nel caso di abilitazione o disabilitazione di servizio all’interno del range di date valido non conviene modificare l’intero set di attributi basta togliere lo schac Alcuni servizi potrebbero avere attributi valorizzati allo stesso modo(più pericoloso)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI47 GODIVA Provisioning Il secondo caso mette ancora di più in evidenza l’esigenza di uno schac Il servizio non più attivo potrebbe avere attributi in sovrapposizione con altri sevizi valorizzati allo stesso modo, l’anagrafica quindi potrebbe usare ancora il servizio Per l’altro caso lo schac è più per comodità Si pensi alla disabilitazione momentanea di tutti i servizi su un dominio, si eliminano solo gli schac
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI48 Servizi
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI49 Gesione Servizi Ogni “servizio” è descritto nel seguente modo: Descrizione Nome e Valore Attributo di provisionig( schacUserStatus=urn:mace:terena.org:schac:UserStatus:it:infn.it :godiva:enable ) Applicazione(Opzionale) Dominio di validità Lista objectclass (gruppi di attributi ldap) Tempo di aging Il Servizio viene creato su un dominio: Servizi Nazionali(i:infn) Servizi Locali LNF(i:infn:lnf)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI50 Gestione Servizio (MOCHUP)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI51 Applicazione Per il Servizio GODiVA permetterà la memorizzazione di applicazioni Descrizione del software Lista degli entitelment con la descrizione di ognuno di essi Al momento del provisioning potranno essere associati anche gli entitelment dell’applicazione collegata in modo da descriverne l’autorizzazione
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI52 Provisioning
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI53 Provisioning Identità Valorizzazione di un servizio per una Identità Viene creata un’istanza definibile in due modalità: Con un intervallo di tempo Collegata ad un qualsiasi ruolo dell’identità
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI54 Provisioning Su Nodo Valorizzazione di un servizio per un Nodo di Dominio Il servizio verrà ereditato da tutte le identità che avranno un “Ruolo Anafrafica” attivo per il Dominio oggetto di provisioning ES: Dare un servizo a tutte le identità che hanno un qualsiasi ruolo sul dominio INFN
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI55 Provisioning Su Ruolo Valorizzazione di un servizio per un Ruolo Il servizio verrà ereditato da tutte le identità che avranno un “Ruolo Anafrafica” attivo per il Ruolo oggetto di provisioning ES: Dare un servizo a tutte le identità che hanno un ruolo come Dipendente su qualsiasi dominio
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI56 Provisioning Su Ruolo/Dominio Valorizzazione di un servizio per un Ruolo su uno specifico Dominio Il servizio verrà ereditato da tutte le identità che avranno un “Ruolo Anafrafica” attivo con il Ruolo E nodo di Dominio ES: Dare un servizo a tutte le identità che hanno un ruolo Dipendente all’interno dell’INFN
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI57 GODIVA Provisioning Servizio (MOCHUP)
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI58 GODIVA Definzione Servizio (MOCHUP) Creazione, cancellazione e modifica di un provisioning. Sicurezza su Domini e Servizi Lista degli attributi definiti nelle Object Class del servizio Attributi Multivalore e Monovalore Alcuni attributi sono collegati ai dettagli dell’anagrafica Potranno essere scelti dai dettagli dell’anagrafica ES: Attributo mail = Dettaglio Etc.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI59 CMD Line
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI60 Sviluppato per i centri di calcolo Semplifica l’interazione degli script shell con le api di godiva Supporto dei certificati per la chiamata di fuzione sotto autorizzazione Scritto in c++ GODiVA CLI
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI61 GODiVA CLI compilazione iliwax:godivacli bisegni$ make g++ -DWITH_OPENSSL -DWITH_COOKIES -o godivacli -Iinclude src/main.cpp \ src/Command.cpp src/UUIDfromCFCommand.cpp src/soapC.cpp \ src/soapRefWSApiCallInterfacePortBindingProxy.cpp \ src/GetUsernameFromNameSurname.cpp \ src/Authentication.cpp \ src/MainController.cpp \ src/stdsoap2.cpp -lssl -lcrypto iliwax:godivacli bisegni$ sudo make install Password: cp godivacli /usr/local/bin
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI62 GODiVA CLI Trovare l’UUID di un’identità dal codice fiscale Se l’identità e’ rpesente verrà visualizzato l’UUID godivacli --ufc bsgcld72h01d773i uuid: 3e d4-47a5-b303- c1768c72237f
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI63 GODiVA CLI Trovare la successiva uid univoca dando nome e congome godivacli --username --name claudio --surname bisegni uid: cbisegni simulando una omonimia, essendo bisegni gia presente viene dato cbisegni come uid disponibile.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI64 GODiVA CLI Nuove funzioni saranno create Nuove idee possono essere proposte da tutti i centri di calcolo Rilasciato a gennaio 2011
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI65 How We Did It
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI66 GODiVA Hardware
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI67 Tecnologie GODiVA è un sistema software a tre livelli Java per il Client ed il Middleware Oracle Database 10G RAC(grazie a Barbara Martelli del CNAF) ed LDAP 389 Server per la persistenza dei dati. Set di A.P.I. (GAPI) in GODiVA per le operazioni sui dati Accesso alle GAPI via WebService(Metro standard supportato JSR 224 (
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI68 Tecnologie GAPI Implementate in Classi Java Taggate con annotation che descrivono l’entitelment associato alle GAPI GAPI Basso livello usate dal client di godiva GAPI alto livello esportate via WebServices e JavaScript
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI69 Tecnologie Gestore di job proprietario: Java JavaScript (Rhino ) Descrizione Job e Schedule memorizzati nel database Data di avvio relazionata a colonne di altre tabelle nel database Parametri per esecuzione Scalabilità ( ogni AS controlla la presenza di job da eseguire )
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI70 Tecnologie SandBox L’esecuzione di una GAPI avviene in una sandbox che contiene le autorizzazioni dell’utente. La sandbox per eseguire una GAPI fa i seguenti passi: Aggiornamento cache delle autorizzazioni(se scaduto tempo di cache) Controllo delle autorizzazioni per l’esecuzione della GAPI(controllo entitelment) Esecuzione GAPI o Eccezione di sicurezza
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI71 Tecnologie Sincronizzazione LDAP tramite Job Sia per Ruoli che per le Istanze di servizio vengono creati due job(data inizio e data fine) parametrizzati Il job lavora sul singolo ruolo o singola istanza di servizio Si evita cosi la necessità di un job unico che ad intervallo di tempo fa il polling su tutte le istanze di servizi e su tutti i ruoli.
INFN-CNAFClaudio Bisegni – GODiVA lo IAM di INFN-AAI72 Domande?