You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

Seuraavassa on esitetty Haka-resurssirekisterissä suoritettavat toimenpiteet, joilla Hakaan rekisteröidyn IdP:n ylläpitäjä saa IdP:nsä näkymään eduGAIN:iin.

  1. Merkitse IdP's Basic Information -välilehdellä federaatiot, joihin haluat metadatasi julkaistavan (tässä: eduGAINiin).
  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ä.

IdP Trust Rules

eduGAIN Rules -välilehdellä IdP-ylläpitäjä voi määritellä, mihin Service Provider -palvelimiin IdP 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:hin, jotka ovat sitoutuneet GÉANT-tietosuojakäytäntöön
  • Advanced eduGAIN rules: IdP-ylläpitäjä määrittelee yksitellen, mihin SP-palvelimiin IdP luottaa

IdP Trust Rules: Basic

Haka-resurssirekisterissä IdP-ylläpitäjä voi yksinkertaisesti konfiguroida IdP:n luottamaan (luovuttamaan attribuutteja) kaikille SP:lle, jotka ovat sitoutuneet GÉANT-tietosuojakäytäntöön (kuva alla). Tällöin resurssirekisteri tuottaa IdP-ylläpitäjälle sekä SAML-metadata- että attribute filter policy -tiedostot, jotka sisältävät mainitut SP-palvelimet.

IdP Trust Rules: Advanced

Basic-tason sääntöjen lisäksi/sijaan IdP-ylläpitäjä voi poimia yksitellen ne SP:t, 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:

  1. Tutki Entity-tason säännöt. Jos evaluoitavalle Entitylle löytyy sääntö, noudata sitä. Muuten siirry seuraavaan kohtaan.
  2. Tutki federaatiotason säännöt (#1). Jos evaluoitavan Entityn kotifederaatiolle löytyy sääntö, noudata sitä. Muuten siirry seuraavaan kohtaan.
  3. 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:stä, joihin IdP-palvelin luottaa, IdP-ylläpitäjä voi myös asettaa perälaudan kullekin SP:lle 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ä attribuutti luovutetaan,

  • jos kohdasta IdP Trust Rules (ks. yllä) seuraa, että IdP ylipäätään luottaa kyseiseen SP:hen 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:lle.

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ä". Samoin kuin luottamusta evaluoitaessa, myös attribuuttien kohdalla säännöt evaluoidaan entity-tasolta ylöspäin. Sääntö #2 on voimakkain, koska se koskee yhtä nimenomaista entityä. Toisena tulee Federation-tason sääntö #1 ja viimeisenä eduGAIN-sääntö #0.

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:lle.

Luottamuksen ja attribuuttien luovutuksen testaaminen

Myös IdP-ylläpitäjä voi tarkastella omien sääntöjensä vaikutusta kunkin eduGAIN SP:n kohdalla:

Ensimmäinen taulukko kertoo, että foodl.org-niminen SP on sääntöjen perusteella luotettu ja sisällytetty IdP:n 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:llesi näiden sääntöjen perusteella metadatan (ks. alla), joka sisältää valitsemasi eduGAIN-SP:t 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 kirjautumalla Resurssirekisteriin. Resurssirekisteri luo jokaiselle eduGAINiin rekisteröidylle IdP-palvelimelle räätälöidyt tiedostot palvelimelle määritetyjen eduGAIN-sääntöjen pohjalta.

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):

shibboleth IdP, relying-party.xml
.
.
<!-- 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:

shibboleth IdP, service.xml
.
.
<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>
.
.
  • No labels