Servizi per la cooperazione applicativa in Toscana

CART è l’infrastruttura di Regione Toscana dedicata a regolare le comunicazioni applicative con soggetti esterni e tra soggetti interni al dominio regionale. Gli obiettivi principali dell’infrastruttura sono i seguenti:

  • mettere in sicurezza l’accesso alle API;
  • censire le API e le loro modalità di utilizzo;
  • assicurare il rispetto dei requisiti applicativi e normativi;
  • certificare i flussi in maniera indipendente dai vari interlocutori;
  • mettere a disposizione funzionalità infrastrutturali di utilità comune per le applicazioni;
  • uniformare le modalità di dialogo degli applicativi, in maniera trasparente rispetto alle modalità di interscambio utilizzate con l’esterno (es: SPCoop, modiPA, …).

Alla base dell’operatività dell’infrastruttura ci sono due servizi finalizzati alla gestione delle API:

  • un registro centrale delle API, utilizzato per il loro censimento e per descriverne le modalità di accesso;
  • un insieme di nodi con funzione di API Gateway che regolano l’accesso di applicativi autorizzati alle varie implementazioni di ciascuna API, secondo le politiche regionali e le normative nazionali di interoperabilità

Aspetti organizzativi

Le API di CART sono classificate in collezioni denominate “servizi”. Ogni servizio è individuato come il numero minimo di API (anche una sola) necessario ad accedere a un insieme coerente di funzioni applicative. Ad esempio, l’adesione alle funzioni di RFC101 richiede l’attivazione per ogni singolo aderente di due API:

  • la fruizione dell’API di RFC101_InvioEvento
  • l’erogazione dell’API di RFC101_InvioEvento_Ack

Nel loro insieme queste due API costituiscono il servizio RFC101 a cui può essere richiesta l’adesione. Per ogni Servizio viene sempre individuato almeno:

  • un referente del servizio, afferente all’ente erogatore del servizio. Il suo compito è quello di autorizzare le nuove richieste di adesione e di monitorare, utilizzando gli strumenti messi a disposizione da CART, l’andamento del servizio nel tempo;
  • un referente tecnico, preferibilmente un indirizzo presidiato, a cui rivolgersi in caso di anomalie nell’interazione con le API del servizio.

La registrazione di nuove API

La registrazione di nuove API e loro versioni avviene tramite la compilazione di moduli dedicati in base al tipo (WSDL o REST). Sono richieste tutte le informazioni necessarie alla profilazione della API in previsione di una sua fruizione ottimale: le interfacce (WSDL per le API SOAP, OpenAPI per le API REST), gli endpoint dei servizi di backend verso cui saranno girate le richieste in arrivo, i requisiti di sicurezza indispensabili all’accesso. Si valuta inoltre se la API è già compresa in un servizio, possa entrare a farne parte o costituisca occasione per inaugurare un servizio nuovo.

Qualora la API preveda accesso tramite token, CART chiede al supporto ARPA la registrazione di una audience (con lo stesso nome della API) dedicata al controllo degli accessi. I client autorizzati all’accesso avranno allora il nome della API come valore del claim audience del token utilizzato per l’accesso, oltre ovviamente a tutti gli altri parametri previsti. Al termine della registrazione sarà disponibile un nuovo endpoint per l’accesso alla API. Fin quando non vi saranno adesioni al servizio che comprende la API (a meno che non sia ad accesso pubblico) ogni tentativo di accesso all’endpoint da parte di applicazioni non autorizzate restituirà un errore.

La richiesta di adesione ai servizi

La richiesta di adesione è inoltrata dal referente di un ente esplicitamente delegato. Quand’anche la richiesta sia materialmente inoltrata da un consulente, è indispensabile che siano indicati: un referente dell’ente responsabile dell’adesione al servizio; un referente tecnico responsabile degli applicativi interessati all’adesione. Tipicamente una nuova adesione si articola nelle seguenti fasi:

  • richiesta di adesione del referente dell’ente;
  • autorizzazione del referente del servizio;
  • configurazione, più o meno articolata in base alla complessità del servizio.

Attualmente la richiesta di nuove adesioni è gestita inviando una email a cartdesk@regione.toscana.it con l’indicazione del servizio a cui si intende aderire. CartDesk fornisce il modulo con le richieste specifiche per l’adesione al servizio e lo inoltra, una volta compilato dal richiedente, al referente del servizio responsabile dell’autorizzazione.

Una volta ottenuta l’autorizzazione si avvia la fase di configurazione dell’infrastruttura CART. In questa fase CartDesk può interagire con altri supporti regionali per la registrazione delle credenziali necessarie all’attivazione del servizio, ad esempio:

  • il supporto dei sistemi IT regionali per la generazioni di chiavi e certificati X509 necessari per l’accesso ai servizi con autenticazione client HTTPS;
  • il supporto ARPA per la generazione di client-id e relativo codice OAUth2 necessari per l’accesso ad API protette da token.

Al termine della fase di configurazione, CartDesk comunica al richiedente le URL di accesso alle API e le relative credenziali. Il processo è il medesimo per l’ambiente di stage e per quello di produzione.