Differenze tra le versioni di "Profilo Tecnico Operativo"
m (Vaghetti@garr.it ha spostato la pagina Profilo Tecnico Operativo per le entità della Federazione IDEM a Profilo Tecnico Operativo) |
|||
(55 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
− | <big>Versione 1.0</big> | + | <big>Versione 1.1.0</big> |
− | <big> | + | <big>19 Gennaio 2024</big> |
===Revisioni=== | ===Revisioni=== | ||
Riga 13: | Riga 13: | ||
|1.0 | |1.0 | ||
|01-06-2021 | |01-06-2021 | ||
− | |Prima versione completa | + | |Prima versione completa |
|Marco Malavolti | |Marco Malavolti | ||
Barbara Monticini | Barbara Monticini | ||
Davide Vaghetti | Davide Vaghetti | ||
+ | |- | ||
+ | |1.0.1 | ||
+ | |07-06-2021 | ||
+ | |Modifica IDP-MD08 e SP-MD07 | ||
+ | |Marco Malavolti | ||
+ | Barbara Monticini | ||
+ | |||
+ | Davide Vaghetti | ||
+ | |- | ||
+ | |1.0.2 | ||
+ | |10-06-2021 | ||
+ | |SEC02 trasformato in raccomandazione dato che SEC01 copre già i casi di chain-issue piu' gravi | ||
+ | |Marco Malavolti | ||
+ | |||
+ | Barbara Monticini | ||
+ | |||
+ | Davide Vaghetti | ||
+ | |- | ||
+ | |1.0.3 | ||
+ | |31-08-2021 | ||
+ | |IDP-MD04 - DisplayName | ||
+ | SP-MD03 - DisplayName: inserito il divieto di utilizzo delle parole "IDEM" ed "eduGAIN" perchè riservate | ||
+ | |Marco Malavolti | ||
+ | Barbara Monticini | ||
+ | |||
+ | Davide Vaghetti | ||
+ | |||
+ | Mario Di Lorenzo | ||
+ | |- | ||
+ | |1.0.4 | ||
+ | |21-10-2021 | ||
+ | |IDP-FED04 e IDP-FED02 allineamento alle Specifiche Tecniche | ||
+ | |Davide Vaghetti | ||
+ | |- | ||
+ | |1.0.5 | ||
+ | |16-02-2022 | ||
+ | |IDP-FED03 - rimossi esempi di privacy policy | ||
+ | |Davide Vaghetti | ||
+ | |- | ||
+ | |1.0.6 | ||
+ | |06-09-2022 | ||
+ | |IDP-MD09 e SP-MD08 - Aggiunti relativi collegamenti a IDP-FED05 e SP-FED05 | ||
+ | |Marco Malavolti | ||
+ | |- | ||
+ | |1.1.0 | ||
+ | |19-01-2024 | ||
+ | |SEC03 - Inserito il divieto di utilizzo di riferimenti a SAML v1.x in quanto deprecato | ||
+ | IDP-MD04, IDP-MD12, IDP-MD13, SP-MD03, SP-MD10, SP-MD11 - Aggiunta raccomandazione sul limite massimo di 256 caratteri | ||
+ | |||
+ | IDP-MD05, SP-MD04 - Aggiunta raccomandazione sul limite massimo di 1024 caratteri | ||
+ | |||
+ | IDP-FED02 - Rimossi i riferimenti di esempio | ||
+ | |||
+ | IDP-MD08 - Rimossi i riferimenti di esempio | ||
+ | |||
+ | IDP-MD15, SP-MD13 - Aggiunta la specifica del prefisso "mailto:" | ||
+ | |||
+ | SP-FED01 - Aggiunto riferimento a documentazione specifica per la valorizzazione di eduPersonScopedAffiliation | ||
+ | |||
+ | SP-FED02 - Aggiunta indicazione sul riferimento alla Privacy Policy del Service Provider | ||
+ | |Marco Malavolti | ||
+ | Barbara Monticini | ||
+ | |||
+ | Davide Vaghetti | ||
+ | |||
+ | Mario Di Lorenzo | ||
|} | |} | ||
+ | |||
+ | ----- | ||
__TOC__ | __TOC__ | ||
Riga 25: | Riga 93: | ||
In questa pagina sono indicati i requisiti delle entità che si intende registrare nella Federazione Italiana delle Identità Digitali IDEM GARR AAI. | In questa pagina sono indicati i requisiti delle entità che si intende registrare nella Federazione Italiana delle Identità Digitali IDEM GARR AAI. | ||
===Definizioni=== | ===Definizioni=== | ||
− | Le parole chiave utilizzate in questo documento, sempre scritte in maiuscolo ed indicate nella tabella di seguito con a fianco la loro versione originale in lingua inglese, devono essere interpretate secondo quanto indicato nella [<nowiki>RFC 2119</nowiki>]. | + | Le parole chiave utilizzate in questo documento, sempre scritte in maiuscolo ed indicate nella tabella di seguito con a fianco la loro versione originale in lingua inglese, devono essere interpretate secondo quanto indicato nella [https://www.rfc-editor.org/info/rfc2119 [<nowiki>RFC 2119</nowiki><nowiki>]</nowiki>]. |
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Riga 47: | Riga 115: | ||
Non riguardano invece i certificati utilizzati dagli Identity e Service Provider per cifrare e firmare digitalmente le asserzioni presenti nei metadata. | Non riguardano invece i certificati utilizzati dagli Identity e Service Provider per cifrare e firmare digitalmente le asserzioni presenti nei metadata. | ||
+ | {{Anch|SEC01}} | ||
====SEC01 - Grado di robustezza SSL==== | ====SEC01 - Grado di robustezza SSL==== | ||
Il certificato SSL utilizzato sulla porta HTTPS del servizio DEVE riportare <u>almeno un grado B</u> su SSL Labs: https://www.ssllabs.com/ssltest/ | Il certificato SSL utilizzato sulla porta HTTPS del servizio DEVE riportare <u>almeno un grado B</u> su SSL Labs: https://www.ssllabs.com/ssltest/ | ||
Riga 52: | Riga 121: | ||
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
====SEC02 - Chain issue==== | ====SEC02 - Chain issue==== | ||
− | Il certificato SSL utilizzato sulla porta HTTPS del servizio | + | Il certificato SSL utilizzato sulla porta HTTPS del servizio DOVREBBE essere <u>privo di "Chain issues"</u> (errori sulla catena della CA) --- verificare con SSL Labs: https://www.ssllabs.com/ssltest/ |
+ | |||
+ | [[#top|[TOP]]] | ||
+ | ====SEC03 - No SAML v1==== | ||
+ | I metadata dell'entità DEVONO contenere SOLO riferimenti al protocollo SAML v2.x. | ||
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
+ | |||
==Identity Provider== | ==Identity Provider== | ||
===Metadata (IDP-MD)=== | ===Metadata (IDP-MD)=== | ||
Riga 73: | Riga 147: | ||
<code><shibmd:Scope></code>, contenuto nell'elemento <code><md:Extension></code>, DEVE: | <code><shibmd:Scope></code>, contenuto nell'elemento <code><md:Extension></code>, DEVE: | ||
− | *assumere valori di dominio nella disponibilità dell'organizzazione ( | + | *assumere valori di dominio nella disponibilità dell'organizzazione (vedi [[IdPVerificaDominii]] per i metodi di verifica utilizzati dal Servizio IDEM GARR AAI). |
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 79: | Riga 153: | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
====IDP-MD04 - DisplayName==== | ====IDP-MD04 - DisplayName==== | ||
− | <code><mdui:DisplayName></code>, contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | + | <code><mdui:DisplayName></code>, contenuto nell'elemento <code><mdui:UIInfo></code>, DOVREBBE: |
+ | |||
+ | *contenere il nome dell'organizzazione a meno di casi particolari. '''ATTENZIONE''': il nome NON DEVE contenere le parole "IDEM" o "eduGAIN". | ||
+ | |||
+ | DEVE: | ||
− | |||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di non superare il limite massimo di 256 caratteri | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 88: | Riga 169: | ||
<mdui:DisplayName xml:lang="it">Università di Esempio</mdui:DisplayName> | <mdui:DisplayName xml:lang="it">Università di Esempio</mdui:DisplayName> | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
+ | |||
====IDP-MD05 - Description==== | ====IDP-MD05 - Description==== | ||
<code><mdui:Description></code>, contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | <code><mdui:Description></code>, contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | ||
Riga 93: | Riga 175: | ||
*contenere una breve descrizione del servizio; | *contenere una breve descrizione del servizio; | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di non superare il limite massimo di 1024 caratteri | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 104: | Riga 190: | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
− | Per il contenuto della pagina informativa vedere [[ | + | Per il contenuto della pagina informativa vedere [[Profilo_Tecnico_Operativo#IDP-FED02 - Informazioni|IDP-FED02]]. |
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 116: | Riga 202: | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
− | Per il contenuto della pagina sul trattamento dei dati personali vedere [[ | + | Per il contenuto della pagina sul trattamento dei dati personali vedere [[Profilo_Tecnico_Operativo#IDP-FED03 - Trattamento dati personali|IDP-FED03]]. |
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 125: | Riga 211: | ||
<code><mdui:Logo></code>, contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | <code><mdui:Logo></code>, contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | ||
− | *contenere | + | *contenere almeno una URL protetta da SSL (<code>https://</code>) del logo dell'organizzazione. |
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di pubblicare in formato '''PNG''' (con sfondo trasparente) | ||
+ | *di pubblicare due loghi: | ||
**'''16x16 pixel''' (o maggiore se rispetta l'aspect-ratio); | **'''16x16 pixel''' (o maggiore se rispetta l'aspect-ratio); | ||
**'''80x60 pixel''' (o maggiore se rispetta l'aspect-ratio). | **'''80x60 pixel''' (o maggiore se rispetta l'aspect-ratio). | ||
Riga 133: | Riga 224: | ||
<mdui:Logo width="80" height="60">https://...logo_80x60.png...</mdui:Logo> | <mdui:Logo width="80" height="60">https://...logo_80x60.png...</mdui:Logo> | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
+ | |||
====IDP-MD09 - KeyDescriptor==== | ====IDP-MD09 - KeyDescriptor==== | ||
I metadata DEVONO contenere almeno un elemento <code><md:KeyDescriptor></code> con le seguenti caratteristiche: | I metadata DEVONO contenere almeno un elemento <code><md:KeyDescriptor></code> con le seguenti caratteristiche: | ||
*privo di ulteriori attributi o con il solo attributo <code>use="signing"</code>; | *privo di ulteriori attributi o con il solo attributo <code>use="signing"</code>; | ||
− | *che contenga un certificato X.509 in formato PEM | + | *che contenga un certificato X.509 in formato PEM come riportato in [[Profilo Tecnico Operativo#IDP-FED05%20-%20Certificati%20metadata|IDP-FED05]] |
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 178: | Riga 270: | ||
*contenere il nome dell'organizzazione a cui afferisce il servizio; | *contenere il nome dell'organizzazione a cui afferisce il servizio; | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di non superare il limite massimo di 256 caratteri | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 188: | Riga 284: | ||
*contenere il nome dell'organizzazione che verrà mostrato nelle interfacce utente; | *contenere il nome dell'organizzazione che verrà mostrato nelle interfacce utente; | ||
*essere definito sia per la lingua <u>italiana,</u> sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana,</u> sia per la lingua <u>inglese</u>. | ||
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di non superare il limite massimo di 256 caratteri | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 201: | Riga 301: | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
<md:OrganizationURL xml:lang="en">https://...institutional site in english...</md:OrganizationURL> | <md:OrganizationURL xml:lang="en">https://...institutional site in english...</md:OrganizationURL> | ||
− | <md:OrganizationURL xml:lang="it">https://...sito | + | <md:OrganizationURL xml:lang="it">https://...sito istituzionale in italiano...</md:OrganizationURL> |
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
====IDP-MD15 - ContactPerson==== | ====IDP-MD15 - ContactPerson==== | ||
I metadata DEVONO contenere <u>almeno</u> un elemento <code><md:ContactPerson></code> con le seguenti caratteristiche: | I metadata DEVONO contenere <u>almeno</u> un elemento <code><md:ContactPerson></code> con le seguenti caratteristiche: | ||
− | *contenere l'indirizzo email del contatto tecnico del servizio; | + | *contenere l'indirizzo email del contatto tecnico del servizio nel formato <code>mailto:</code> ; |
− | *contenere l'attributo <code>contactType="technical"</code>; | + | *contenere l'attributo <code>contactType="technical"</code> ; |
Si RACCOMANDA di utilizzare un indirizzo <u>impersonale</u> (ad esempio una mailing-list). | Si RACCOMANDA di utilizzare un indirizzo <u>impersonale</u> (ad esempio una mailing-list). | ||
Riga 214: | Riga 314: | ||
<ContactPerson contactType="technical">mailto:mailing-list@domain</md:ContactPerson> | <ContactPerson contactType="technical">mailto:mailing-list@domain</md:ContactPerson> | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
+ | |||
===Federation (IDP-FED)=== | ===Federation (IDP-FED)=== | ||
I requisiti di seguito elencati sono dettati dalla Federazione e destinati agli Identity Provider. | I requisiti di seguito elencati sono dettati dalla Federazione e destinati agli Identity Provider. | ||
Riga 222: | Riga 323: | ||
#*nell'elemento <code><NameID></code> con attributo <code>Format="<nowiki>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</nowiki>"</code> se indicato nei metadata del Service Provider; | #*nell'elemento <code><NameID></code> con attributo <code>Format="<nowiki>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</nowiki>"</code> se indicato nei metadata del Service Provider; | ||
#*nell'attributo <code>eduPersonTargetedID</code> per i Service Provider che lo richiedono nell'elemento <code><md:RequestedAttribute></code>. | #*nell'attributo <code>eduPersonTargetedID</code> per i Service Provider che lo richiedono nell'elemento <code><md:RequestedAttribute></code>. | ||
− | #l'attributo <code>eduPersonScopedAffiliation</code>, ovvero l'affiliazione dell'utente con l'aggiunta dello <code>scope</code>.< | + | #l'attributo <code>eduPersonScopedAffiliation</code>, ovvero l'affiliazione dell'utente con l'aggiunta dello <code>scope</code>. La definizione dell'attributo <code>eduPersonScopedAffiliation</code> deve seguire le regole indicate nella pagina [[Attributo Affiliazione]]. |
− | ''Esempio | + | ''Esempio di rilascio degli attributi per il Service Provider [https://sp.aai-test.garr.it/secure sp.aai-test.garr.it]:''<syntaxhighlight lang="xml"> |
− | + | affiliation = member@aai-test.garr.it;staff@aai-test.garr.it | |
persistent = https://garr-idp-test.irccs.garr.it/idp/shibboleth!https://sp.aai-test.garr.it/shibboleth!eYfN....Q1rU= | persistent = https://garr-idp-test.irccs.garr.it/idp/shibboleth!https://sp.aai-test.garr.it/shibboleth!eYfN....Q1rU= | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
Riga 232: | Riga 333: | ||
#un riferimento per il supporto agli utenti (ad esempio un indirizzo di posta, o un web form, ecc.); | #un riferimento per il supporto agli utenti (ad esempio un indirizzo di posta, o un web form, ecc.); | ||
− | # | + | #il collegamento alla pagina sul trattamento dei dati personali indicata da <code><mdui:PrivacyStatementURL></code> ([[Profilo_Tecnico_Operativo#IDP-MD07%20-%20PrivacyStatementURL|IDP-MD07]]) |
− | + | ||
+ | E' FACOLTATIVO inserire nella pagina informativa il logo di IDEM ed il link al sito di IDEM: | ||
+ | |||
+ | *sito di IDEM: https://www.idem.garr.it | ||
+ | *logo di IDEM: https://idem.garr.it/tutti-i-documenti/idem-archivio/banner-e-loghi | ||
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
Riga 239: | Riga 344: | ||
La pagina sul trattamento dei dati personali DEVE contenere tutte le informazioni previste dagli artt. 13 e 14 del Regolamento UE 679/2016. | La pagina sul trattamento dei dati personali DEVE contenere tutte le informazioni previste dagli artt. 13 e 14 del Regolamento UE 679/2016. | ||
− | + | Il Servizio IDEM GARR AAI in collaborazione con il Responsabile del Trattamento dati di GARR ha realizzato un modello di informativa che può essere utilizzato per realizzare la pagina sul trattamento dati: [[InformativaDatiPersonaliIdP|InformativaDatiPersonaliIdP.]] | |
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
Riga 245: | Riga 350: | ||
La pagina di login di un Identity Provider federato in IDEM DEVE contenere: | La pagina di login di un Identity Provider federato in IDEM DEVE contenere: | ||
− | *il collegamento alla pagina informativa indicata da <code><mdui:InformationURL></code> ([[ | + | *il collegamento alla pagina informativa indicata da <code><mdui:InformationURL></code> ([[Profilo_Tecnico_Operativo#IDP-MD06%20-%20InformationURL|IDP-MD06]]); |
− | *il collegamento alla pagina sul trattamento dei dati personali indicata da <code><mdui:PrivacyStatementURL></code> ([[ | + | |
− | + | E' RACCOMANDATO che la pagina di login contenga: | |
− | + | ||
+ | *il collegamento alla pagina sul trattamento dei dati personali indicata da <code><mdui:PrivacyStatementURL></code> ([[Profilo_Tecnico_Operativo#IDP-MD07%20-%20PrivacyStatementURL|IDP-MD07]]) | ||
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
Riga 255: | Riga 361: | ||
*di lunga durata (30 anni); | *di lunga durata (30 anni); | ||
− | * | + | *auto firmati (self-signed); |
− | *validi (non | + | *validi (non scaduti); |
*non firmati con algoritmi di firma basati su MD5 o SHA1; | *non firmati con algoritmi di firma basati su MD5 o SHA1; | ||
*corrispondenti ad una chiave privata di almeno 3072 bit. | *corrispondenti ad una chiave privata di almeno 3072 bit. | ||
In ogni caso la chiave privata corrispondente NON DEVE avere una lunghezza minore di 2048 bit. | In ogni caso la chiave privata corrispondente NON DEVE avere una lunghezza minore di 2048 bit. | ||
+ | |||
+ | [[#top|[TOP]]] | ||
===Esempio IdP Metadata=== | ===Esempio IdP Metadata=== | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Riga 309: | Riga 417: | ||
</md:ContactPerson> | </md:ContactPerson> | ||
</md:EntityDescriptor> | </md:EntityDescriptor> | ||
− | </syntaxhighlight> | + | </syntaxhighlight>[[#top|[TOP]]] |
+ | |||
==Service Provider== | ==Service Provider== | ||
===Metadata (SP-MD)=== | ===Metadata (SP-MD)=== | ||
Riga 316: | Riga 425: | ||
<code>validUntil</code> , attributo contenuto nell'elemento <code><md:EntityDescriptor></code>, DEVE essere <u>rimosso</u> assieme al suo valore in quanto verrà inserito dalla Federazione. | <code>validUntil</code> , attributo contenuto nell'elemento <code><md:EntityDescriptor></code>, DEVE essere <u>rimosso</u> assieme al suo valore in quanto verrà inserito dalla Federazione. | ||
− | [[ | + | [[#top|[TOP]]] |
====SP-MD02 - entityID==== | ====SP-MD02 - entityID==== | ||
<code>entityID</code> , attributo contenuto nell'elemento <code><md:EntityDescriptor></code>, DEVE essere una URL di lunghezza massima 256 caratteri. | <code>entityID</code> , attributo contenuto nell'elemento <code><md:EntityDescriptor></code>, DEVE essere una URL di lunghezza massima 256 caratteri. | ||
Riga 324: | Riga 433: | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
entityID="https://sp.example.org/shibboleth" | entityID="https://sp.example.org/shibboleth" | ||
− | </syntaxhighlight>[[ | + | </syntaxhighlight>[[#top|[TOP]]] |
− | ====SP-MD03 - DisplayName==== | + | ====SP-MD03 - DisplayName & ServiceName==== |
− | <code><mdui:DisplayName></code> , contenuto nell'elemento <code><mdui:UIInfo></code>, | + | <code><mdui:DisplayName></code> , contenuto nell'elemento <code><mdui:UIInfo></code>, e <code><md:ServiceName></code>, contenuto nell'elemento <code><md:AttributeConsumingService></code>DEVONO: |
− | *contenere il nome della risorsa da mostrare all'utente. '''Attenzione''': il nome | + | *contenere il nome della risorsa da mostrare all'utente. '''Attenzione''': il nome NON DEVE usare la parola "IDEM" perchè riservata al [https://idem.garr.it/federazione-idem/la-federazione#servizio Servizio] o la parola "eduGAIN" perchè riservata a [https://edugain.org/about-edugain/what-is-edugain/ eduGAIN]; |
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di non superare il limite massimo di 256 caratteri | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
<mdui:DisplayName xml:lang="en">Resource provided by Example Organization</mdui:DisplayName> | <mdui:DisplayName xml:lang="en">Resource provided by Example Organization</mdui:DisplayName> | ||
<mdui:DisplayName xml:lang="it">Risorsa erogata da Organizzazione di Esempio</mdui:DisplayName> | <mdui:DisplayName xml:lang="it">Risorsa erogata da Organizzazione di Esempio</mdui:DisplayName> | ||
+ | ... | ||
+ | <md:ServiceName xml:lang="en">Resource provided by Example Organization</md:ServiceName> | ||
+ | <md:ServiceName xml:lang="it">Risorsa erogata da Organizzazione di Esempio</md:ServiceName> | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
− | ====SP-MD04 - Description==== | + | |
− | <code><mdui:Description></code> , contenuto nell'elemento <code><mdui:UIInfo></code>, | + | ====SP-MD04 - Description & ServiceDescription==== |
+ | <code><mdui:Description></code> , contenuto nell'elemento <code><mdui:UIInfo></code>, e <code><md:ServiceDescription></code>, contenuto nell'elemento <code><md:AttributeConsumingService></code>DEVONO: | ||
*contenere una breve descrizione del servizio; | *contenere una breve descrizione del servizio; | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di non superare il limite massimo di 1024 caratteri | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
<mdui:Description xml:lang="en">The resource allow you to ...</mdui:Description> | <mdui:Description xml:lang="en">The resource allow you to ...</mdui:Description> | ||
<mdui:Description xml:lang="it">La risorsa ti permette di ...</mdui:Description> | <mdui:Description xml:lang="it">La risorsa ti permette di ...</mdui:Description> | ||
+ | ... | ||
+ | <md:ServiceDescription xml:lang="en">The resource allow you to ...</md:ServiceDescription> | ||
+ | <md:ServiceDescription xml:lang="it">La risorsa ti permette di ...</md:ServiceDescription> | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
− | ====SP- | + | |
+ | ====SP-MD05 - InformationURL==== | ||
<code><mdui:InformationURL></code> , contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | <code><mdui:InformationURL></code> , contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | ||
Riga 351: | Riga 476: | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
− | Per il contenuto della pagina informativa vedere [[ | + | Per il contenuto della pagina informativa vedere [[Profilo_Tecnico_Operativo#SP-FED02%20-%20Informazioni|SP-FED02]]. |
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 357: | Riga 482: | ||
<mdui:InformationURL xml:lang="it">https://...informativa in italiano...</mdui:InformationURL> | <mdui:InformationURL xml:lang="it">https://...informativa in italiano...</mdui:InformationURL> | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
− | ====SP- | + | ====SP-MD06 - PrivacyStatementURL==== |
<code><mdui:PrivacyStatementURL></code>, contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | <code><mdui:PrivacyStatementURL></code>, contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: | ||
Riga 363: | Riga 488: | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
− | Per il contenuto della pagina sul trattamento dei dati personali vedere [[ | + | Per il contenuto della pagina sul trattamento dei dati personali vedere [[Profilo_Tecnico_Operativo#SP-FED03%20-%20Trattamento%20dati|SP-FED03]]. |
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 370: | Riga 495: | ||
</syntaxhighlight>[[#top|[TOP]]] | </syntaxhighlight>[[#top|[TOP]]] | ||
====SP-MD07 - Logo==== | ====SP-MD07 - Logo==== | ||
− | <code><mdui:Logo></code> , contenuto nell'elemento <code><mdui:UIInfo></code>, | + | <code><mdui:Logo></code> , contenuto nell'elemento <code><mdui:UIInfo></code>, DEVE: |
+ | |||
+ | *contenere almeno una URL protetta da SSL (<code>https://</code>) del logo dell'organizzazione. | ||
+ | |||
+ | Si RACCOMANDA: | ||
− | * | + | *di pubblicare in formato '''PNG''' (con sfondo trasparente) |
+ | |||
+ | *un logo con: | ||
**''base'': dai 64 px ai 350 px; | **''base'': dai 64 px ai 350 px; | ||
**''altezza'': dai 64px ai 146px; | **''altezza'': dai 64px ai 146px; | ||
Riga 383: | Riga 514: | ||
*privo di ulteriori attributi o con il solo attributo <code>use="encryption"</code>; | *privo di ulteriori attributi o con il solo attributo <code>use="encryption"</code>; | ||
− | *contenente un certificato X.509 in formato PEM | + | *contenente un certificato X.509 in formato PEM come riportato in [[Profilo Tecnico Operativo#SP-FED05%20-%20Certificati%20metadata|SP-FED05]] |
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<md:KeyDescriptor use="encryption"> | <md:KeyDescriptor use="encryption"> | ||
Riga 414: | Riga 545: | ||
*contenere il nome dell'organizzazione che offre il servizio; | *contenere il nome dell'organizzazione che offre il servizio; | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di non superare il limite massimo di 256 caratteri | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 424: | Riga 559: | ||
*contenere il nome dell'organizzazione che offre il servizio da mostrare all'utente; | *contenere il nome dell'organizzazione che offre il servizio da mostrare all'utente; | ||
*essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | *essere definito sia per la lingua <u>italiana</u>, sia per la lingua <u>inglese</u>. | ||
+ | |||
+ | Si RACCOMANDA: | ||
+ | |||
+ | *di non superare il limite massimo di 256 caratteri | ||
''Esempio:''<syntaxhighlight lang="xml"> | ''Esempio:''<syntaxhighlight lang="xml"> | ||
Riga 442: | Riga 581: | ||
I metadata DEVONO contenere <u>almeno</u> un elemento <code><md:ContactPerson></code> con le seguenti caratteristiche: | I metadata DEVONO contenere <u>almeno</u> un elemento <code><md:ContactPerson></code> con le seguenti caratteristiche: | ||
− | *contenere l'indirizzo email del contatto tecnico del servizio; | + | *contenere l'indirizzo email del contatto tecnico del servizio nel formato <code>mailto:</code> ; |
− | *contenere l'attributo <code>contactType="technical"</code>; | + | *contenere l'attributo <code>contactType="technical"</code> ; |
Si RACCOMANDA di utilizzare un indirizzo <u>impersonale</u> (ad esempio una mailing-list). | Si RACCOMANDA di utilizzare un indirizzo <u>impersonale</u> (ad esempio una mailing-list). | ||
Riga 458: | Riga 597: | ||
#*<code>persistent-id</code> '''(persistent NameID)''' (o ''eduPersonTargetedID'' se non è possibile rilasciarlo) | #*<code>persistent-id</code> '''(persistent NameID)''' (o ''eduPersonTargetedID'' se non è possibile rilasciarlo) | ||
#L'affiliazione dell'utente con scopo: | #L'affiliazione dell'utente con scopo: | ||
− | #*<code>affiliation</code> '''(eduPersonScopedAffiliation)''' | + | #*<code>affiliation</code> '''(eduPersonScopedAffiliation)''' (vedi [[Attributo Affiliazione]]) |
− | ''Esempio | + | ''Esempio di rilascio degli attributi a [https://sp.aai-test.garr.it/secure sp.aai-test.garr.it]:''<syntaxhighlight lang="xml"> |
affiliation = member@aai-test.garr.it;staff@aai-test.garr.it | affiliation = member@aai-test.garr.it;staff@aai-test.garr.it | ||
persistent-id = https://garr-idp-test.irccs.garr.it/idp/shibboleth!https://sp.aai-test.garr.it/shibboleth!eYfN....Q1rU= | persistent-id = https://garr-idp-test.irccs.garr.it/idp/shibboleth!https://sp.aai-test.garr.it/shibboleth!eYfN....Q1rU= | ||
Riga 467: | Riga 606: | ||
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
+ | |||
====SP-FED02 - Informazioni==== | ====SP-FED02 - Informazioni==== | ||
La pagina informativa esposta in lingua <u>italiana</u> e in lingua <u>inglese</u> DEVE contenere: | La pagina informativa esposta in lingua <u>italiana</u> e in lingua <u>inglese</u> DEVE contenere: | ||
Riga 474: | Riga 614: | ||
#la denominazione dell'organizzazione che lo gestisce; | #la denominazione dell'organizzazione che lo gestisce; | ||
#il riferimento al supporto utenti; | #il riferimento al supporto utenti; | ||
− | #il collegamento alla pagina sul trattamento dei dati personali. | + | #il collegamento alla pagina sul trattamento dei dati personali indicata da <code><mdui:PrivacyStatementURL></code> ([[Profilo_Tecnico_Operativo#SP-MD06%20-%20PrivacyStatementURL|SP-MD06]]), se possibile, referenziata con la stessa URL. |
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
+ | |||
====SP-FED03 - Trattamento dati==== | ====SP-FED03 - Trattamento dati==== | ||
− | La pagina sul trattamento dei dati personali DEVE contenere tutte le informazioni previste dagli artt. 13 e 14 del Regolamento UE 679/2016. | + | La pagina sul trattamento dei dati personali DEVE contenere tutte le informazioni previste dagli artt. [https://eur-lex.europa.eu/legal-content/IT/TXT/HTML/?uri=CELEX:32016R0679#d1e2261-1-1 13] e [https://eur-lex.europa.eu/legal-content/IT/TXT/HTML/?uri=CELEX:32016R0679#d1e2362-1-1 14] del [https://eur-lex.europa.eu/legal-content/IT/AUTO/?uri=celex:32016R0679 Regolamento UE 679/2016]. |
Per la stesura della privacy policy IDEM suggerisce di seguire le linee guida di REFEDS: | Per la stesura della privacy policy IDEM suggerisce di seguire le linee guida di REFEDS: | ||
Riga 485: | Riga 626: | ||
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
− | ====SP- | + | ====SP-FED04 - Login Page / Discovery Service==== |
La pagina di accesso ad una risorsa federata in IDEM DEVE contenere: | La pagina di accesso ad una risorsa federata in IDEM DEVE contenere: | ||
*l'elenco degli IdP abilitati provenienti da IDEM ed eduGAIN; | *l'elenco degli IdP abilitati provenienti da IDEM ed eduGAIN; | ||
− | *un riferimento alla pagina informativa del servizio ([[ | + | *un riferimento alla pagina informativa del servizio ([[Profilo Tecnico Operativo#SP-MD05 - InformationURL|SP-MD05]]) |
− | Il Servizio suggerisce di | + | <!-- Il Servizio suggerisce di consultare le linee guida ''REFEDS Best Practices'' per l'implementazione del login federato'':'' https://discovery.refeds.org/ --> |
[[#top|[TOP]]] | [[#top|[TOP]]] | ||
− | ====SP- | + | ====SP-FED05 - Certificati metadata==== |
− | Il certificato o i certificati utilizzati per firmare e cifrare le asserzioni | + | Il certificato o i certificati utilizzati per firmare e cifrare le asserzioni del SP DOVREBBERO essere: |
*di lunga durata (30 anni); | *di lunga durata (30 anni); | ||
− | * | + | *auto firmati (self-signed); |
− | *validi (non | + | *validi (non scaduti); |
*non firmati con algoritmi di firma basati su MD5 o SHA1; | *non firmati con algoritmi di firma basati su MD5 o SHA1; | ||
*corrispondenti ad una chiave privata di almeno 3072 bit. | *corrispondenti ad una chiave privata di almeno 3072 bit. | ||
In ogni caso la chiave privata corrispondente NON DEVE avere una lunghezza minore di 2048 bit. | In ogni caso la chiave privata corrispondente NON DEVE avere una lunghezza minore di 2048 bit. | ||
+ | |||
+ | [[#top|[TOP]]] | ||
===Esempio Metadata Service Provider=== | ===Esempio Metadata Service Provider=== | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Riga 577: | Riga 720: | ||
</md:ContactPerson> | </md:ContactPerson> | ||
</md:EntityDescriptor> | </md:EntityDescriptor> | ||
− | </syntaxhighlight> | + | </syntaxhighlight>[[#top|[TOP]]] |
+ | |||
===Riferimenti=== | ===Riferimenti=== | ||
[RFC 2119] Key words for use in RFCs to Indicate Requirement Levels | [RFC 2119] Key words for use in RFCs to Indicate Requirement Levels | ||
http://www.rfc-editor.org/rfc/rfc2119.txt | http://www.rfc-editor.org/rfc/rfc2119.txt | ||
+ | |||
+ | [IDEM-META] IDEM METADATA PROFILE v1.0 | ||
+ | |||
+ | https://wiki.idem.garr.it/w/images/8/81/IDEM_METADATA_PROFILE_V1.1-ita-eng.pdf | ||
[SAML2Core] Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0 | [SAML2Core] Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0 | ||
Riga 602: | Riga 750: | ||
https://kantarainitiative.github.io/SAMLprofiles/saml2int.html | https://kantarainitiative.github.io/SAMLprofiles/saml2int.html | ||
+ | |||
+ | [REFEDS-DISCO] REFEDS - Discovery Best Practice | ||
+ | |||
+ | https://wiki.refeds.org/display/FBP/Discovery+Best+Practice | ||
+ | |||
+ | [[#top|[TOP]]] |
Versione attuale delle 16:33, 17 ott 2024
Versione 1.1.0
19 Gennaio 2024
Revisioni
Versione | Data | Descrizione | Autore |
---|---|---|---|
1.0 | 01-06-2021 | Prima versione completa | Marco Malavolti
Barbara Monticini Davide Vaghetti |
1.0.1 | 07-06-2021 | Modifica IDP-MD08 e SP-MD07 | Marco Malavolti
Barbara Monticini Davide Vaghetti |
1.0.2 | 10-06-2021 | SEC02 trasformato in raccomandazione dato che SEC01 copre già i casi di chain-issue piu' gravi | Marco Malavolti
Barbara Monticini Davide Vaghetti |
1.0.3 | 31-08-2021 | IDP-MD04 - DisplayName
SP-MD03 - DisplayName: inserito il divieto di utilizzo delle parole "IDEM" ed "eduGAIN" perchè riservate |
Marco Malavolti
Barbara Monticini Davide Vaghetti Mario Di Lorenzo |
1.0.4 | 21-10-2021 | IDP-FED04 e IDP-FED02 allineamento alle Specifiche Tecniche | Davide Vaghetti |
1.0.5 | 16-02-2022 | IDP-FED03 - rimossi esempi di privacy policy | Davide Vaghetti |
1.0.6 | 06-09-2022 | IDP-MD09 e SP-MD08 - Aggiunti relativi collegamenti a IDP-FED05 e SP-FED05 | Marco Malavolti |
1.1.0 | 19-01-2024 | SEC03 - Inserito il divieto di utilizzo di riferimenti a SAML v1.x in quanto deprecato
IDP-MD04, IDP-MD12, IDP-MD13, SP-MD03, SP-MD10, SP-MD11 - Aggiunta raccomandazione sul limite massimo di 256 caratteri IDP-MD05, SP-MD04 - Aggiunta raccomandazione sul limite massimo di 1024 caratteri IDP-FED02 - Rimossi i riferimenti di esempio IDP-MD08 - Rimossi i riferimenti di esempio IDP-MD15, SP-MD13 - Aggiunta la specifica del prefisso "mailto:" SP-FED01 - Aggiunto riferimento a documentazione specifica per la valorizzazione di eduPersonScopedAffiliation SP-FED02 - Aggiunta indicazione sul riferimento alla Privacy Policy del Service Provider |
Marco Malavolti
Barbara Monticini Davide Vaghetti Mario Di Lorenzo |
Indice
- 1 Revisioni
- 2 Profilo Tecnico Operativo per le Entità della Federazione IDEM
- 2.1 Definizioni
- 2.2 Security (SEC) - Identity Provider & Service Provider
- 2.3 Identity Provider
- 2.3.1 Metadata (IDP-MD)
- 2.3.1.1 IDP-MD01 - validUntil
- 2.3.1.2 IDP-MD02 - entityID
- 2.3.1.3 IDP-MD03 - Scope
- 2.3.1.4 IDP-MD04 - DisplayName
- 2.3.1.5 IDP-MD05 - Description
- 2.3.1.6 IDP-MD06 - InformationURL
- 2.3.1.7 IDP-MD07 - PrivacyStatementURL
- 2.3.1.8 IDP-MD08 - Logo
- 2.3.1.9 IDP-MD09 - KeyDescriptor
- 2.3.1.10 IDP-MD10 - SingleSignOnService
- 2.3.1.11 IDP-MD11 - SingleLogoutService
- 2.3.1.12 IDP-MD12 - OrganizationName
- 2.3.1.13 IDP-MD13 - OrganizationDisplayName
- 2.3.1.14 IDP-MD14 - OrganizationURL
- 2.3.1.15 IDP-MD15 - ContactPerson
- 2.3.2 Federation (IDP-FED)
- 2.3.3 Esempio IdP Metadata
- 2.3.1 Metadata (IDP-MD)
- 2.4 Service Provider
- 2.4.1 Metadata (SP-MD)
- 2.4.1.1 SP-MD01 - validUntil
- 2.4.1.2 SP-MD02 - entityID
- 2.4.1.3 SP-MD03 - DisplayName & ServiceName
- 2.4.1.4 SP-MD04 - Description & ServiceDescription
- 2.4.1.5 SP-MD05 - InformationURL
- 2.4.1.6 SP-MD06 - PrivacyStatementURL
- 2.4.1.7 SP-MD07 - Logo
- 2.4.1.8 SP-MD08 - KeyDescriptor
- 2.4.1.9 SP-MD09 - RequestedAttribute
- 2.4.1.10 SP-MD10 - OrganizationName
- 2.4.1.11 SP-MD11 - OrganizationDisplayName
- 2.4.1.12 SP-MD12 - OrganizationURL
- 2.4.1.13 SP-MD13 - ContactPerson
- 2.4.2 Federation (SP-FED)
- 2.4.3 Esempio Metadata Service Provider
- 2.4.4 Riferimenti
- 2.4.1 Metadata (SP-MD)
Profilo Tecnico Operativo per le Entità della Federazione IDEM
In questa pagina sono indicati i requisiti delle entità che si intende registrare nella Federazione Italiana delle Identità Digitali IDEM GARR AAI.
Definizioni
Le parole chiave utilizzate in questo documento, sempre scritte in maiuscolo ed indicate nella tabella di seguito con a fianco la loro versione originale in lingua inglese, devono essere interpretate secondo quanto indicato nella [RFC 2119].
DEVE/OBBLIGATORIO | MUST/SHALL/REQUIRED |
NON DEVE | MUST NOT/SHALL NOT |
DOVREBBE/RACCOMANDATO | SHOULD |
NON DOVREBBE | SHOULD NOT |
PUÒ/FACOLTATIVO | MAY/OPTIONAL |
Security (SEC) - Identity Provider & Service Provider
I requisiti di seguito elencati sono relativi al certificato SSL utilizzato per l'interfaccia HTTPS del servizio.
Non riguardano invece i certificati utilizzati dagli Identity e Service Provider per cifrare e firmare digitalmente le asserzioni presenti nei metadata.
SEC01 - Grado di robustezza SSL
Il certificato SSL utilizzato sulla porta HTTPS del servizio DEVE riportare almeno un grado B su SSL Labs: https://www.ssllabs.com/ssltest/
SEC02 - Chain issue
Il certificato SSL utilizzato sulla porta HTTPS del servizio DOVREBBE essere privo di "Chain issues" (errori sulla catena della CA) --- verificare con SSL Labs: https://www.ssllabs.com/ssltest/
SEC03 - No SAML v1
I metadata dell'entità DEVONO contenere SOLO riferimenti al protocollo SAML v2.x.
Identity Provider
Metadata (IDP-MD)
I requisiti di seguito elencati sono relativi ai metadata di un Identity Provider (IDP).
IDP-MD01 - validUntil
validUntil
, attributo contenuto nell'elemento <md:EntityDescriptor>
, DEVE essere rimosso assieme al suo valore in quanto verrà inserito dalla Federazione.
IDP-MD02 - entityID
entityID
, attributo contenuto nell'elemento <md:EntityDescriptor>
, DEVE essere una URL di lunghezza massima 256 caratteri.
La URL dell'entityID DOVREBBE restituire i metadata dell'entità.
Esempio:
entityID="https://idp.example.org/idp/shibboleth"
IDP-MD03 - Scope
<shibmd:Scope>
, contenuto nell'elemento <md:Extension>
, DEVE:
- assumere valori di dominio nella disponibilità dell'organizzazione (vedi IdPVerificaDominii per i metodi di verifica utilizzati dal Servizio IDEM GARR AAI).
Esempio:
<shibmd:Scope>example.org</shibmd:Scope>
IDP-MD04 - DisplayName
<mdui:DisplayName>
, contenuto nell'elemento <mdui:UIInfo>
, DOVREBBE:
- contenere il nome dell'organizzazione a meno di casi particolari. ATTENZIONE: il nome NON DEVE contenere le parole "IDEM" o "eduGAIN".
DEVE:
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Si RACCOMANDA:
- di non superare il limite massimo di 256 caratteri
Esempio:
<mdui:DisplayName xml:lang="en">Example University</mdui:DisplayName>
<mdui:DisplayName xml:lang="it">Università di Esempio</mdui:DisplayName>
IDP-MD05 - Description
<mdui:Description>
, contenuto nell'elemento <mdui:UIInfo>
, DEVE:
- contenere una breve descrizione del servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Si RACCOMANDA:
- di non superare il limite massimo di 1024 caratteri
Esempio:
<mdui:Description xml:lang="en">Identity provider for Example University user</mdui:Description>
<mdui:Description xml:lang="it">Identity provider per gli utenti di Università di Esempio</mdui:Description>
IDP-MD06 - InformationURL
<mdui:InformationURL>
, contenuto nell'elemento <mdui:UIInfo>
, DEVE:
- contenere la URL della pagina informativa del servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Per il contenuto della pagina informativa vedere IDP-FED02.
Esempio:
<mdui:InformationURL xml:lang="en">https://...info page in english...</mdui:InformationURL>
<mdui:InformationURL xml:lang="it">https://...pagina di informazioni in italiano...</mdui:InformationURL>
IDP-MD07 - PrivacyStatementURL
<mdui:PrivacyStatementURL>
, contenuto nell'elemento <mdui:UIInfo>
, DEVE:
- contenere la URL della pagina sul trattamento dei dati personali del servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Per il contenuto della pagina sul trattamento dei dati personali vedere IDP-FED03.
Esempio:
<mdui:PrivacyStatementURL xml:lang="en">https://...privacy policy in english...</mdui:PrivacyStatementURL>
<mdui:PrivacyStatementURL xml:lang="it">https://...privacy policy in italiano...</mdui:PrivacyStatementURL>
IDP-MD08 - Logo
<mdui:Logo>
, contenuto nell'elemento <mdui:UIInfo>
, DEVE:
- contenere almeno una URL protetta da SSL (
https://
) del logo dell'organizzazione.
Si RACCOMANDA:
- di pubblicare in formato PNG (con sfondo trasparente)
- di pubblicare due loghi:
- 16x16 pixel (o maggiore se rispetta l'aspect-ratio);
- 80x60 pixel (o maggiore se rispetta l'aspect-ratio).
Esempio:
<mdui:Logo width="16" height="16">https://...favicon_16x16.png...</mdui:Logo>
<mdui:Logo width="80" height="60">https://...logo_80x60.png...</mdui:Logo>
IDP-MD09 - KeyDescriptor
I metadata DEVONO contenere almeno un elemento <md:KeyDescriptor>
con le seguenti caratteristiche:
- privo di ulteriori attributi o con il solo attributo
use="signing"
; - che contenga un certificato X.509 in formato PEM come riportato in IDP-FED05
Esempio:
<md:KeyDescriptor use="signing">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MII[..]
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
IDP-MD10 - SingleSignOnService
<md:SingleSignOnService>
DEVE:
- essere presente con l'attributo
Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect'
perchè necessario alle Authentication Request (AuthnRequest
); - essere presente con l'attributo
Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST'
perchè necessario alle Authentication Response (AuthnResponse
); - in tutti i casi, contenere un attributo
Location
valorizzato con una URL protetta da SSL (https://
).
Esempio:
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://..."/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://..."/>
IDP-MD11 - SingleLogoutService
<md:SingleLogoutService>
DEVE:
- essere presente con l'attributo
Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect'
perchè necessario alle Logout Request (LogoutRequest
); - contenere un attributo
Location
valorizzato con una URL protetta da SSL (https://
).
Esempio:
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://..."/>
IDP-MD12 - OrganizationName
<md:OrganizationName>
, contenuto nell'elemento <md:Organization>
, DEVE:
- contenere il nome dell'organizzazione a cui afferisce il servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Si RACCOMANDA:
- di non superare il limite massimo di 256 caratteri
Esempio:
<md:OrganizationName xml:lang="en">Example University</md:OrganizationName>
<md:OrganizationName xml:lang="it">Università di Esempio</md:OrganizationName>
IDP-MD13 - OrganizationDisplayName
<md:OrganizationDisplayName>
, contenuto nell'elemento <md:Organization>
, DEVE:
- contenere il nome dell'organizzazione che verrà mostrato nelle interfacce utente;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Si RACCOMANDA:
- di non superare il limite massimo di 256 caratteri
Esempio:
<md:OrganizationDisplayName xml:lang="en">Example University</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="it">Università di Esempio</md:OrganizationDisplayName>
IDP-MD14 - OrganizationURL
<md:OrganizationURL>
, contenuto nell'elemento <md:Organization>
, DEVE:
- contenere la URL del sito principale dell'organizzazione a cui afferisce il servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Esempio:
<md:OrganizationURL xml:lang="en">https://...institutional site in english...</md:OrganizationURL>
<md:OrganizationURL xml:lang="it">https://...sito istituzionale in italiano...</md:OrganizationURL>
IDP-MD15 - ContactPerson
I metadata DEVONO contenere almeno un elemento <md:ContactPerson>
con le seguenti caratteristiche:
- contenere l'indirizzo email del contatto tecnico del servizio nel formato
mailto:
; - contenere l'attributo
contactType="technical"
;
Si RACCOMANDA di utilizzare un indirizzo impersonale (ad esempio una mailing-list).
Esempio:
<ContactPerson contactType="technical">mailto:mailing-list@domain</md:ContactPerson>
Federation (IDP-FED)
I requisiti di seguito elencati sono dettati dalla Federazione e destinati agli Identity Provider.
IDP-FED01 - Data
Un Identity Provider in IDEM DEVE essere in grado di rilasciare le seguenti informazioni:
- un identificativo univoco, persistente, diverso per ogni servizio e trasmissibile in una delle seguenti forme:
- nell'elemento
<NameID>
con attributoFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
se indicato nei metadata del Service Provider; - nell'attributo
eduPersonTargetedID
per i Service Provider che lo richiedono nell'elemento<md:RequestedAttribute>
.
- nell'elemento
- l'attributo
eduPersonScopedAffiliation
, ovvero l'affiliazione dell'utente con l'aggiunta delloscope
. La definizione dell'attributoeduPersonScopedAffiliation
deve seguire le regole indicate nella pagina Attributo Affiliazione.
Esempio di rilascio degli attributi per il Service Provider sp.aai-test.garr.it:
affiliation = member@aai-test.garr.it;staff@aai-test.garr.it
persistent = https://garr-idp-test.irccs.garr.it/idp/shibboleth!https://sp.aai-test.garr.it/shibboleth!eYfN....Q1rU=
IDP-FED02 - Informazioni
La pagina informativa esposta in lingua italiana e in lingua inglese DEVE contenere:
- un riferimento per il supporto agli utenti (ad esempio un indirizzo di posta, o un web form, ecc.);
- il collegamento alla pagina sul trattamento dei dati personali indicata da
<mdui:PrivacyStatementURL>
(IDP-MD07)
E' FACOLTATIVO inserire nella pagina informativa il logo di IDEM ed il link al sito di IDEM:
- sito di IDEM: https://www.idem.garr.it
- logo di IDEM: https://idem.garr.it/tutti-i-documenti/idem-archivio/banner-e-loghi
IDP-FED03 - Trattamento dati personali
La pagina sul trattamento dei dati personali DEVE contenere tutte le informazioni previste dagli artt. 13 e 14 del Regolamento UE 679/2016.
Il Servizio IDEM GARR AAI in collaborazione con il Responsabile del Trattamento dati di GARR ha realizzato un modello di informativa che può essere utilizzato per realizzare la pagina sul trattamento dati: InformativaDatiPersonaliIdP.
IDP-FED04 - Login
La pagina di login di un Identity Provider federato in IDEM DEVE contenere:
- il collegamento alla pagina informativa indicata da
<mdui:InformationURL>
(IDP-MD06);
E' RACCOMANDATO che la pagina di login contenga:
- il collegamento alla pagina sul trattamento dei dati personali indicata da
<mdui:PrivacyStatementURL>
(IDP-MD07)
IDP-FED05 - Certificati metadata
Il certificato o i certificati utilizzati per firmare e cifrare le asserzioni dell'IdP DOVREBBERO essere:
- di lunga durata (30 anni);
- auto firmati (self-signed);
- validi (non scaduti);
- non firmati con algoritmi di firma basati su MD5 o SHA1;
- corrispondenti ad una chiave privata di almeno 3072 bit.
In ogni caso la chiave privata corrispondente NON DEVE avere una lunghezza minore di 2048 bit.
Esempio IdP Metadata
<md:EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui" entityID="https://idp.example.org/idp/shibboleth">
<md:IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:Extensions>
<shibmd:Scope regexp="false">example.org</shibmd:Scope>
<mdui:UIInfo>
<mdui:DisplayName xml:lang="en">ENG IDP DISPLAYNAME</mdui:DisplayName>
<mdui:DisplayName xml:lang="it">ITA IDP DISPLAYNAME</mdui:DisplayName>
<mdui:Description xml:lang="en">ENG IDP DESCRIPTION</mdui:Description>
<mdui:Description xml:lang="it">ITA IDP DESCRIPTION</mdui:Description>
<mdui:InformationURL xml:lang="en">HTTPS URL ENG INFO PAGE</mdui:InformationURL>
<mdui:InformationURL xml:lang="it">HTTPS URL ITA INFO PAGE</mdui:InformationURL>
<mdui:PrivacyStatementURL xml:lang="en">URL ENG PRIVACY POLICY PAGE</mdui:PrivacyStatementURL>
<mdui:PrivacyStatementURL xml:lang="it">URL ITA PRIVACY POLICY PAGE</mdui:PrivacyStatementURL>
<mdui:Logo width="80" height="60">HTTPS URL LOGO</mdui:Logo>
<mdui:Logo width="16" height="16">HTTPS URL FAVICON</mdui:Logo>
</mdui:UIInfo>
</md:Extensions>
<md:KeyDescriptor use="signing">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MII...
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp.example.org/idp/profile/SAML2/Redirect/SLO"/>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp.example.org/idp/profile/SAML2/Redirect/SSO"/>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://idp.example.org/idp/profile/SAML2/POST/SSO"/>
</md:IDPSSODescriptor>
<md:Organization>
<md:OrganizationName xml:lang="it">ITA IDP ORGANIZATION NAME</md:OrganizationName>
<md:OrganizationName xml:lang="en">ENG IDP ORGANIZATION NAME</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="it">ITA IDP DISPLAYNAME ORGANIZATION</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="en">ENG IDP DISPLAYNAME ORGANIZATION</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="it">https://example.org/it</md:OrganizationURL>
<md:OrganizationURL xml:lang="en">https://example.org/en</md:OrganizationURL>
</md:Organization>
<md:ContactPerson contactType="technical">
<md:GivenName>EXAMPLE CONTACT NAME</md:GivenName>
<md:SurName>EXAMPLE CONTACT SURNAME</md:SurName>
<md:EmailAddress>mailto:technical.contact@example.org</md:EmailAddress>
</md:ContactPerson>
</md:EntityDescriptor>
Service Provider
Metadata (SP-MD)
I requisiti di seguito elencati sono relativi ai metadata che descrivono un Service Provider (SP).
SP-MD01 - validUntil
validUntil
, attributo contenuto nell'elemento <md:EntityDescriptor>
, DEVE essere rimosso assieme al suo valore in quanto verrà inserito dalla Federazione.
SP-MD02 - entityID
entityID
, attributo contenuto nell'elemento <md:EntityDescriptor>
, DEVE essere una URL di lunghezza massima 256 caratteri.
La URL dell'entityID DOVREBBE restituire i metadata dell'entità.
Esempio:
entityID="https://sp.example.org/shibboleth"
SP-MD03 - DisplayName & ServiceName
<mdui:DisplayName>
, contenuto nell'elemento <mdui:UIInfo>
, e <md:ServiceName>
, contenuto nell'elemento <md:AttributeConsumingService>
DEVONO:
- contenere il nome della risorsa da mostrare all'utente. Attenzione: il nome NON DEVE usare la parola "IDEM" perchè riservata al Servizio o la parola "eduGAIN" perchè riservata a eduGAIN;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Si RACCOMANDA:
- di non superare il limite massimo di 256 caratteri
Esempio:
<mdui:DisplayName xml:lang="en">Resource provided by Example Organization</mdui:DisplayName>
<mdui:DisplayName xml:lang="it">Risorsa erogata da Organizzazione di Esempio</mdui:DisplayName>
...
<md:ServiceName xml:lang="en">Resource provided by Example Organization</md:ServiceName>
<md:ServiceName xml:lang="it">Risorsa erogata da Organizzazione di Esempio</md:ServiceName>
SP-MD04 - Description & ServiceDescription
<mdui:Description>
, contenuto nell'elemento <mdui:UIInfo>
, e <md:ServiceDescription>
, contenuto nell'elemento <md:AttributeConsumingService>
DEVONO:
- contenere una breve descrizione del servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Si RACCOMANDA:
- di non superare il limite massimo di 1024 caratteri
Esempio:
<mdui:Description xml:lang="en">The resource allow you to ...</mdui:Description>
<mdui:Description xml:lang="it">La risorsa ti permette di ...</mdui:Description>
...
<md:ServiceDescription xml:lang="en">The resource allow you to ...</md:ServiceDescription>
<md:ServiceDescription xml:lang="it">La risorsa ti permette di ...</md:ServiceDescription>
SP-MD05 - InformationURL
<mdui:InformationURL>
, contenuto nell'elemento <mdui:UIInfo>
, DEVE:
- contenere la URL della pagina informativa del servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Per il contenuto della pagina informativa vedere SP-FED02.
Esempio:
<mdui:InformationURL xml:lang="en">https://...info page in english...</mdui:InformationURL>
<mdui:InformationURL xml:lang="it">https://...informativa in italiano...</mdui:InformationURL>
SP-MD06 - PrivacyStatementURL
<mdui:PrivacyStatementURL>
, contenuto nell'elemento <mdui:UIInfo>
, DEVE:
- contenere la URL della pagina sul trattamento dei dati personali del servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Per il contenuto della pagina sul trattamento dei dati personali vedere SP-FED03.
Esempio:
<mdui:PrivacyStatementURL xml:lang="en">https://...privacy policy in english...</mdui:PrivacyStatementURL>
<mdui:PrivacyStatementURL xml:lang="it">https://...privacy policy in italiano...</mdui:PrivacyStatementURL>
SP-MD07 - Logo
<mdui:Logo>
, contenuto nell'elemento <mdui:UIInfo>
, DEVE:
- contenere almeno una URL protetta da SSL (
https://
) del logo dell'organizzazione.
Si RACCOMANDA:
- di pubblicare in formato PNG (con sfondo trasparente)
- un logo con:
- base: dai 64 px ai 350 px;
- altezza: dai 64px ai 146px;
Esempio:
<mdui:Logo width="64" height="64">https://...logo.png</mdui:Logo>
SP-MD08 - KeyDescriptor
I metadata DEVONO contenere almeno un elemento <md:KeyDescriptor>
con le seguenti caratteristiche:
- privo di ulteriori attributi o con il solo attributo
use="encryption"
; - contenente un certificato X.509 in formato PEM come riportato in SP-FED05
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MII[..]
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
Se il Service Provider supporta il Single Logout, DEVE essere presente un ulteriore elemento <md:KeyDescriptor>
con l'attributo use="signing"
.
SP-MD09 - RequestedAttribute
<md:RequestedAttribute>
, contenuto nell'elemento <md:AttributeConsumingService>
, DEVE:
- contenere tutti e soli gli attributi SAML richiesti dalla risorsa;
- indicare gli attributi indispensabili all'accesso e all'utilizzo della risorsa con il parametro
isRequired="true"
- indicare gli attributi non indispensabili all'accesso e all'utilizzo della risorsa con il parametro
isRequired="false"
Esempio:
<md:RequestedAttribute FriendlyName="givenName" Name="urn:oid:2.5.4.42" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
<md:RequestedAttribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
SP-MD10 - OrganizationName
<md:OrganizationName>
, contenuto nell'elemento <md:Organization>
, DEVE:
- contenere il nome dell'organizzazione che offre il servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Si RACCOMANDA:
- di non superare il limite massimo di 256 caratteri
Esempio:
<md:OrganizationName xml:lang="en">Example Organization</md:OrganizationName>
<md:OrganizationName xml:lang="it">Organizzazione di Esempio</md:OrganizationName>
SP-MD11 - OrganizationDisplayName
<md:OrganizationDisplayName>
, contenuto nell'elemento <md:Organization>
, DEVE:
- contenere il nome dell'organizzazione che offre il servizio da mostrare all'utente;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Si RACCOMANDA:
- di non superare il limite massimo di 256 caratteri
Esempio:
<md:OrganizationDisplayName xml:lang="en">Resource provided by Example University</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="it">Risorsa erogata da Università di Esempio</md:OrganizationDisplayName>
SP-MD12 - OrganizationURL
<md:OrganizationURL>
, contenuto nell'elemento <md:Organization>
, DEVE:
- contenere la URL del sito principale dell'organizzazione che offre il servizio;
- essere definito sia per la lingua italiana, sia per la lingua inglese.
Esempio:
<md:OrganizationURL xml:lang="en">https://...institutional site in english...</md:OrganizationURL>
<md:OrganizationURL xml:lang="it">https://...sito istituzionalein italiano...</md:OrganizationURL>
SP-MD13 - ContactPerson
I metadata DEVONO contenere almeno un elemento <md:ContactPerson>
con le seguenti caratteristiche:
- contenere l'indirizzo email del contatto tecnico del servizio nel formato
mailto:
; - contenere l'attributo
contactType="technical"
;
Si RACCOMANDA di utilizzare un indirizzo impersonale (ad esempio una mailing-list).
Esempio:
<ContactPerson contactType="technical">mailto:mailing-list@domain</md:ContactPerson>
Federation (SP-FED)
I requisiti di seguito elencati sono dettate dalla Federazione e destinate ai Service Provider.
SP-FED01 - Data
un Service Provider in IDEM riceve automaticamente le seguenti informazioni:
- Un identificativo univoco persistente e targhettizzato dell'utente:
persistent-id
(persistent NameID) (o eduPersonTargetedID se non è possibile rilasciarlo)
- L'affiliazione dell'utente con scopo:
affiliation
(eduPersonScopedAffiliation) (vedi Attributo Affiliazione)
Esempio di rilascio degli attributi a sp.aai-test.garr.it:
affiliation = member@aai-test.garr.it;staff@aai-test.garr.it
persistent-id = https://garr-idp-test.irccs.garr.it/idp/shibboleth!https://sp.aai-test.garr.it/shibboleth!eYfN....Q1rU=
Ogni informazione aggiuntiva richiesta per l'utilizzo della/e risorsa/e protetta/e dal Service Provider va motivata adeguatamente via mail a idem-help@garr.it
.
SP-FED02 - Informazioni
La pagina informativa esposta in lingua italiana e in lingua inglese DEVE contenere:
- la descrizione del servizio;
- il pubblico a cui si rivolge il servizio;
- la denominazione dell'organizzazione che lo gestisce;
- il riferimento al supporto utenti;
- il collegamento alla pagina sul trattamento dei dati personali indicata da
<mdui:PrivacyStatementURL>
(SP-MD06), se possibile, referenziata con la stessa URL.
SP-FED03 - Trattamento dati
La pagina sul trattamento dei dati personali DEVE contenere tutte le informazioni previste dagli artt. 13 e 14 del Regolamento UE 679/2016.
Per la stesura della privacy policy IDEM suggerisce di seguire le linee guida di REFEDS:
https://wiki.refeds.org/display/CODE/Privacy+policy+guidelines+for+Service+Providers
SP-FED04 - Login Page / Discovery Service
La pagina di accesso ad una risorsa federata in IDEM DEVE contenere:
- l'elenco degli IdP abilitati provenienti da IDEM ed eduGAIN;
- un riferimento alla pagina informativa del servizio (SP-MD05)
SP-FED05 - Certificati metadata
Il certificato o i certificati utilizzati per firmare e cifrare le asserzioni del SP DOVREBBERO essere:
- di lunga durata (30 anni);
- auto firmati (self-signed);
- validi (non scaduti);
- non firmati con algoritmi di firma basati su MD5 o SHA1;
- corrispondenti ad una chiave privata di almeno 3072 bit.
In ogni caso la chiave privata corrispondente NON DEVE avere una lunghezza minore di 2048 bit.
Esempio Metadata Service Provider
<md:EntityDescriptor entityID="https://sp.example.com/shibboleth"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:Extensions>
<init:RequestInitiator
xmlns:init="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
Binding="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
Location="https://sp.example.com/Shibboleth.sso/Login" />
<idpdisc:DiscoveryResponse
xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
Location="https://sp.example.com/Shibboleth.sso/DS" index="1" />
<mdui:UIInfo>
<mdui:DisplayName xml:lang="en">ENG DISPLAY NAME</mdui:DisplayName>
<mdui:DisplayName xml:lang="it">ITA DISPLAY NAME</mdui:DisplayName>
<mdui:Description xml:lang="en">ENG DESCRIPTION</mdui:Description>
<mdui:Description xml:lang="it">ITA DESCRIPTION</mdui:Description>
<mdui:InformationURL xml:lang="en">HTTPS ENG INFORMATION PAGE URL</mdui:InformationURL>
<mdui:InformationURL xml:lang="it">HTTPS ITA INFORMATION PAGE URL</mdui:InformationURL>
<mdui:Logo height="64" width="64">HTTPS RESOURCE LOGO PNG</mdui:Logo>
<mdui:PrivacyStatementURL xml:lang="en">HTTPS ENG PRIVACY POLICY PAGE URL</mdui:PrivacyStatementURL>
<mdui:PrivacyStatementURL xml:lang="it">HTTPS ITA PRIVACY POLICY PAGE URL</mdui:PrivacyStatementURL>
</mdui:UIInfo>
</md:Extensions>
<md:KeyDescriptor>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MII...
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:SingleLogoutService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
Location="https://sp.example.com/Shibboleth.sso/SLO/Redirect" />
<md:SingleLogoutService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://sp.example.com/Shibboleth.sso/SLO/POST" />
<md:AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://sp.example.com/Shibboleth.sso/SAML2/POST"
index="1" />
<md:AttributeConsumingService index="1">
<!-- example for the required attribute: mail -->
<md:RequestedAttribute FriendlyName="mail"
Name="urn:oid:0.9.2342.19200300.100.1.3"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired="true" />
<!-- example for the desired attribute: eduPersonPrincipalName -->
<md:RequestedAttribute FriendlyName="eppn"
Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired="false" />
</md:AttributeConsumingService>
</md:SPSSODescriptor>
<md:Organization>
<md:OrganizationName xml:lang="en">ENG ORGANIZATION NAME</md:OrganizationName>
<md:OrganizationName xml:lang="it">ITA ORGANIZATION NAME</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="en">ENG ORGANIZATION DISPLAY NAME</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="it">ITA ORGANIZATION DISPLAY NAME</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="en">ENG ORGANIZATION URL</md:OrganizationURL>
<md:OrganizationURL xml:lang="it">ITA ORGANIZATION URL</md:OrganizationURL>
</md:Organization>
<md:ContactPerson contactType="technical">
<md:EmailAddress>mailto:technical.contact.mailing.list@example.org</md:EmailAddress>
</md:ContactPerson>
</md:EntityDescriptor>
Riferimenti
[RFC 2119] Key words for use in RFCs to Indicate Requirement Levels
http://www.rfc-editor.org/rfc/rfc2119.txt
[IDEM-META] IDEM METADATA PROFILE v1.0
https://wiki.idem.garr.it/w/images/8/81/IDEM_METADATA_PROFILE_V1.1-ita-eng.pdf
[SAML2Core] Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0
http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
[SAML2Bind] Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0
http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf
[SAML2Meta] Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0
http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf
[SAML2MDIOP] SAML V2.0 Metadata Interoperability Profile Version 1.0
http://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop-os.pdf
[SAML2Int] SAML V2.0 Deployment Profile for Federation Interoperability
https://kantarainitiative.github.io/SAMLprofiles/saml2int.html
[REFEDS-DISCO] REFEDS - Discovery Best Practice