Avoimen lähdekoodin IdM-järjestelmän vertailu (6/7)

Kirjoittaja: Markus Nissinen

Lähdettiin vertailemaan IdM-järjestelmien vaatimuksia. Loimme Excel-vertailutaulukon, johon kukin ryhmän jäsen lisäsi saamiaan vaatimuksen tuloksia. Julkaisimme vertailutaulukon myös GitHubiin PDF-muodossa. Vertailutaulukon tulkitsemiseen tehtiin myös aputaulukko.

Vaatimusten työnjaon perusteella minulle tuli tarkistettavaksi seuraavat vaatimukset:

  1. Eri salasana eri tasoisiin palveluihin eli IdM-järjestelmä tukee muiden järjestelmien omia käytäntöjä
  2. Google Trends
  3. Henkilö- ja käyttäjätunnusprofiilien muokkausmahdollisuus
  4. IdM-järjestelmä pyörii Linux-palvelimella
  5. Kirjat
  6. Referenssit
  7. Tapahtumien kirjaus lokeihin, jäljitettävyys on mahdollista
  8. Vaarallisten työyhdistelmien tunnistus tehtävätasoisesti
  9. Soveltuvuus suuriin yrityksiin

Aloitin vertailun listan mukaisessa järjestyksessä.

1. Eri salasana eri tasoisiin palveluihin eli IdM-järjestelmä tukee muiden järjestelmien omia käytäntöjä

Ensimmäisenä vaatimuksena, jota lähdin vertailemaan IdM-järjestelmissä oli, että voiko käyttää eri salasanaa eri tasoisiin palveluihin eli IdM-järjestelmä tukee muiden järjestelmien omia käytäntöjä. Tämän hyöty on se, että jos ei haluta käyttää samoja tunnuksia eri järjestelmiin. Useimmista IdM-järjestelmistä löytyi tietoa, että eri salasanoja voidaan käyttää eri tasoisissa palveluissa. Ainoastaan Aerobase ja Grouper IdM-järjestelmistä ei löytynyt vaatimukseen vastausta dokumenteista eikä tietoa etsimällä. Myös OpenIAM järjestelmä hylättiin kokonaan vertailun ulkopuolelle jo tässä vaiheessa, koska Jan löysi omassa vertailussaan, että kyseinen IdM-järjestelmä ei tue ilmaisversiossa (community) yhtäkään järjestelmää tai rajapintaa. Muista IdM-järjestelmistä löytyi dokumenteista ja nettiä selailemalla tietoa, että eri salasanoja voidaan käyttää eri palveluissa. Tarkemmat tiedot, josta vastaukset ovat peräisin löytyvät GitHubistamme.

2. Google Trends

Google Trendsin hakukriteereinä olivat haut koko maailmalta 2004 vuodesta lähtien sekä kahden viimeisen vuoden ajalta (1.9.2016 – 1.9.2018). Google hakujen suosiota lähdin tutkimaan aluksi laskemalla kunkin IdM-järjestelmän keskiarvon. Google Trendsistä sai kätevästi kustakin hausta ladattu CSV-tiedoston, josta laskin keskiarvot jokaisen vertailtavan järjestelmän hakusuosiosta 2004 vuodesta lähtien sekä kahden viimeisen vuoden ajalta. Hakusuosiota mitataa 0 – 100 asteikolla: numerot esittävät haun suosiota valitulla ajanjaksolla ja alueella suhteutettuna kaavion suurimpaan arvoon. Asteikon arvo 100 on alue, jolla termi oli suosituin. 50 on alue, jolla termillä tehtiin hakuja puolet vähemmän kuin 100 pisteen alueella, ja 0 on alue, jolla termistä ei ole saatavilla riittävästi tietoja.

Laskettuani keskiarvot jokaisesta IdM-järjestelmästä ja lisättyäni keskiarvojen tulokset vertailutaulukkoon, vertailin järjestelmiä vielä keskenään Google Trendsissä katsoen silmääräisesti mitkä järjestelmät ovat suosituimpia. Lisää tietoa Google Trends vertailusta aiemmassa blogipostauksessa.

