Seuraavassa on esitetty Haka-resurssirekisterissä suoritettavat toimenpiteet, joilla Hakaan rekisteröidyn SP-palvelimen ylläpitäjä pyytää SP-palvelimensa välittämistä eduGAIN:iin.

  1. Merkitse SP Basic Information -välilehdellä federaatiot, joihin haluat metadatasi julkaistavan (tässä: eduGAIN).
  2. Välilehdellä 'Contact Information' oleva yhteyshenkilön sähköpostiosoitteen tulisi olla rooliin perustuva (esim. techadmin@..) eikä henkilökohtainen.
  3. 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:
    1. Displayname englanniksi ja itse palvelun kielellä.
    2. Description englanniksi ja itse palvelun kielellä.
    3. Privacy Policy URL englanniksi ja itse palvelun kielellä.

Entity Categories

Entity Categoryt ovat Entity Category Attribute Types -määrityksen mukaisia kokoelmia samantyyppisistä SAML-palvelimista. Haka-resurssirekisterissä SP-ylläpitäjä voi pyytää SP-palvelimensa sisällyttämistä haluamaansa kategoriaan. Tällä hetkellä Haka-resurssirekisteri tuntee seuraavat kategoriat (kuva alla):

Resurssirekisteriin täytettyjen tietojen perusteella resurssirekisteri lisää tarvittavat elementit SP-palvelimesta eduGAIN:iin välitettävään SAML-metatietoon. 


SP Trust Rules

Haka-resurssirekisterin eduGAIN Rules -välilehdeltä SP-ylläpitäjä voi poimia ne Identity Provider -palvelimet, joiden suorittamaan käyttäjätunnistukseen ja luovuttamiin attribuutteihin SP luottaa. Resurssirekisteri tuottaa SP-palvelimen käyttöön mainitut Identity Provider -palvelimet sisältävän SAML 2.0 -metadatatiedoston.

