Tämä dokumentti liitteineen sijoitetaan pilottikorkeakoulun omalle www-palvelimelle, josta CSC siirtää sen liitteineen 31.3.2008 CSC:n palvelimelle osoitteeseen http://www.csc.fi/hallinto/haka/hankkeita/projektit-ja-pilotit
Lähetä dokumentin URL mailina osoitteeseen arto.tuomi@csc.fi viimeistään 8.1.2008. Dokumentin iteroiminen samassa osoitteessa jo etukäteen on sallittua ja hyödyllistä. 


Asio eduERM shibbolointi-pilotin tulokset

http://www.csc.fi/haka/

Versio

Päiväys

Editoija

Keskeiset muutokset

0.1 

7.12.2007 

JS 

 Dokumentin luonti

0.2

20.12.2007

JS

Lisäyksiä ja täydennyksiä

0.3

23.4.2008

JS

Lisäyksiä ja täydennyksiä

Sisällys


1. TIIVISTELMÄ

Tässä pilotissa tutkittiin käyttäjän autentikointia ja auktorisointia sekä hänen perustietojensa ja rooliattribuutin siirtämistä Asio eduERP-ohjelmistoon Shibbolethin yli. Pilotissa tutkittiin myös ohjelmistopalvelun profiloimista eduCourseOffering– ja eduCourseMember-attribuuttien avulla. Henkilön eduCourseMember-attribuutti sisältää ns. ”kurssijäsenyystiedot” eli henkilö on joko luennoitsijana tai opiskelijana ko. kurssilla. Profiloinnilla saadaan ”kerättyä” henkilön varaukset (=luennot ja muut mahdolliset kalenterivaraukset) henkilökohtaiseen viikottaiseen lukujärjestykseen.

 


2. DOKUMENTAATIO TOTEUTUKSESTA

2.1. Toteutuksen esivaatimukset

Järjestelmän rakentamisen esivaatimukset, ts. mitä samankaltaista järjestelmää havittelevan korkeakoulun kannattaa/tulee tehdä päästäkseen "lähtöviivalle" ja miksi?

2.2. Tekninen toteutus

Attribuuttien kuljettamiseksi shibboloinnin yli lisättiin AAP.xml-tiedostoon tarvittavat attribuutit. Auktorisointia ja profilointia varten AAP.xml-tiedostoon tarvittiin seuraavat attribuutit:

<AttributeRule Name="urn:mace:savonia.fi:attribute-def:svnSWAsioEduErm" Header="Shib_svnSWAsioEduErm">

                       <AnySite>

                        <AnyValue/>

                       </AnySite>

                      </AttributeRule>

 

 svnSWAsioEduErm -attribuutti sisältää käyttäjän roolin, jonka avulla määritellään ohjelmiston käyttöoikeudet.

 

<AttributeRule Name="urn:mace:dir:attribute-def:eduCourseMember" Header = "Shib_CourseMember">

                      <AnySite>

                      <AnyValue/>

                      </AnySite>

                      </AttributeRule>

 

eduCourseMember –attribuutti sisältää millaisessa roolissa henkilö on ko. luennossa. Luennon koodien avulla saadaan näytettyä henkilön lukujärjestys. EduCourseMember- ja eduCourseOffering-attribuuttien kuvaukset seuraavissa linkeissä: eduCourse Data Model ja LDAP representations of eduCourse attributes.

 

2.3. Tekniset kokemukset ja havainnot

Ennen shibbolointia olisi kannattanut ensin tarkistaa ohjelmiston vaatimat versiovaatimukset. Teimme turhaa työtä PHP:n kanssa sopimattoman Apache-version kanssa.

2.4. Toteutuksen työmäärä ja tarvittu osaaminen

 

Asia

Tarvittava osaaminen

Työmäärä 
pilotissa

Arvio työmäärästä, kun apuna on
tässä pilotissa tuotettu dokumentaatio

Shibboleth SP -palvelimen asennus

Normaali Apache-palvelimen kääntämiseen ja konfigurointiin tarvittava osaaminen. Ymmärrys varmenteiden toimintaperiaatteista

1 htvrk

1 htvrk.

Shibboleth SP -palvelimen konfigurointi

Mallikonfiguraatiot. Ymmärrys luottamusverkoston (federation) toiminnasta

10 htvrk

1 htvrk.

Asio eduERP:n autentikointi

PHP-ohjelmointi

10 htvrk

0 htvrk. Pilotissa tehty lisämoduli on sellaisenaan muiden korkeakouluijen käytössä

Asio eduERP:n auktorisointi

PHP-ohjelmointi

10 htvrk

0 htvrk. Pilotissa tehty lisämoduli on sellaisenaan muiden korkeakouluijen käytössä

Asio eduERP:n profilointi

