Shibboleth IdP -ohjelmiston kehittyessä on toteutettu uusi attribuuttisuodatussääntö, joka saa syötteensä suoraan federaation SAML-metadatasta. Viimeistään, kun organisaatiot päivittävät IdP-ohjelmistonsa versiotasolle 3, kannattaa ottaa käyttöön uusi suodatussääntö. Nykyisen attribute-filter.xml -tiedoston julkaiseminen lopetetaan myöhemmin ilmoitettavana ajankohtana.

attribute-filter.xml on perinteinen Haka-metadatan rinnalla julkaistu tiedosto, joka on voitu määritellä Shibboleth IdP -ohjelmistolle attribuuttien luovutussäännön perustaksi. Tiedosto on perustunut palvelujen (SP) metadatassa pyytämiin attribuutteihin. Perinteinen suodatin sisältää saman tiedon, kuin RequesteAttribute-elementit SP:n metadatassa. Tiedosto ei ole allekirjoitettu. Sen ohella on julkaistu md5-summa, jolla on voinut tarkastaa, että tieto on pysynyt muuttumattomana. Md5-summa ei ole yhtä luotettava tapa varmistua tiedon aitoudesta, kuin Haka-metadatan yhteydessä käytettävä XML-allekirjoitus.

Määrittely Shibbolethin konfiguraatiossa

Uusi luovutussääntö määritellään Shibboleth Wikin ohjeen mukaisesti: https://wiki.shibboleth.net/confluence/x/dAInAQ käyttäen AttributeInMetadata suodatintyyppiä. Suodatin täsmää niihin attribuutteihin, jotka on lisätty autentikaatiossa kyseessä olevan palvelun metadatassa RequestedAttribute -elementtiin. Koska tuotannossa olevalla IdP:llä voi olla sidoksia useisiin metadatasyötteisiin, suodatin kytketään oikeaan metadatasyötteeseen lisäämällä siihen PolicyRequirementRule tyyppiä InEntityGroup, joka viittaa metadatasyötteen EntitiesDescriptor-elementin Name-parametrissa määritettyyn nimeen.

Suodatinta voi testata Hakan testipalvelinten kanssa. Testipalvelimien metadatasyötteeseen (CSC Testipalvelut) on lisätty nimi, johon suodattimen voi sitoa.

Esimerkki suodatussäännöstä
<AttributeFilterPolicy id="haka-onlyifrequired">
   <PolicyRequirementRule xsi:type="OR">
     <Rule xsi:type="InEntityGroup" groupID="urn:mace:funet.fi:haka" />
	<!-- testiympäristössä määritä testimetadatan nimi: 
     <Rule xsi:type="InEntityGroup" groupID="CSC testipalvelut" /> -->
   </PolicyRequirementRule>
  <AttributeRule attributeID="eduPersonTargetedID">
    <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="false"/>
  </AttributeRule>
  <AttributeRule attributeID="eduPersonPrincipalName">
    <PermitValueRule xsi:type="AttributeInMetadata" onlyIfRequired="false"/>
  </AttributeRule>
<!-- ..... -->
</AttributeFilterPolicy>	
  • No labels