Table Of ContentModulo: Guidelines
Sistema: ARPA
Versione documento: 1.5
LINEE GUIDA PER L’INTEGRAZIONE DI APPLICAZIONI
Progetto ARPA
CONTIENE D17.7
Livelli di approvazione Funzione Nome Data Firma
Cliente
Verifica
Approvazione
Approvazione
LISTA DI DISTRIBUZIONE
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 1 di 27
SOMMARIO
1 GENERALITÀ........................................................................................................................4
2 SCOPO..................................................................................................................................4
3 VALIDITÀ..............................................................................................................................4
4 DIZIONARIO DEI NOMI.........................................................................................................4
INTRODUZIONE.............................................................................................................................5
4.1 L'INFRASTRUTTURA ARPA (OVERVIEW)...............................................................................5
4.1.1 I servizi offerti dall'infrastruttura ARPA...................................................................................7
4.1.2 Ruoli e attribuiti.......................................................................................................................7
4.1.3 Certificatori di ruolo e attributi.................................................................................................7
4.2 COSA SI INTENDE PER RISORSE..........................................................................................8
4.3 COSA SI INTENDE PER RISORSE INTEGRATE IN ARPA...........................................................8
4.4 RISORSE INTEGRABILI........................................................................................................8
4.5 TECNOLOGIE A DISPOSIZIONE PER L’INTEGRAZIONE.............................................................9
4.5.1 Utilizzo del Dispatcher...........................................................................................................10
4.5.2 Utilizzo di meccanismi di reverse proxying basati su SRA Gateway........................................10
4.5.3 Utilizzo dell’AM Policy Agent...............................................................................................10
4.5.4 Libreria wrapper AMSDK......................................................................................................11
4.5.5 Framework SRTY..................................................................................................................11
4.5.6 Federazione SAML ................................................................................................................11
5 SVILUPPARE UNA NUOVA RISORSA PER ARPA............................................................13
5.1 LINEE GUIDA PER LO SVILUPPO DI APPLICAZIONI J2EE........................................................13
5.1.1 Autenticazione e autorizzazione..............................................................................................13
5.1.2 Raggiungibilità del servizio....................................................................................................14
5.1.3 Sviluppo di applicazioni SRTY...............................................................................................14
5.2 LINEE GUIDA PER LO SVILUPPO DI APPLICAZIONI NON J2EE................................................15
5.2.1 Autenticazione e autorizzazione..............................................................................................15
5.2.2 Raggiungibilità del servizio....................................................................................................16
6 REFERENCE PER IL SYSTEM ADMINISTRATOR: COME INTEGRARE UNA RISORSA 17
6.1 PREREQUISITI..................................................................................................................17
6.1.1 Passi d’integrazione comuni per ogni tipo di applicazione web ...............................................18
6.2 INDIVIDUARE I METODI DI INTEGRAZIONE DA ADOTTARE.......................................................19
6.3 LINEE GUIDA PER L’INTEGRAZIONE DI APPLICAZIONI CHE FANNO USO DELLA LIBRERIA
WRAPPER AMSDK......................................................................................................................19
6.3.1 Deploy...................................................................................................................................19
6.3.2 Retrieve informazioni utente...................................................................................................20
6.3.3 Configurazione risorsa............................................................................................................20
6.3.4 Applicazioni SRTY................................................................................................................20
6.4 INTEGRAZIONE DI APPLICAZIONI CHE RICHIEDONO FORM AUTHENTICATION..........................21
6.4.1 Deploy...................................................................................................................................21
6.4.2 Retrieve informazioni utente...................................................................................................21
6.4.3 Configurazione risorsa............................................................................................................21
6.5 INTEGRAZIONE DI APPLICAZIONI CHE RICHIEDONO PARAMETRI IN HTTP HEADER....................23
6.5.1 Deploy...................................................................................................................................23
6.5.2 Retrieve informazioni utente...................................................................................................23
6.5.3 Configurazione risorsa............................................................................................................23
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 2 di 27
6.6 APPLICAZIONI NON PROFILATE..........................................................................................25
6.6.1 Deploy...................................................................................................................................25
6.6.2 Retrieve informazioni utente...................................................................................................25
6.6.3 Configurazione risorsa............................................................................................................25
6.7 FEDERAZIONE.................................................................................................................25
6.7.1 Regione Toscana come IdP.....................................................................................................26
6.7.2 Regione Toscana come SP......................................................................................................27
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 3 di 27
1 GENERALITÀ
Il presente documento descrive le modalità di integrazione delle applicazioni GENERIC ed
SRTY nel sistema ARPA.
2 SCOPO
L’obiettivo di questo documento è la descrizione di alcuni degli scenari di integrazione allo
scopo di dare le prime linee guida agli specialisti di sistema.
Nel caso di sviluppo di nuove applicazioni per Regione Toscana verrà fatto uso del framework
SRTY per applicazioni profilate o fare uso delle librerie ArpaCommon. Le restanti strategie di
integrazione devono essere utilizzate solo se preventivamente concordate con Regione Toscana
3 VALIDITÀ
Il presente documento è valido a partire dalla data di emissione riportata in copertina.
4 DIZIONARIO DEI NOMI
Di seguito una tabella dei nomi utilizzati, aggiornata in data:
22/11/2007
Tale tabella viene riportata a solo scopo illustrativo. I corretti riferimenti ai sistemi di
produzione verrà comunicato ai fornitori di RT al momento della definizione dei piani di lavoro.
Nome Traduzione
portal url https://portal.cart.tix.it/
gateway url https://sra1.cart.tix.it:4443/
portal_instance portal1.cart.tix.it
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 4 di 27
INTRODUZIONE
Il modello architetturale su cui si dispiega il sistema è costituito da tre Aree:
• l’area Portale, che fornisce l’accesso agli utenti garantendo i servizi di
autenticazione, e controllo accessi;
• l’area Role Manager che garantisce l’autorizzazione ossia la corretta associazione
utente/ruoli;
• l’area Servizi che è costituita dai servizi disponibili che saranno in grado di fornire il
corretto profilo applicativo all’utente sulla base delle sue credenziali così come
fornite dall’area Portale e valorizzate dall’Area Role Manager.
L’accesso alle applicazioni integrate in ARPA (AREA SERVIZI) è vincolato
dall’appartenenza dell’utente che vi accede a uno o più ruoli. I ruoli e l’associazione
ruoli/applicazioni vengono gestite tramite l’interfaccia di amministrazione del componente
denominato ROLE MANAGER.
L’accesso effettivo di un utente ad una applicazione viene controllato dalla componente
Portal mediante policy dinamiche, ovvero policy basate sul controllo dinamico delle URL
che compongono l’applicazione e che vengono richieste dall’utente.
Il presente documento tratta nel dettaglio le modalità di integrazione di applicazione
nell’area SERVIZI.
Nella terminologia di progetto le applicazioni vengono classificate in due macro categorie :
• GENERIC
• SRTY.
Le applicazioni SRTY sono applicazioni J2EE che sono sviluppate nel framework SRTY e
nativamente integrate in ARPA.
Le applicazioni GENERIC sono tutte quelle applicazioni non sviluppate nel framework
SRTY.
4.1 L'infrastruttura ARPA (overview)
Il progetto ARPA (Autenticazione Ruoli Profili Applicazioni) si colloca nel quadro delle
attività volte alla realizzazione di Infrastrutture per l'autenticazione e l'accesso ai servizi ed
alle informazioni finalizzate alla diffusione di sistemi sicuri di riconoscimento telematico
(certificati digitali) e alla creazione di modalità attraverso le quali a chi accede in rete sia
possibile associare, nel rispetto della legge sulla privacy, i diritti di accesso e visibilità di
classi di informazioni e servizi.
Il progetto prevede la realizzazione di un’infrastruttura di Autenticazione ed Accesso
Sicuro ai servizi di Regione Toscana (E.Toscana), ottenuta dall’integrazione della
piattaforma di Access Management, Sun Java System Access Manager con i servizi offerti
dal framework SRTY e la piattaforma di Cooperazione Applicativa di Regione Toscana
(CART).
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 5 di 27
L'infrastruttura di Autenticazione ed Accesso Sicuro è realizzata utilizzando le funzionalità
di Autenticazione, Autorizzazione ed Accesso di Sun Java System Access Manager
insieme alle funzionalità di Aggregazione e Profilazione basata su ruoli di Sun Java
System Portal Server.
Il risultato è la costruzione di un portale per l'accesso sicuro alle risorse applicative di
Regione Toscana che consente di centralizzare l'accesso degli utenti, rafforzandolo di
strumenti di autenticazione sicuri quali le smart card, offrendo all'utente un desktop
personalizzato sulla base del proprio ruolo. L'interazione tra il portale ed il modulo di
gestione dei ruoli consente di disaccoppiare il controllo accessi basato sui ruoli dalla
gestione delle banche dati utilizzate per la validazione dei ruoli stessi.
L'utilizzo di standard aperti, la possibilità di utilizzare i servizi della piattaforma di
autenticazione ed autorizzazione sia attraverso il portale che richiamandoli direttamente
dalle applicazioni consentono a Regione Toscana di far evolvere le proprie applicazioni
utilizzando l'infrastruttura di autenticazione ed autorizzazione del portale.
Il diagramma in figura (Figura 1 Architettura logica) illustra l’architettura logica di
riferimento.
Figura 1 Architettura logica
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 6 di 27
4.1.1 I servizi offerti dall'infrastruttura ARPA
L'infrastruttura di Autenticazione ed Accesso Sicuro è realizzata utilizzando le funzionalità
di Autenticazione, Autorizzazione ed Accesso di Sun Java System Access Manager
insieme alle funzionalità di Aggregazione e Profilazione basata su ruoli di Sun Java
System Portal Server.
Il risultato è la costruzione di un portale per l'accesso sicuro alle risorse applicative della
P.A. Toscana che consente di:
• centralizzare l'accesso degli utenti (meccanismi di Single Sign On - SSO);
• raggiungere e fruire, da internet, di applicazioni web non raggiungibili in assenza
del sistema ARPA (applicazioni relegate alla intranet aziendale);
• favorire e diffondere l’utilizzo di strumenti di autenticazione sicuri quali le smart
card e CNS;
• offrire all'utente un desktop personalizzato sulla base del proprio ruolo;
• disaccoppiare il controllo accessi basato sui ruoli dalla gestione delle banche dati
utilizzate per la validazione dei ruoli stessi;
• interoperare con altre amministrazioni secondo il modello di identità federata,
basato cioè su un rapporto di fiducia legato all'identità dell'utente.
4.1.2 Ruoli e attribuiti
Gli utenti sono associati ad uno o più ruoli: Il ruolo individua gli incarichi, gli obblighi e
privilegi che un utente ha all'interno di un determinato contesto istituzionale e che ne
condizionano i profili applicativi all’interno del portale.
Gli utenti in ARPA sono caratterizzati da:
• un insieme di attributi inseriti dall’utente in fase di registrazione (esempio: email);
• un insieme di attributi recuperati dinamicamente dal sistema dalle credenziali di
autenticazione dell’utente (certificato digitale personale) quali, ad esempio: nome,
cognome, codice fiscale, uno o più ruoli richiesti dall’utente in fase di registrazione e
confermati successivamente dal sistema ARPA previa verifica su delle fonti dati
esterne (esempio: albo dei medici o degli avvocati);
• l’insieme degli attributi caratteristici dei ruoli posseduti recuperati dinamicamente dal
sistema dalle fonti dati esterne.
4.1.3 Certificatori di ruolo e attributi
I certificatori di ruolo e attributi sono entità che rendono disponibili, attraverso una o più fonte dati,
le informazioni (attributi) necessari alla verifica (certificazione) del ruolo da parte del modulo Role
Manager.
La definizione e/o l’utilizzo di ruoli da parte delle nuove applicazioni deve essere concordata in
modo esplicito con Regione Toscana, nella fase di progettazione della nuova applicazione.
Pertanto qualora i ruoli e/o attributi definiti sul sistema ARPA non fossero sufficienti per
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 7 di 27
l’applicazione in progettazione , eventuali variazioni e/o integrazione dovranno essere
concordati con i responsabili della infrastruttura ARPA.
4.2 Cosa si intende per risorse
In terminologia ARPA, una risorsa non è altro che un’applicazione web.
Le risorse integrabili in ARPA sono di due tipi: SRTY e GENERIC.
Le risorse SRTY sono applicazioni J2EE sviluppate nel framework SRTY e che, per
essere integrate nel sistema ARPA, dovranno far uso di AMSDK.
Le risorse GENERIC sono tutte quelle applicazioni non sviluppate nel framework SRTY
che possono essere suddivise in diverse categorie in base alla tecnologia in cui sono state
sviluppate, ai meccanismi di autenticazione, ai dati necessari per l’autorizzazione, alla
modalità in cui essi vengono trasmessi all’applicazione, ecc.
4.3 Cosa si intende per risorse integrate in ARPA
Una risorsa è perfettamente integrata in ARPA quando può usufruire di tutti i servizi messi
a disposizione da ARPA stessa (paragrafo 7).
4.4 Risorse integrabili
In figura “Figura 2 Tipologie di risorse” viene mostrata una possibile visione di insieme di
tutte le applicazioni web. Ovviamente questa non è l’unica in quanto sarebbe possibile
individuare molti più insiemi e sottoinsiemi prendendo in considerazione un numero molto
vasto di parametri di discriminazione.
Tuttavia, tale raggruppamento è più che sufficiente per individuare e classificare tutte le
risorse integrabili in ARPA.
Tutte le applicazioni web (cerchiate in giallo) comprendono applicazioni sviluppate con
tecnologia J2EE (cerchiate in blu) e applicazioni sviluppate con altra tecnologia.
Tra le applicazioni sviluppate in J2EE ci sono quelle che fanno uso di libreria wrapper
AMSDK (cerchiate in rosso).
Inoltre, tra tutte le applicazioni, J2EE e non, è possibile distinguere tra applicazioni
profilate, che forniscono servizi diversi ad utenti diversi, e non profilate che forniscono gli
stessi servizi a tutti gli utenti autenticati senza fare distinzione sulle identità (cerchiate in
viola), e ancora, tra applicazioni che fanno uso di form authentication o passaggio di
parametri in http header (cerchiate in verde) e applicazioni che prevedono altre modalità
d’autenticazione proprie.
Le applicazioni integrabili in ARPA sonno:
• Applicazioni che fanno uso di libreria wrapper AMSDK (arancione cerchiato di
rosso);
• Applicazioni non profilate (viola);
• Applicazioni che fanno uso di Form Authentication (verde);
• Applicazioni che fanno uso di passaggio di parametric in http header (verde).
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 8 di 27
Tutte le applicazioni che non rientrano in queste tipologie devono essere migrate cosi
come mostrato in figura con l’ausilio delle frecce.
Le applicazioni J2EE possono essere migrate verso applicazioni che utilizzano la libreria
wrapper AMSD o verso applicazioni non profilate o verso applicazioni che fanno uso di
form authentication o passaggio di parametric in http header.
Le applicazioni non J2EE possono essere migrate verso applicazioni non profilate o verso
applicazioni che che fanno uso di form authentication o passaggio di parametric in http
header.
L’integrazione di ogni singola applicazione viene discussa in dettaglio nel capito 6.
Figura 2 Tipologie di risorse
4.5 Tecnologie a disposizione per l’integrazione
Esistono diverse modalità/meccanismi di integrazione. La scelta dipende spesso dal tipo di
applicazione che si intende integrare, dalla sua dislocazione nella rete e dai meccanismi di
SSO che possono essere messi in campo.
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 9 di 27
Tra le tecnologie a nostra disposizione, per integrare una qualunque applicazione,
abbiamo:
• Dispatcher;
• SRA Gateway;
• AM Policy Agent;
• Libreria wrapper AMSDK
• Framework SRTY;
• Federazione SAML.
Data l’estrema variabilità delle tipologie di applicazioni e architetture che si possono
incontrare, il presente documento si propone di indicare delle strade da seguire che
guidino verso la scelta più opportuna nella maggioranza dei casi.
4.5.1 Utilizzo del Dispatcher
Tale strumento è utilizzato per vari scopi, molti dei quali esulano dal contesto del presente
documento.
Il principale scopo del dispatcher è quello di garantire gli accessi in delega.
4.5.2 Utilizzo di meccanismi di reverse proxying basati su SRA Gateway
Il modulo di portale, SRA Gateway, mette a disposizione dell’utente buoni meccanismi di
reverse proxy e, soprattutto, un potente modulo di riscrittura delle URL.
E’ solitamente la soluzione preferibile nel caso in cui sia necessario rendere raggiungibili e
fruibili risorse tramite meccanismi di reverse proxy.
L’utilizzo dello SRA Gateway è una scelta obbligata nel caso in cui la risorsa da integrare
richieda un’autenticazione basata su form authentication o passaggio di parametri in http
header.
Nel caso in cui si utilizzi il gateway l’URL di accesso alla risorsa sarà della forma
https://<gateway>/<url risorsa>
Questa tecnica come indicato nella sezione “scopo del documento” è da utilizzarsi solo in casi
eccezionali e in accordo con i responsabili della infrastruttura.
4.5.3 Utilizzo dell’AM Policy Agent
Gli ambienti di produzione di Regione Toscana fanno uso di questa componente, pertanto la
presenza del componente è trasparente per gli sviluppatori.
Nel caso in cui un’applicazione sia modificabile o non preveda un meccanismo di
autenticazione proprio, potrebbe essere tentato per essa un approccio basato su policy
agent (sempre che esista una versione disponibile per il container dell'applicazione) e/o
Linee guida integrazione applicazioni ARPA PROGETTO ARPA
Pagina 10 di 27
Description:Linee guida integrazione applicazioni ARPA. PROGETTO ARPA. Pagina 1 di 27. Modulo: Guidelines. Sistema: ARPA. Versione documento: 1.5.