Tulosten perusteella suosituimpia IdM-järjestelmiä Google Trendsin mukaan olivat:

  • Keycloak (52 keskiarvo kahden vuoden ajalta, 31 keskiarvo  vuodesta 2004 lähtien)
  • Josso (29, 36)
  • WSO2 Identity Server (45, 38)
  • Gluu Server (40, 22)
  • FreeIPA. (42, 41)

Kaikista suosituin viimeisen kahden vuoden aikana oli Keycloak. Koko ajalta suosituin oli FreeIPA keskiarvon perusteella. Tosin osa Google Trendsin hakutuloksista mahdollisesti listaa myös paljon muita ei-IdM-järjestelmiin liittyviä hakuja. Ei-suosittuja järjestelmiä puolestaan oli Grouper, Aerobase ja Soffid.

3. Henkilö- ja käyttäjätunnusprofiilien muokkausmahdollisuus

Seuraavana vaatimuksena oli henkilö- ja käyttäjätunnusprofiilien muokkausmahdollisuus. Tätä ominaisuutta tarvitaan esimerkiksi siinä tapauksessa jos työtekijän titteli ja työnkuva muuttuu, niin voidaan nämä tiedot kätevästi päivittää ajan tasalle. Toisin sanoen vaatimus on melko tärkeä ja oletettavasti se tulisi löytyä monista IdM-järjestelmistä.

Selailemalla järjestelmien dokumentaatiota, katsomalla julkaistuja videoita järjestelmiä ja etsimällä tietoa netistä, löytyi lähes kaikista järjestelmistä kyseinen ominaisuus. Ainoastaan Grouper ja Aerobase järjestelmistä ei löytynyt tietoa kyseisistä ominaisuuksista ainakaan kattavan tiedon hakemisen ja dokumentaatio selailun jälkeen. Muita ehdokkaita, joita hylkäsimme jo tässä vaiheessa olivat OpenIAM, Shibboleth, Aerobase ja Grouper. Pääosin nämä kaikki järjestelmät hylättiin sen takia, koska niillä oli varsin vähäinen järjestelmien ja rajapintojen tuki, joka meidän mielestä on yksi tärkeimmistä kriteereistä. Tällä hetkellä meillä oli siis jo neljä IdM-järjestelmää, jotka hylättiin eikä muita vaatimuksia lähdetty enempää tarkastelemaan näistä järjestelmistä.

4. IdM-järjestelmä pyörii Linux-palvelimella

Tämä vaatimus on ilmeinen meidän tilanteessa, koska näin varmistutaan siitä, että IdM-järjestelmä on täysin ilmainen, koska säästytään näin ollen lisenssikustannuksissa, kun ei tarvitse käyttää maksullista käyttöjärjestelmää, kuten Windowsia. Tieto siitä voiko järjestelmän asentaa Linux-käyttöjärjestelmälle löytyi pääosin IdM-järjestelmän dokumentaation Getting Started -kohdasta. Esimerkkinä Apache Syncope. Tarkastelun perusteella kaikkiin IdM-järjestelmäehdokkaisiin voidaan asentaa Linux-käyttöjärjestelmä. Osan IdM-järjestelmistä pystyy asentamaan lisäksi myös Windows-ympäristöön. Esimerkkinä OpenIDM.

5. Kirjat

Seuraavaksi lähdin tutkimaan löytyykö IdM-järjestelmistä julkaistuja kirjoja. Julkaistujen kirjojen etsinnässä käytin lähteinä Amazonia ja Safari Books Onlinea.

Julkaistuja kirjoja IdM-järjestelmistä löytyi varsi nihkeästi. IdM-järjestelmät, joista kirjoja löytyi olivat:

  • OpenIDM (2 Amazon kirjaa)
  • Keycloak (1 Safari Books Online kirja)
  • Shibboleth (2 Safari Books Onlinen kirjaa)
  • WSO2 Identity Server (2 Safari Books Onlinen kirjaa)
  • Josso (1 Safari Books Onlinen kirja)

Muista IdM-järjestelmistä ei löytynyt julkaistuja kirjoja.

6. Referenssit

Vaatimuksena oli etsiä organisaatioita, jotka käyttävät kyseistä IdM-järjestelmää. Useimmista IdM-järjestelmistä löytyi organisaatioita, jotka käyttävät järjestelmää. Näitä olivat:

  • Apache Syncope (13 organisaatiota, joista yksi suomalainen)
  • MidPoint (29 organisaatiota, joista yksi suomalainen)
  • OpenIDM (2)
  • Soffid (2)
  • WSO2 Identity Server (8)

