Nuovi Widgets: GeoServer Advanced Authorization Manager
La sicurezza sui dati si arricchisce: con il nuovo widget GeoServer Advanced Authorization Manager è infatti possibile gestire restrizioni di accesso sui dati per utenti o gruppi di utenti in base a specifiche aree di pertinenza, oltre che a creare restrizioni sulla visibilità degli attributi del dato.
Un caso tipico di applicazione di questo scenario è quello in cui più soggetti abbiano la responsabilità della gestione di uno stesso dato, ma limitatamente a una area specifica e/o ad un subset degli attributi alfanumerici collegati alle geometrie.
Il Lab geoSDI ha infatti implementato un nuovo widget che utilizza i servizi REST esposti da GeoFence (modulo Open source della comunità di sviluppo di GeoServer, che estende le possibilità native di autorizzazione di GeoServer alla pertinenza geografica).
Il laboratorio geoSDI utilizza infatti come Server per l'erogazione di servizi OGC compliant GeoServer, arricchendo l'infrastruttura con componenti per la clusterizzazione e il bilanciamento di carico che ne consentono di raggiungere altissimi livelli di performance e affidabilità propri di sistemi cloud. Nativamente Geoserver supporta dei livelli di sicurezza riguardo l'autorizzazione di accesso di un determinato utente al consumo di un determinato servizio (es. WMS GetMap o WFS TransactionInsert) o all'accesso di un determinato layer geospaziale (es. worspace:mylayer). L'utilizzo dei Servizi GeoFence consente di ampliare i criteri di restrizione di accesso, dando la possibilità di determinare una geometria entro cui quel determinato utente (o gruppo di utenti) abbia accesso a quello specifico layer (o gruppo di layer) e/o ad un subset di attributi specificato. Dell'intero insieme di elementi geografici di cui il layer è composto, l'utente in questione potrà quindi accedere soltanto a quelli che ricadono nell'area che gli è stata assegnata.
Il Lab geoSDI ha infatti creato un branch del progetto OpenSource GeoFence, al fine di utilizzarne soltanto la REST API.
Tutta la gestione "client" viene invece effettuata tramite il nuovo widget, che aggiunge, tra l'altro, molti elementi di usabilità rispetto alla interfaccia client del progetto GeoFence.
Si tratta della prima implementazione del widget, che già ha in roadmap l'aggiunta di numerose altre funzionalità.
Il nuovo widget sta già trovando applicazioni operative in importanti progetti che adottano il framework Geo-Platform, come il Sistema Informativo Nazionale Federato delle Infrastrutture (SINFI) in via di implementazione e il Sistema Informativo Territoriale del Dipartimento della Protezione Civile (SITDPC).
Gestione delle istanze
E' possibile utilizzare le restrizioni di accesso verso più istanze di GeoServer, opportunamente configurate.
click to enlarge
Gestione delle utenze
Il widget offre tutti gli strumenti per la creazione modifica e cancellazione delle utenze.
click to enlarge
Gestione dei ruoli
Il widget offre tutti gli strumenti per la creazione modifica e cancellazione di ruoli da assegnare agli utenti. Proprio attraverso i ruoli (come già previsto da funzionamento standard di GeoServer) sarà possibile determinare le restrizioni di accesso: utenti che appartengono al ruolo X avranno accesso al dato Y, limitatamente all'area geografica Z.
click to enlarge
Gestione delle restrizioni per Servizio
E' possibile definire, per gli utenti che godono di un particolare ruolo, la restrizione a un subset dei servizi erogati da GeoServer (es. Soltanto WMS per la visualizzazione di mappe png, No WFS per la visualizzazione/ modifica di vettori)
Gestione delle restrizioni per Dato
E' possibile definire, per gli utenti che godono di un particolare ruolo, la restrizione a un subset dei layer erogati dal GeoServer.
click to enlarge
Gestione delle restrizioni per Area
E' possibile definire tramite disegno su una mappa di supporto integrata nel widget, entro quale area geografica utenti che godono di un particolare ruolo, possono accedere a determinati layer erogati da Geoserver. Naturalmente è possibile visualizzare tramite la mappa di supporto le regole di restrizione di accesso già create e le relative aree di pertinenza.
Gestione delle restrizioni per Attributo
Oltre alla definizione di restrizioni sui layer e sull'area di pertinenza, è anche possibile definire quali, tra gli attributi dei suddetti layer, possano essere accessibili agli utenti che godono di un particolare ruolo.
click to enlarge
Gestione delle restrizioni basate su filtri CQL
Ulteriori restrizioni di accesso alle feature geografiche possono essere costruite mediante l'applicazione di filtri definiti mediante Common Query Language: gli utenti che godono di un particolare ruolo avranno accesso soltanto alle features che corrispondono al criterio definito dal filtro.
click to enlarge