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ä.
|
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ä |
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.
Järjestelmän rakentamisen
esivaatimukset, ts. mitä samankaltaista järjestelmää havittelevan korkeakoulun
kannattaa/tulee tehdä päästäkseen "lähtöviivalle" ja miksi?
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.
Ennen shibbolointia olisi kannattanut ensin tarkistaa ohjelmiston
vaatimat versiovaatimukset. Teimme turhaa työtä PHP:n kanssa sopimattoman
Apache-version kanssa.
|
Asia |
Tarvittava osaaminen |
Työmäärä |
Arvio työmäärästä, kun apuna on |
|
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 |
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 |
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.
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.
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.
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.