Apache Syncopea Suomessa käyttää Helsingin yliopisto. MidPoint IdM-järjestelmää vertaillessa löytyi opinnäytetyö, jossa oltiin suomalaiselle yritykselle käyttöönottamassa kyseistä IdM-järjestelmää. Trusteq Oy oli ottamassa käyttöön MidPoint IdM-järjestelmää.

IdM-järjestelmiä, joista ei löytynyt ainuttakaan referenssiä olivat: Keycloak, Unity, Josso ja FreeIPA. Hylättyjä IdM-järjestelmiä edelleen olivat tässä vaiheessa OpenIAM, Shibboleth, Aerobase ja Grouper.

7. Tapahtumien kirjaus lokeihin, jäljitettävyys on mahdollista

Seuraava ominaisuus, jota lähdin etsimään oli lokit. Tämän avulla nähdään esimerkiksi kuka on käyttö-oikeuden tilannut, mitä on tilattu, kenelle on tilattu sekä koska on tilattu ja onko tapahtuma käyttäjätunnus vai käyttäjäryhmätasoisesti. Lokeista saa siis erityisen tärkeää tietoa mahdollisiin epäselvyyksiin ja ongelmatilanteisiin. Kunkin järjestelmän dokumentaatiota selailemalla löytyi ohjeet lokien katsomiseen ja tulkitsemiseen. Esimerkkinä midPoint. Oletettavasti lokit ovat tärkeä ominaisuus missä tahansa järjestelmässä, eikä IdM-järjestelmät olleet tässä suhteessa poikkeus, koska jokaisesta IdM-järjestelmästä löytyi tämä ominaisuus.

8. Vaarallisten työyhdistelmien tunnistus tehtävätasoisesti

Tämän vaatimuksen tarkoituksena on estää väärinkäyttötilanteet, joka on huomattava tietoturvallisuusriski mikäli näin on mahdollista. Esimerkiksi sama henkilö ei saa luoda oikeuksia ja hyväksyä niitä itselleen johonkin kohdejärjestelmään tai palveluun. IdM-järjestelmien dokumentaatiota selailemalla löytyi kaikista järjestelmistä IdM-pyyntöjen työkulku, miten käyttöoikeuksien pyynnöt etenevät. Kaikissa IdM-järjestelmissä (pois lukien OpenIAM, Shibboleth, Aerobase ja Grouper) on estetty tällaiset väärinkäyttötilanteet. Esimerkkinä Apache Syncope.

9. Soveltuvuus suuriin yrityksiin

Tämä vaatimus oli lisävaatimuksena minulle tarkastettavaksi, koska sain muut vaatimukset ajoissa tehtyä. Katsoin soveltuuko IdM-järjestelmät suuriin yrityksiin, koska silloin käyttöoikeuksia voi olla tuhansia. Hylättyjä IdM-järjestelmiä tässä vaiheessa oli jo Unity, OpenIAM, Shibboleth, Gluu, Josso, FreeIPA, Aerobase ja Grouper. Näistä järjestelmistä en katsonut soveltuvuutta suuriin yrityksiin.  Nämä IdM-järjestelmät soveltuvat myös suuriin yrityksiin:

  • Apache Syncope – käytetty monissa (suurissakin yrityksissä) mm. Helsingin yliopisto
  • MidPoint – paljon suuria yrityksiä käyttää midPointtia
  • OpenIDM – suuriakin yrityksiä käyttää järjestelmää
  • Soffid – muutamalla suurella yrityksellä on käytössä
  • Keycloak – oletettavasti soveltuu suuriin yrityksiin: ei mainintaa että voiko käyttöoikeusrooleja tehdä vain rajattu määrä
  • WSO2 Indentity Server – suuriakin yrityksiä käyttää järjestelmää

 

Vertailtuani kaikkia minulle määrättyjä vaatimuksia lisäsin ne meidän vertailutaulukkoon. Lisätietoa vaatimuksien vertailutuloksista löytyy muistiinpanoistani, jotka on julkaistu GitHubiin.

Lähteet

 

 

 

 

 

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s