Alasvetovalikoissa IdP-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 IdP entityihin, paitsi niihin, jotka on rekisteröinyt (#1) Sveitsin tai (#2) Ruotsin luottamusverkosto. Ruotsalaisten IdP-palvelinten suhteen tee kuitenkin (#3) poikkeus IdP-palvelimen https://hbidp.hb.se/idp/shibboleth kohdalla ja luota siihen".

Luottamus tiettyyn Entityyn evaluoidaan seuraavasti:

  1. Tutki Entity-tason säännöt (#3). Jos evaluoitavalle Entitylle löytyy sääntö, noudata sitä. Muuten siirry seuraavaan kohtaan.
  2. Tutki Federaatio-tason säännöt (#1 ja #2). Jos evaluoitavan Entityn kotifederaatiolle löytyy sääntö, noudata sitä. Muuten siirry seuraavaan kohtaan.
  3. Noudata eduGAIN-tason (Authority-taso) sääntöä (#0).

Voit tarkastella sääntöjesi vaikutusta per eduGAIN IdP "View eduGAIN IdPs" toiminnolla. Esimerkissä on valittu ruotsalainen entity https://hbidp.hb.se/idp/shibboleth, jolle esimerkissä löytyy siis Entity-tason sääntö (#3), jonka perusteella siihen luotetaan.

Perustelu näinkin monimutkaiselle tavalle filtteröidä entityjä sekä itse entityn että entityn kotifederaation (Authority) perusteella on eduGAINin käytänteiden monimuotoisuus. Jos olet tyytyväinen esimerkiksi Ruotsin federaation käytänteisiin ja luotat siihen kuin 'Hakaan', voit määritellä Federaatio-tason säännöllä luottavasi automaattisesti kaikkiin Ruotsin federaation eduGAINiin julkaisemiin IdP-palvelimiin. Toisaalta automaattinen luottamussuhteen muodostaminen esimerkiksi brasilialaisiin IdP-palvelimiin ei välttämättä ole kaikille itsestään selvää.

Entity-filtteröinti on tärkeää myös, jotta voit sulkea pois entityjä, jotka saat duplikaattina esimerkiksi Hakasta tai Kalmarin unionista. Näiden pois sulkeminen ei ole täysin välttämätöntä, jos käytät esimerkiksi Shibboleth SP-palvelinta. Shibbolethin oletustoiminta on käyttää kustakin entitystä (entityID:stä) sitä instanssia, joka sijaitsee metadatalähteissä ensimmäisenä. Tästä syystä määrittele vähintääkin Hakan eduGAINiin ilmoittamat jäsenet epäluotetuiksi Authority-tason säännöllä.

Tekemäsi (ja operaattorin hyväksymät) muutokset heijastuvat SP-kohtaiseen eduGAIN-metadataasi noin tunnin viiveellä. SP-kohtainen metadatasi haetaan SP-palvelimen Resurssirekisterin id:n perusteella osoitteesta http://haka.funet.fi/edugain-nightly/gen-edugain/sp-[id]-metadata-eduGain.xml.

SP-palvelimen eduGAIN downstream metadata

Taulukossa käytetyn id-arvon saat SP-palvelimellesi Resurssirekisteristä SP-palvelimen tiedoista (Resource Registry ID). Resurssirekisteri luo jokaiselle eduGAINiin rekisteröidylle SP-palvelimelle räätälöidyn metadata-tiedoston palvelimelle määritetyjen eduGAIN-sääntöjen pohjalta.

Selitys
SP-palvelimen metadatahttps://haka.funet.fi/edugain-nightly/gen-edugain/sp-[id]-metadata-eduGain.xml

eduGAIN metadatan allekirjoitusvarmenne

Esimerkki SP-palvelimen konfiguroinnista (Shibboleth)

Esimerkki näyttää suuntaa kuinka ottaa käyttöön Resurssirekisterin luoma SP-kohtainen metadata-tiedosto Haka-metadatan rinnalle (mukana allekirjoituksen tarkistus):

.
.
<!-- Haka metadata -->
<MetadataProvider type="XML" url="https://haka.funet.fi/metadata/haka-metadata.xml" backingFilePath="haka-metadata.xml" reloadInterval="3600">
  <MetadataFilter type="Signature" certificate="/etc/pki/tls/certs/haka-sign-v5.pem"/>
  <MetadataFilter type="RequireValidUntil" maxValidityInterval="2592000"/>
  <MetadataFilter type="EntityRoleWhiteList">
    <RetainedRole xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">md:IDPSSODescriptor</RetainedRole>
  </MetadataFilter>
</MetadataProvider>

<!-- eduGAIN metadata --> 
<MetadataProvider type="XML" url="https://haka.funet.fi/edugain-nightly/gen-edugain/sp-XX-metadata-eduGain.xml" backingFilePath="sp-XX-metadata-eduGain.xml" reloadInterval="3600">
  <MetadataFilter type="Signature" certificate="/etc/pki/tls/certs/haka-edugain-sign.csc.fi.2021.pem"/>
  <MetadataFilter type="RequireValidUntil" maxValidityInterval="2592000"/>
  <MetadataFilter type="EntityRoleWhiteList">
    <RetainedRole xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">md:IDPSSODescriptor</RetainedRole>
  </MetadataFilter>
</MetadataProvider>
.
.

Embedded Discovery Service

Loppukäyttäjien palvelussa asiointia voidaan helpottaa konfiguroimalla SP-palvelimen kirjautumissivun yhteyteen EDS (Embedded Discovery Service). Hakan asiointipalvelusta(https://rr.funet.fi/haka/) löytyy esimerkki EDS-palvelusta, jossa on hyödynnetty SWITCHin EDS-toteutusta:




SWITCH EDS -toteutuksesta löydät lisätietoja täältä: https://www.switch.ch/aai/support/serviceproviders/sp-embedded-wayf.html

Hakan EDS-sivu: https://wiki.eduuni.fi/display/CSCHAKA/Embedded+DS

Shibboleth EDS: https://wiki.shibboleth.net/confluence/display/EDS10/1.+Overview