{"id":166,"date":"2020-11-17T17:05:18","date_gmt":"2020-11-17T16:05:18","guid":{"rendered":"http:\/\/159.213.227.18\/wordpress\/?page_id=166"},"modified":"2022-04-13T17:38:13","modified_gmt":"2022-04-13T15:38:13","slug":"icar-casi-duso","status":"publish","type":"page","link":"http:\/\/159.213.227.18\/wordpress\/it\/il-progetto-icar\/icar-casi-duso\/","title":{"rendered":"ICAR – Casi d’Uso"},"content":{"rendered":"\n
Dall’analisi degli elementi iniziali \u00e8 stato individuato uno scenario di riferimento, a partire dal quale \u00e8 possibile identificare i casi d’uso di interesse e quindi i pattern di interoperabilit\u00e0 da proporre.<\/p>\n\n\n\n Lo scenario di riferimento individuato vede coinvolti i seguenti attori:<\/p>\n\n\n\n A partire dallo scenario di riferimento sono stati individuati i seguenti casi d\u2019uso:<\/p>\n\n\n\n Il Referente API produce l\u2019accordo di interoperabilit\u00e0 da sottomettere per la pubblicazione sul Registro API Locale.<\/p>\n\n\n\n Il caso d’uso vede coinvolo il Referente API che gestisce la pubblicazione della API sul Registry Locale.<\/p>\n\n\n\n CU1-P1: Pattern OpenAPI 3 per le API REST<\/u><\/strong><\/p>\n\n\n\n Questo pattern di interoperabilit\u00e0 soddisfa interamente i requisiti del caso d\u2019uso nell\u2019ambito della descrizione formale di API REST.<\/p>\n\n\n\n Come descritto pi\u00f9 in dettaglio in seguito, l\u2019adozione dello standard OpenAPI 3, ed in particolare dei nuovi strumenti mirati alla sicurezza degli scambi, consente di formalizzare gli aspetti di autenticazione ed autorizzazione delle richieste pervenute al servizio.<\/p>\n\n\n\n L\u2019applicazione client, del dominio dell’ente interlocutore, invoca il servizio sottoscritto, nel dominio dell’ente, attraverso la mediazione dell\u2019API Gateway.<\/p>\n\n\n\n Il caso d’uso vede coinvolti l’ente gestito in qualit\u00e0 di erogatore di un servizio e l’ente esterno che funge da client.<\/p>\n\n\n\n Sulla base dei requisiti individuati nel caso d\u2019uso vengono proposti i seguenti due pattern di interoperabilit\u00e0:<\/p>\n\n\n\n I due pattern sono entrambi calati nel contesto delle interazioni tra due sistemi applicativi, senza il coinvolgimento dell\u2019utente. Possono essere adottati in contesti differenti, sulla base dei requisiti richiesti. Si devono pertanto tenere presenti le caratteristiche fondamentali che distinguono i due pattern:<\/p>\n\n\n\n L\u2019applicazione client, interna al dominio dell’ente, invoca il servizio sottoscritto, nel dominio dell’ente interlocutore, attraverso la mediazione dell\u2019API Gateway.<\/p>\n\n\n\n Il caso d\u2019uso vede coinvolti l\u2019ente gestito in qualit\u00e0 di fruitore di un servizio erogato da un ente esterno.<\/p>\n\n\n\n Sulla base dei requisiti individuati nel caso d\u2019uso viene proposto il seguente pattern:<\/p>\n\n\n\n Il pattern prevede che un applicativo interno al dominio dell’ente effettui delle invocazioni di servizio su delega di un utente il quale possiede i diritti di accesso alle relative risorse protette sul server.<\/p>\n\n\n\n Se il servizio gestore delle risorse protette fosse locale al dominio dell’ente, la relativa invocazione avverrebbe tramite autorizzazione basata sul token rilasciato al client tramite consenso dell’utente. Lo scenario attuale riguarda invece il caso in cui il servizio erogatore risieda su un dominio amministrativo esterno a quello dell’ente. Pertanto sar\u00e0 necessario che la comunicazione tra i due domini <\/p>\n\n\n\n rispetti la normativa vigente in materia di interoperabilit\u00e0 tra sistemi della PA. Questo si traduce nell’utilizzo dell’API Gateway in grado di reperire sia le informazioni di identit\u00e0 dell’utente sia quelle del client mantenendo inalterata la logica di invocazione lato client. Una volta acquisita la richiesta l’API Gateway si occupa di instaurare la comunicazione con il dominio esterno erogatore in accordo alla specifica ModIPA, garantendo inoltre la propagazione delle necessarie informazioni di identit\u00e0 dell’utente di origine al fine di consentire i necessari controlli autorizzativi al sevizio destinatario.<\/p>\n\n\n\n RIguardo le rimanenti caratteristiche di sicurezza, legate a questo scambio, valgono le considerazioni gi\u00e0 evidenziate per il pattern CU4-P1: Erogazione ModiPA.<\/strong><\/p>\n\n\n\n Questo pattern ricalca il medesimo flusso gi\u00e0 descritto in quello precedente con la differenza che si prevede l\u2019invio al Service Provider destinatario di un pacchetto informativo integrativo che certifichi un set di dati relativi all\u2019effettiva origine della richiesta applicativa: utente, postazione, ufficio, ente, ecc.<\/p>\n\n\n\n In tale direzione \u00e8 stato preso in esame il framework di sicurezza adottato dai comuni per l\u2019integrazione con ANPR, nel caso di e-service SOAP. Tale framework \u00e8 stato analizzato nell\u2019ottica dell\u2019integrazione sui flussi di comunicazione ModI, selezionando le informazioni aggiuntive e quelle ridondanti. Il pattern fornisce una soluzione specifica per il contesto del progetto ICAR.<\/p>\n\n\n\n Il pattern prevede l\u2019accesso ad una risorsa protetta nel dominio dell\u2019erogatore, per cui \u00e8 necessario approvvigionarsi di un access token, in standard OAuth2, che certifichi l\u2019identit\u00e0 dell\u2019applicazione client in base alla relazione di trust stabilita fra i due domini coinvolti.<\/p>\n\n\n\n L\u2019autenticazione dell\u2019applicazione chiamante si basa sull\u2019uso di un certificato X.509. Per ottenere l\u2019access token \u00e8 necessario autenticarsi sul dominio erogatore inviando un\u2019asserzione JWT firmata con la chiave privata associata al certificato in trust, in accordo allo standard RFC 7523 (https:\/\/datatracker.ietf.org\/doc\/html\/rfc7523#section-2.2).<\/p>\n\n\n\n L\u2019API Gateway predispone l\u2019asserzione JWT ed effettua, per conto del client reale, la negoziazione del token sul dominio erogatore. Dopo che l\u2019Authorization Server ha validato l\u2019asserzione viene rilasciato l\u2019access token, con al suo interno l\u2019identit\u00e0 rilevata dell\u2019applicazione chiamante. L\u2019identificativo del client autenticato viene riportato nel claim \u201cazp\u201d (Authorized Party) che, da specifica JWT, rappresenta l\u2019entit\u00e0 destinataria del token rilasciato. In fase di elaborazione dell\u2019erogatore, il valore del claim \u201cazp\u201d risulta essenziale per l\u2019autenticazione del client richiedente e l\u2019applicazione delle relative politiche di autorizzazione.<\/p>\n\n\n\n Questo pattern corrisponde a quello proposto dal Ministero del Lavoro, nell\u2019ambito del progetto di migrazione del NCN-CO, dove i client fruitori ottengono l\u2019access token direttamente dall\u2019Identity Cloud Service di MLPS autenticandosi tramite un JWT firmato con la coppia di chiavi associata al certificato in trust con MLPS.<\/p>\n\n\n\n L\u2019API Gateway invia all\u2019erogatore l\u2019access token JWT sull\u2019header Authorization, in accordo alla specifica MODI, consentendo a quest\u2019ultimo di autenticare il client tramite i dati presenti nei claim opportuni.<\/p>\n\n\n\n Il pattern prevede l\u2019accesso ad una risorsa protetta nel dominio dell\u2019erogatore, per cui \u00e8 necessario approvvigionarsi di un access token, in standard OAuth2, che certifichi l\u2019identit\u00e0 dell\u2019applicazione client. L\u2019API Gateway predispone l\u2019asserzione JWT ed effettua, per conto del client reale, la negoziazione del token sulla PDND. Dall’analisi degli elementi iniziali \u00e8 stato individuato uno scenario di riferimento, a partire dal quale \u00e8 possibile identificare i casi d’uso di interesse e quindi i pattern di interoperabilit\u00e0 da proporre. Lo scenario di riferimento individuato vede coinvolti i seguenti attori: L’ente gestito (Amministrazione A) cui si fa riferimento per l\u2019espressionedelle esigenze tipiche e quindi […]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":158,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"page-advanced.php","meta":[],"_links":{"self":[{"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages\/166"}],"collection":[{"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/comments?post=166"}],"version-history":[{"count":18,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages\/166\/revisions"}],"predecessor-version":[{"id":427,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages\/166\/revisions\/427"}],"up":[{"embeddable":true,"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/pages\/158"}],"wp:attachment":[{"href":"http:\/\/159.213.227.18\/wordpress\/wp-json\/wp\/v2\/media?parent=166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
delle esigenze tipiche e quindi dei casi d\u2019uso. In questo contesto lo si
pu\u00f2 considerare un ente regione<\/li>
l\u2019Amministrazione A tramite le API condivise<\/li>CU1 – Pubblicazione di una API<\/h2>\n\n\n\n
<\/figure><\/div>\n\n\n\n
Requisti<\/h3>\n\n\n\n
Pattern<\/h3>\n\n\n\n
CU4 – Interazione applicativa in ricezione da domini esterni<\/h2>\n\n\n\n
<\/figure><\/div>\n\n\n\n
Requisiti<\/h3>\n\n\n\n
Pattern<\/h3>\n\n\n\n
CU5 – Interazione applicativa in trasmissione verso domini esterni<\/h2>\n\n\n\n
<\/figure><\/div>\n\n\n\n
Requisiti<\/h3>\n\n\n\n
Pattern<\/h3>\n\n\n\n
I domini coinvolti sono entrambi aderenti alla PDND, inoltre \u00e8 in essere un accordo di interoperabilit\u00e0 che prevede che l\u2019ente interno acceda all\u2019API sulla base di una finalit\u00e0 condivisa e autorizzata.
I profili di emissione del token autorizzativo sono quelli stabiliti nella RFC 6749 (Framework OAuth 2.0). L\u2019ente, con la stipula dell\u2019Accordo di Interoperabilit\u00e0, ha preventivamente provveduto a registrare il client utilizzatore, caricando il relativo materiale crittografico necessario all\u2019identificazione dello stesso in fase di negoziazione del token.
L\u2019autenticazione del client sulla PDND si basa quindi sull\u2019uso di un certificato X.509. Per ottenere l\u2019access token \u00e8 necessario autenticarsi inviando un\u2019asserzione JWT firmata con la chiave privata associata al certificato in trust, in accordo allo standard RFC 7523. L\u2019asserzione inviata per richiedere il token deve comprendere le seguenti informazioni a beneficio della PDND:<\/p>\n\n\n\n
Dopo che la PDND ha rilasciato l\u2019access token, con al suo interno l\u2019identit\u00e0 rilevata dell\u2019applicazione chiamante, l\u2019API Gateway invia all\u2019erogatore l\u2019access token JWT sull\u2019header Authorization, in accordo alla specifica MODI, consentendo a quest\u2019ultimo di autenticare il client tramite i dati presenti nei claim opportuni.<\/p>\n","protected":false},"excerpt":{"rendered":"