Un ente, un metadato, più SPSSODescriptor

Buongiorno!
Nella PA per cui lavoro stiamo cercando di mettere ordine alla giungla dei metadati che le diverse “anime” dell’Amministrazione (i.e. personale interno, società in house, consulenti e simili) hanno creato in questi anni, ciascuno con il proprio SP e il proprio metadato, anche a seguito di una lettera di AGID che ci invitava esplicitamente a razionalizzarli e più recentemente del famigerato avviso n. 29.

Il problema è semplice: abbiamo e avremo per lungo tempo ancora necessità di gestire più SPSSODescriptor. Siamo pronti a far modificare i software per utilizzare un unico entityID, tuttavia il tool spid-saml-check dichiara esplicitamente fuori specifica l’avere più SPSSODescriptor all’interno del metadato (metadata-sp-check-strict sezione SPSSODescriptor n. 0: “Only one SPSSODescriptor element must be present”).

Da una ricerca sul forum invece sembra che questo scenario sia supportato da AGID, diversi post indicano la soluzione come praticabile. Le regole tecniche non dicono nulla su questo dettaglio, e la specifica SAML da cui derivano lo consentirebbero.

E’ possibile avere una risposta ufficiale al dubbio? E magari integrare le regole tecniche e far correggere il tool spid-saml-check? (sto aprendo una issue anche lì, ma ad occhio il tracker di github non viene monitorato frequentemente).

Grazie in anticipo per il supporto e buona giornata!

1 Mi Piace

Buongiorno @l.scorcia,

le regole tecniche ( https://www.agid.gov.it/sites/default/files/repository_files/circolari/spid-regole_tecniche_v1.pdf) a pagina 29 citano al singolare l’elemento “SPSSODescriptor”:

“deve essere presente l’elemento riportante i seguenti attributi:”

Hai dato un’occhiata all’avviso n.6 (Note sul dispiegamento di SPID presso i gestori dei servizi - http://www.agid.gov.it/sites/default/files/repository_files/documentazione/spid-avviso-n6-note-sul-dispiegamento-di-spid-presso-i-gestori-di-servizi-v1.pdf)? Contiene alcune indicazioni che potrebbero esserti utili per capire come far “convivere” più SP nello stesso file di metadati pur utilizzando un unico SPSSODescriptor.

Saluti,

Angelo Rossini.

Buongiorno @Angelo_Rossini, grazie per la veloce risposta.

Il principale problema nel seguire le indicazioni dell’avviso n. 6 è che implica modificare ogni singolo SP registrato finora per far sì che le request emesse utilizzino gli attributi Index. Questi applicativi per lo più sono stati realizzati da società terze o non sono sotto il nostro controllo per vari motivi burocratici o storici e comunque i team che li hanno creati sono ormai irraggiungibili.
Se questa è l’unica strada disponibile, raggiungere l’obiettivo sarà un processo lungo e complesso.

Altri problemi riguardano il SingleLogoutService: da specifica può essercene uno solo per SPSSODescriptor, mentre ora ce ne sono N in esercizio.

Valuteremo il da farsi, al momento grazie per la risposta e se avete altri suggerimenti teneteci informati!

Buongiorno @l.scorcia,

mi sono trovato anche io a dover gestire situazioni complesse come quella che hai descritto.

Ne siamo usciti solo introducendo un gateway che si presenta a SPID come SP e ai servizi come IdP SAML 2.0.

Così facendo lato IdP SPID hai la possibilità di generare request compliant con le specifiche AgID e verso i tuoi SP hai tutta la flessibilità necessaria. Credo tra l’altro che se i servizi a cui fai riferimento sono già configurati per il SSO tu disponga già di un IdP, quindi probabilmente sei a metà dell’opera.

In questo modo risolveresti anche il problema del logout, visto che potresti gestire un global logout sull’IdP “locale” e far scattare successivamente la richiesta di logout verso gli IdP SPID esponendo un unico SingleLogoutService, quello appunto del SP esposto a SPID.

Ci tengo a precisare ovviamente che le mie sono indicazioni fornite a titolo personale e che derivano dall’esperienza, non indicazioni ufficiali da parte di AgID.

Saluti,

Angelo Rossini,

Buongiorno,
mi pare che nell’avviso n.6 (e anche in quello n.3) si parli di una o più occorrenze del SingleLogoutService. Ho visto e generato diversi metadata con più di un SingleLogoutService.

Saluti
Federico