Keycloak on IBM:n omistaman Red Hatin kehittämä identiteetin- ja pääsynhallinnan eli IAM:n (Identity and Access Management) palvelu, jonka avulla yritykset ja organisaatiot voivat keskittää työntekijöidensä, asiakkaidensa, opiskelijoidensa tai vaikkapa yleisesti kansalaisten tunnistautumisen ja kirjautumisen yhteen paikkaan ja turvata sen myötä helpommin heidän tärkeitä tietojaan.
Etenkin pienemmissä sovelluksissa käytetään yleensä lähes kaikille tuttuja käyttäjätunnus- ja salasanapareja. Näissä ongelmana on kuitenkin se, että ne rajoittuvat aina vain tiettyyn ja yksilölliseen järjestelmäänsä. Suurissa organisaatioissa voikin olla käytössä useita, tiettyyn tarkoitukseen käytettäviä järjestelmiä, joihin kaikkiin vaaditaan henkilökohtaiset salasanalliset tunnuksensa. Vaatii siis käyttäjältään vaivaa ensinnäkin muistaa tunnuksensa ja salasanansa sekä vieläpä päivittää niitä säännöllisesti; mikäli käyttäjällä taas on useisiin palveluihin samat salasanat, tietoturvaan alkaa ilmestyä riskejä.
Keskitetyllä identiteetin- ja pääsynhallintapalvelulla
Keycloak on tällä hetkellä maailman eniten käytetty avoimen lähdekoodin identiteetin- ja pääsynhallintapalvelu, ja se mahdollistaa käytännössä kaksi asiaa.
Käyttäjien tunnistamisen avulla varmistutaan yksinkertaisesti käyttäjän henkilöllisyydestä. Tunnistaminen voidaan toteuttaa palvelussa perinteisen käyttäjätunnuksen ja salasanan lisäksi esimerkiksi henkilökorteilla tai sormenjäljillä, minkä lisäksi myös vahvan tunnistautumisen käytännöt onnistuvat turvamekanismien, kuten esimerkiksi mobiilivarmenteen tai kaksivaiheisen kirjautumisen avulla. Identiteetin- ja pääsynhallintapalvelua voidaan siis hyödyntää niin sosiaali- ja terveydenhuollon alalla kuin pankeissa ja virastoissakin.
On kuitenkin fakta, että siinä missä henkilökorttien ja sormenjälkien tunnistaminen on tänä päivänä käyttäjälleen huomattavasti tunnusten kanssa sähläämistä helpompaa, suuret järjestelmät kehittyvät hitaasti – ja ihmisten tottumukset myös. Tämän vuoksi käyttäjätunnus-salasanaparia käytetään tunnistautumisessa edelleen ja todennäköisesti lähitulevaisuudessakin laajalti.
Tunnistautumistavan valinta onkin kiinni suunnitellusta käyttötarkoituksesta: kun käyttökohteena on esimerkiksi jokin terveydenhuollon tai pankkiasioinnin palvelu, kirjautumisprosessista halutaan hyvinkin turvallinen. Keycloak voidaankin yhdistää esimerkiksi Suomifi-tunnistautumispalveluun tai organisaatio- ja sote-kortteja sekä kansalaisvarmenteita tarjoavaan FINEID-palveluun. Kun kyseessä taas ei ole niin tarkka ja henkilökohtaisia asioita sisältävä järjestelmä, käyttäjätunnukset ja salasanat riittävät usein hyvin.
Toinen Keycloakin mahdollistama ominaisuus on käyttäjien oikeuksien hallinta, joka nojaa vahvasti käyttäjän tunnistamiseen. Tunnistamisen avulla palvelussa voidaan rajata käyttäjäkohtaisia oikeuksia erilaisiin toimintoihin ja rooleihin. Näin esimerkiksi järjestelmän hallinnoijalle voidaan tarjota laajat oikeudet eri toimintoihin ja vaikkapa sisällöntuottajalle taas suppeammat. Oikeudet voivat olla myös resurssipohjaisia, eli käyttäjän nähtäville voidaan suodattaa esimerkiksi vain tietty sopimus tai lomakevastaus täytettäväksi.
Esimerkiksi sosiaali- ja terveydenhuollon alalla käytetään paljon erilaisia järjestelmiä, joissa voidaan rajata palveluita käyttäjän tunnistamisen avulla. Tällainen on esimerkiksi lomakepalvelu Metaform, jonka taustalla Keycloak pyörii. Kun asiakkaat eli kansalaiset laittavat Metaformiin vaikkapa yhteydenottopyyntöjä, palvelu mahdollistaa kyseisen pyynnön näkymisen ainoastaan tietyn ammattilaisen näkyville.
Keycloak
Keycloak tarjoaa käyttäjilleen luotettavuutta myös tietoturvassa, sillä keskitetty käyttäjän tunnistaminen vähentää mahdollisten haavoittuvuuksien riskiä. Mikäli organisaation järjestelmässä ei ole käytössä keskitettyä identiteetin- ja pääsynhallintaa, suuresta käyttäjäkunnasta ainakin jotkut saattavat unohtaa päivittää salasanojaan tai jättää käyttämättä esimerkiksi kaksivaiheista kirjautumista. Myös tietojärjestelmien ylläpitäjät tai IT-puolen työntekijät voivat epähuomiossa unohtaa päivittää vaikkapa verkkosivujen osia, minkä vuoksi syntyy helposti tietoturva-aukkoja.
Myös eri kirjautumistavoissa on omat tietoturvaan vaikuttavat tekijänsä. Jos yrityksen käytössä on vaikkapa henkilökortit, tietoihin murtautuminen vaatii jo huomattavasti enemmän vaivaa verrattuna perinteisen käyttäjätunnus–salasanayhdistelmän murtamiseen. Yksinkertainen ja helposti arvattava salasana on helposti ohitettava ja merkittävä riski järjestelmästä riippumatta, kun taas henkilökortilla tunnistauduttava järjestelmä vaatii ensin kortin luvun ja lisäksi ehkä jopa pin-koodin.
Identiteetin- ja pääsynhallintapalvelun avulla voidaan siis lähtökohtaisesti parantaa tietoturvaa, mutta järjestelmä yksinään ei toki voi poistaa kaikkia tietoturvaongelmia. Toimiva tietoturva edellyttääkin vastuullisuutta kaikilta osapuolilta – vaatii sekä käyttäjiltä että ylläpidolta aktiivisuutta sekä ymmärrystä, jotta tiedot pysyvät luotettavasti turvassa. Kuitenkin, kun käytössä on Keycloakin kaltainen ajantasainen, hyvin tehty ja tietoturvan näkökulmasta hiottu palvelu, ainakin käyttäjien identiteetinhallinta ja sisäänkirjautuminen ovat luotettavammissa käsissä.
Keycloakin hyödyt tietoturvaan
Kun yrityksessä tai organisaatiossa käytetään jotakin valmista tietojärjestelmää, on useimmiten resursseja säästävämpää lähteä käyttämään valmiiksi kehitettyä identiteetin- ja pääsynhallintapalvelua verrattuna siihen, että kyhättäisiin siihen käyttäjä-salasanajärjestelmä itse. Kun tarjolla on jo valmiina tarkasti mietitty, hartaasti hiottu ja pitkälle kehittynyt hallintaratkaisu, sen ominaisuuksien hyödyntäminen on huomattavasti vaivattomampaa.
Keycloakin nopeuden ja käyttäjäystävällisyyden lisäksi eräs sen keskeisistä eduista kilpailijoihinsa nähden on ehdottomasti sen avoimuuden tuoma muokattavuus ja riippumattomuus. Avoimen lähdekoodin ansiosta Keycloakia käyttävä yritys tai organisaatio ei ole jumissa minkään tietyn kumppaniyrityksen kanssa, vaan esimerkiksi asiakkuuden hinnan noustessa sitä voi surutta vaihtaa.
Keycloakissa on lisäksi hyvin laajat integrointiominaisuudet, eli sen saa yhdistettyä ongelmitta esimerkiksi Microsoftin Office365-tiliin. Koko järjestelmää ei siis tarvitse vaihtaa uuteen, kun palvelua otetaan käyttöön, vaan ihmiset pääsevät tuttuihin järjestelmiinsä samojen tunnusten kautta. Keycloakia voidaan myös räätälöidä yrityksen näköiseksi hyvinkin helposti, eli käytännössä sen kaikki osat voidaan teemoittaa ulkoasultaan halutun näköiseksi.
Keycloakin etuja ovat siis