PHP-ohjelmointi ja tarvittavien attribuuttien lisääminen LDAP:iin

15 htvrk

1 htvrk. Attribuuttien lisääminen korkeakoulun LDAP:iin

2.5. Käytetyt tietolähteet

Pilotissa käytettyjä hyödyllisiä tietolähteitä.

 

Lähde

Sisältö/kommentti

shibboleth.internet2.edu

Shibboleth-kotisivu

www.apache.org

Apache-kotisivun dokumentaatiosta myös hyötyä

www.modssl.org

Apachen SSL-modulin kotisivu

3. DOKUMENTAATIO PILOTOINNISTA

Shibboleth-kirjautuminen ja sen mukana kuljetettava ohjelmiston käyttörooli helpottaa ohjelmiston ylläpitäjän työtä; jokaiselle käyttäjälle ei tarvitse käydä erikseen lisäämässä käyttöroolia ohjelmaan. Myös käyttäjien kannalta shibboleth-kirjautuminen on ”helpompi” vaihtoehto kuin taas yhden uuden käyttäjätunnus/salasana-yhdistelmän muistaminen.

”Oma lukujärjestys”-toiminnolla saadaan korkeakoulun sisälle yhtenäinen ja kaikkien reaaliaikaisesti saatavilla oleva paikka lukujärjestysten esittämiseksi.

4. ARVIO PILOTIN ONNISTUMISESTA

Tavoitteena ollut ohjelmiston profilointi saavutettiin. Kun käyttäjä kirjautuu shibboleth-kirjautumisen kautta ohjelmaan sisään, hän voi valita katseltavakseen yhteen viikkolukujärjestykseen kaikki ne kurssit, joihin hänellä on jäsenyys. Jäsenyydet välittyvät kirjauksen yhteydessä eduCourseMember-attribuutin arvoina.

 

Shibboloinnin vaatimat konfiguroinnit veivät aikaa. Aina löytyi joku uusi virhe, mikä piti paikallistaa. Yksi aikaa vievin kokonaisuus oli Apachen eri versioiden kokeilu. Alunperin palvelimelle asennettiin Apachen 2.2 versio ja PHP:stä versio 4.4. Apachen versio ei kuitenkaan toiminut PHP:n kanssa tällaisilla versioilla, joten Apachesta jouduttiin ottamaan versio 2.0 käyttöön. Vanhemman version kanssa työstettiin HTTPS:ää monta päivää.

 

Kun  SP:n ja IdP:n välinen yhteys oli saatu kuntoon, auktorisointi sujui jo helposti.

 

EduCourse-tietojen siirrossa Untiksesta Asioon tapahtui yllättäviä vaikeuksia. Tarkoituksenamme oli saada kurssitiedot suoraan opiskelijahallinto-ohjelmasta Untikseen ja sieltä edelleen Asio:on. Testasimme Asio-Data Oy:n kanssa, missä kentässä kurssin eduCourse-attribuutin sisältö olisi oltava, jotta se saataisiin helposti Asio-ohjelmistoon. Tämän jälkeen olimme yhteydessä Untis-ohjelmiston suomalaisen toimittajan kanssa. Toimittaja vaihtui kesken neuvottelun, joten neuvottelut piti aloittaa alusta uuden toimittajan kanssa. Loppujen lopuksi ohjelmiston suunnittelijalta tuli tieto, etteivät he pysty tukemaan toivomaamme ratkaisua. Loppujen lopuksi Asio:n sisäänlukukoodia muutettiin ja tiedot saatiin vietyä ohjelmasta toiseen toivotulla tavalla.

 

Pilotti onnistui hyvin, saavutimme asettamamme tavoitteet.

 

5. KORKEAKOULUN JATKOSUUNNITELMAT

Asio eduERP-tilanvarausohjelmisto on otettu käyttöön Savonia-ammattikorkeakoulussa vuoden vaihteessa. Autentikointi ja auktorisointi ovat helpottaneet käyttöönottoa ainakin siinä mielessä, että erillisiä tunnuksia ohjelmaan ei tarvita. Toki sisäänpääsy ohjelmaan on turvattu myös käsin ohjelmaan syötetyilla tunnuksilla ja käyttäjärooleilla.

 

EduCourseMember-attribuuttia aiotaan hyödyntää myös muissa ohjelmissa, esimerkiksi Moodle:ssa ja ConnectPro:ssa.

 


ABSTRACT

In this pilot we researched Asio eduERM-software users’ authentication and authorisation and transferring his data and role-attribute by Shibboleth logging. Also we researched to profile software by using eduCourseOffering and eduCourseMember-attributes.

 

In this pilot we use Apache www-server, Apache version 2.0, PHP version 4.4 and Shibboleth Service Provider version 1.3.