Seuraavassa on esitetty Haka-resurssirekisterissä suoritettavat toimenpiteet, joilla Hakaan rekisteröidyn IdP-palvelimen ylläpitäjä saa IdP-palvelimensa näkymään eduGAIN:iin.
- Merkitse IdP's Basic Information -välilehdellä federaatiot, joihin haluat metadatasi julkaistavan (tässä: eduGAINiin).
- Välilehdellä Contact Information oleva yhteyshenkilön sähköpostiosoitteen tulisi olla rooliin perustuva (esim. techadmin@..) eikä henkilökohtainen.
- Metadata UI -elementit tulisi olla täytetty mahdollisimman täydellisesti. Tämä tapahtuu täyttämällä tiedot Ui Extensions -välilehdellä. Erityisen tärkeät elementit ovat:
- Displayname englanniksi ja itse palvelun kielellä.
- Description englanniksi ja itse palvelun kielellä.
IdP Trust Rules
eduGAIN Rules -välilehdellä IdP-ylläpitäjä voi määritellä, mihin Service Provider palvelimiin IdP-palvelin luottaa (luovuttaa attribuutteja). Määritysten perusteella resurssirekisteri tuottaa IdP-palvelimen tarvitseman SAML-metadatatiedoston.
Määrittely voidaan tehdä kahdella tavalla:
- Basic eduGAIN Rules: IdP luottaa kaikkiin SP-palvelimiin, jotka ovat sitoutuneet tiettyyn Entity Category -ryhmään
- Advanced eduGAIN Rules: IdP-ylläpitäjä määrittelee yksitellen, mihin SP-palvelimiin IdP luottaa
Muistathan määrittelyjä tehdessäsi, että kyse on henkilötietojen luovuttamisesta toiselle rekisterinpitäjälle, mitä säätelee henkilötietolaki.
Basic eduGAIN Rules: Entity Categories
Entity Categoryt ovat Entity Category Attribute Types -määrityksen mukaisia kokoelmia samantyyppisistä SAML-palvelimista. Haka-resurssirekisterissä IdP-ylläpitäjä voi yksinkertaisesti konfiguroida IdP:n luottamaan (luovuttamaan attribuutteja) kaikille SP-palvelimille, jotka kuuluvat tiettyyn Entity Categoryyn. Tällä hetkellä Haka-resurssirekisteri tuntee seuraavat kategoriat:
- GÉANT Data Protection Code of Conduct, EU/ETA-maissa tai niihin rinnastuvissa maissa sijaitsevat SP-palvelimet, jotka ovat sitoutuneet GÉANT-tietosuojakäytäntöön.
- Research and Scholarship, globaali Entity Category SP-palvelimista, jotka paikallisen federaation näkemyksen mukaan tukevat tiedettä ja tutkimusta.
Tällöin resurssirekisteri tuottaa IdP-ylläpitäjälle sekä SAML-metadata että attribute filter policy -tiedostot, jotka sisältävät valittuun kategoriaan kuuluvat SP-palvelimet. Jos valitset useamman kategorian, SP-palvelin tulee poimituksi mukaan, jos se kuuluu ainakin yhteen valitsemistasi kategorioista (joukko-opillisesti kyse on siis unionista).
Advanced eduGAIN Rules
Basic-tason sääntöjen lisäksi/sijaan IdP-ylläpitäjä voi poimia yksitellen ne SP-palvelimet, joihin haluaa luottaa. Advanced-tason säännöt ohittavat aina Basic-tason säännöt, jos sellaisia on tehty. Toimintaperiaate on sama kuin "SP Trust Rules" sivulla SP:n luottamat Identity Provider -palvelimet.
'Advanced eduGAIN Rules' - kohdan alasvetovalikoissa SP-palvelimen kotifederaatio ilmaistaan sen eduGAIN-metadatasta poimitun Registration Authority -arvon perusteella. Vaikka arvo on pakollinen, niin valitettavasti ainakin tällä hetkellä kaikki entityt eivät kerro eduGAIN-metadatassaan kotifederaatiotaan. Haka-resurssirekisteri on niputtanut kyseiset kodittomat 'Homeless'-kotifederaation alle.
Seuraava kuva selventää yleistä periaatetta. Esimerkkikonfiguraatiota ei tule käyttää tuotantokonfiguraation pohjalla, sen ainoa tarkoitus on valaista sääntöjen käyttöä.
Esimerkin konfiguraation säännöt tulkitaan seuraavasti: "Luota (#0) kaikkiin eduGAIN SP -entityihin, paitsi niihin, jotka on rekisteröinyt (#1) Brasilian Café-luottamusverkosto."
Luottamus tiettyyn Entityyn evaluoidaan seuraavasti:
- Tutki Entity-tason säännöt. Jos evaluoitavalle Entitylle löytyy sääntö, noudata sitä. Muuten siirry seuraavaan kohtaan.
- Tutki federaatiotason säännöt (#1). Jos evaluoitavan Entityn kotifederaatiolle löytyy sääntö, noudata sitä. Muuten siirry seuraavaan kohtaan.
- Noudata eduGAIN-tason sääntöä (#0).
Attribuuttien luovutuksen konfiguroiminen
Sen lisäksi, että IdP-ylläpitäjä voi määritellä entity-, kotifederaatio- tai eduGAIN-tason säännöt niistä SP-palvelimista, joihin IdP-palvelin luottaa, IdP-ylläpitäjä voi myös asettaa perälaudan kullekin SP-palvelimille luovutettavien attribuuttien listalle. 'eduGAIN Rules' -välilehdellä on toiminto, jolla voi rakentaa sääntöjä attribuutti- ja SP-kohtaisesti.
Alla oleva esimerkkikonfiguraatio selventää sääntöjen toimintaa eikä ole sellaisenaan malli tuotantokonfiguraatiolle.
Periaattena, on, että kukin attribuutti luovutetaan,
- jos kohdasta IdP Trust Rules (ks. yllä) seuraa, että IdP ylipäätään luottaa kyseiseen SP-palvelimeen JA
- jos SP pyytää kyseistä attribuuttia (käyttämällä SAML-metadatan md:RequestedAttributes-elementtiä) JA
- jos "Attributes this IdP releases to eduGAIN" -kohta sallii kyseisen attribuutin luovuttamisen kyseiselle SP-palvelimelle.
Attribuuttien luovutussäännöt evaluoidaan entity-tasolta ylöspäin seuraavasti:
- Tutki Entity-tason säännöt (#2). Jos evaluoitavalle Entitylle löytyy sääntö, noudata sitä. Muuten siirry seuraavaan kohtaan.
- Tutki federaatiotason säännöt (#1). Jos evaluoitavan Entityn kotifederaatiolle löytyy sääntö, noudata sitä. Muuten siirry seuraavaan kohtaan.
- Noudata eduGAIN-tason sääntöä (#0).
Kuvan esimerkkikonfiguraatio ilmaisee, että "Lähetä attribuutti 'cn' kaikille sitä pyytäville (#0) eduGAIN SP-palvelimille paitsi, jos palvelun kotifederaatio on (#1) Norjan Feide. Norjan federaation palveluiden joukossa (#2) tee kuitenkin poikkeus foodl.org-palvelun osalta ja lähetä sille cn pyydettäessä".
Näiden sääntöjen perusteella Haka-resurssirekisteri muodostaa kullekin IdP-palvelimelle attribute filter policy (afp) -tiedoston. Sen perusteella Shibboleth IdP-palvelin päättää, mitä attribuutteja lähetetään kullekin SP-palvelimelle.
Luottamuksen ja attribuuttien luovutuksen testaaminen
IdP-ylläpitäjä voi tarkastella omien sääntöjensä vaikutusta kunkin eduGAIN SP-palvelimen kohdalla:
Ensimmäinen taulukko kertoo, että foodl.org -niminen SP on sääntöjen perusteella luotettu ja sisällytetty IdP-palvelimen saamaan eduGAIN-metadataan. Toisesta taulukosta näet attribuuttisääntöjesi vaikutuksen luovutettaviin attribuutteihin.
Tekemäsi muutokset heijastuvat IdP-kohtaiseen eduGAIN-metadataasi noin tunnin viiveellä siitä, kun Haka-operaattori on hyväksynyt ne. Haka-resurssirekisteri generoi kerran tunnissa IdP-palvelimellesi näiden sääntöjen perusteella metadatan (ks. alla), joka sisältää valitsemasi eduGAIN-SP-palvelimet sekä niille afp:n. Jos tiettyä attribuuttia ei sääntöjesi mukaan saa luovuttaa kohteelle, kyseinen attributti kommentoidaan ulos sekä metadatasta että afp:stä.
IdP-palvelimen eduGAIN downstream metadata ja attribute-filter.xml (Shibboleth)
Alla taulukossa käytetyn id-arvon saat IdP-palvelimellesi Resurssirekisteristä IdP-palvelimen tiedoista (Resource Registry ID) . Resurssirekisteri luo jokaiselle eduGAINiin rekisteröidylle IdP-palvelimelle räätälöidyt tiedostot palvelimelle määritetyjen eduGAIN-sääntöjen pohjalta.
Selitys | URL |
---|---|
IdP-palvelimelle räätälöity metadata | https://haka.funet.fi/edugain-nightly/gen-edugain/idp-[id]-metadata-eduGain.xml |
IdP-palvelimelle räätälöity attribute-filter.xml | https://haka.funet.fi/edugain-nightly/gen-edugain/idp-[id]-afp-eduGain.xml |
eduGAIN metadatan allekirjoitusvarmenne |
Esimerkki IdP-palvelimen konfiguroinnista (Shibboleth)
Esimerkki näyttää suuntaa kuinka ottaa käyttöön Resurssirekisterin luoma IdP-kohtainen metadata-tiedosto Haka-metadatan rinnalle (mukana allekirjoituksen tarkistus):
. . <!-- Haka MetadataProvider --> <metadata:MetadataProvider id="HAKAMD" xsi:type="FileBackedHTTPMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" maxRefreshDelay="PT2H" metadataURL="https://haka.funet.fi/metadata/haka-metadata.xml" backingFile="/path/to/backup/location/haka-metadata.xml"> <metadata:MetadataFilter xsi:type="SignatureValidation" trustEngineRef="Haka-trustEngine" /> </metadata:MetadataProvider> <!-- eduGAIN MetadataProvider --> <metadata:MetadataProvider id="EDUGAINMD" xsi:type="FileBackedHTTPMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" maxRefreshDelay="PT2H" metadataURL="https://haka.funet.fi/edugain-nightly/gen-edugain/idp-XX-metadata-eduGain.xml" backingFile="/path/to/backup/location/idp-XX-metadata-eduGain.xml" requireValidMetadata="false"> <metadata:MetadataFilter xsi:type="SignatureValidation" trustEngineRef="eduGAIN-trustEngine" /> </metadata:MetadataProvider> . . <!-- Haka TrustEngine --> <security:TrustEngine id="Haka-trustEngine" xsi:type="security:StaticExplicitKeySignature"> <security:Credential id="Haka_MD_signing" xsi:type="security:X509Filesystem"> <security:Certificate>/path/to/cert/haka-sign-v2.pem</security:Certificate> </security:Credential> </security:TrustEngine> <!-- eduGAIN TrustEngine --> <security:TrustEngine id="eduGAIN-trustEngine" xsi:type="security:StaticExplicitKeySignature"> <security:Credential id="eduGAIN_MD_signing" xsi:type="security:X509Filesystem"> <security:Certificate>/path/to/cert/haka-edugain-sign.csc.fi.pem</security:Certificate> </security:Credential> </security:TrustEngine> . .
Esimerkki näyttää suuntaa kuinka ottaa käyttöön Resurssirekisterin luoman IdP-kohtaisen attribute-filter.xml -tiedoston Haka-filterin rinnalle:
. . <srv:Service id="shibboleth.AttributeFilterEngine" xsi:type="attribute-afp:ShibbolethAttributeFilteringEngine" configurationResourcePollingFrequency="PT2H"> <!-- Haka attribute-filter.xml --> <srv:ConfigurationResource url="https://haka.funet.fi/metadata/haka-attribute-filter.xml" file="/path/to/backup/location/haka-attribute-filter.xml" xsi:type="resource:FileBackedHttpResource"/> <!-- eduGAIN attribute-filter.xml --> <srv:ConfigurationResource url="https://haka.funet.fi/edugain-nightly/gen-edugain/idp-XX-afp-eduGain.xml" file="/path/to/backup/location/idp-XX-afp-eduGain.xml" xsi:type="resource:FileBackedHttpResource"/> </srv:Service> . .
eduGAINin palvelut ja IdP-palvelimen kirjautumissivu (Shibboleth)
eduGAINiin rekisteröitävän IdP-palvelimen kirjautumissivu kannattaa muokata siten, että palveluun kirjautuva loppukäyttäjä näkee ainakin palvelun nimeen (<idpui:serviceName>
) ja kuvaukseen (<idpui:serviceDescription>
) ja että hänellä on mahdollisuus tutustua palvelun tietosuojaselosteeseen (<idpui:servicePrivacyURL>
) ennen attribuuttien luovutusta. Shibboleth IdP -ohjelmiston kirjautumissivun muokkaamista koskevat tarkemmat ohjeet löytyvät täältä.
Jos IdP-palvelimessa on käytössä uApprove-työkalu, kohdepalvelua koskevia tietoja voit laittaa nähtäväksi myös sinne, uApprove-konfigurointia koskevat ohjeet löytyvät täältä.
eduGAIN-kirjautumisen testaaminen
Haka IdP -palvelimen oikeanlaista konfiguraatiota ja attribuuttien luovutuksen onnistumista voi testata vaikkapa Sveitsin SWITCHaai-luottamusverkoston testipalvelinta vasten. Testipalvelin on sitoutunut GÉANT-tietosuojakäytäntöön.