Kertakirjautuminen (SSO) Osa 3. Kertakirjautumisen hallinnointi

Tämä on moniosaisen artikkelisarjan kolmas osa, jossa keskitytään kertakirjautumisen hallinnointiin. Trendikäs vieraskielinen usein nykyään käytetty lyhyt termi lienee governance.

Aiemmissa artikkelisarjan osissa käsittelimme

  • kertakirjautumisen taustaa ja määrittelimme kertakirjautumisen termin
  • kertakirjautumisessa käytettäviä moderneja yhteyskäytänteitä

Luottosuhde ja topologiat

Muutamaan otteeseen on tässä artikkelisarjassa vasta sivuttu kertakirjautumisessa tärkeää aihetta, luottosuhdetta. Jotta kertakirjautuminen voi tapahtua luotettavasti, on osapuolien välillä oltava ennen kirjautumistapahtumia sopimus ehdoista, joiden perusteella tunnistaminen tapahtuu ja tiedot teknisistä yksityiskohdista, joiden avulla osapuolet selvittävät kirjautumisen prosessissa käytettävät todentamistekijät.

Kaikissa tunnistamisen yhteyskäytännöissä on menetelmä, jonka avulla luottosuhde muodostetaan. Jos tarkastellaan prosesseja suhteessa tarvittavan käsityön määrään, yksinkertaisimmat menetelmät lähtevät siitä, että ylläpitäjä asettaa jaetun salaisuuden osapuolien välillä ja määrittää tekniset rajapintaosoitteet käsin. Prosessit voivat olla niin pitkälle kehittyneitä, että osapuolet voivat yleisesti tunnettuihin osoitteisiin ja käytänteisiin (convention over configuration) perustuen ensinnäkin löytää toisensa dynaamisesti ja neuvotella yksityiskohdat siitä, luottavatko toisiinsa sekä vaihtaa tekniset metatiedot.

Tarkastellaan ensin erilaisia verkostomalleja kertakirjautumisen toteuttamiseksi, eli tarkastellaan tunnistamisen verkostojen topologioita.

Kahden välinen - peer to peer

Perinteisesti kertakirjautuminen on nähty organisaation sisäisenä toimintona ja kahdenvälisenä tapahtumana. Kahdenvälisenä (P2P – Peer to Peer) sikäli, että kertakirjautumistapahtumaan liittyy kerrallaan käyttäjän lisäksi tunnistuspalvelu ja tunnistukseen tukeutuva palvelu.

P2P on kuitenkin huonosti skaalautuva topologia. Tarkaan ottaen p2p topologiassa jokaista tunnistukseen tukeutuvaa palvelua kohden on yksi tunnistuspalvelu. Heti, kun kertakirjautumiseen haluttaisiin kytkeä jokin uusi palvelu, pitäisi perustaa uusi tunnistuspalvelu. On hellp huomata, että tässä on paljon työtä.

Kertakirjautumisen ulottamiseksi useampiin palveluihin, on P2P:n lisäksi kaksi merkittävää topologiaa luottosuhteiden verkoston muodostamiseksi: hub and spoke ja full mesh. Hub and spoke -mallissa on yksi tunnistuspalvelin, joka pystyy muodostamaan luottosuhteen kaikkiin tunnistamiseen tukeutuviin palveluihin. Pitkälle kehittynyt P2P, siis.

Hub and Spoke

Tyypillinen nykypäivän esimerkki hub and spoke -topologian verkostosta on Microsoft Azure ADFS -palveluun tukeutuva kertakirjautuminen, jossa Azure ADFS:ssä toimiva yrityksen tunnistuspalvelu on kytketty organisaation käyttämiin tunnistukseen tukeutuviin palveluihin. Tyypillisesti palveluiden käyttäjät ovat organisaation sisäisiä, esim. työntekijöitä. Ratkaisu mahdollistaa myös sen, että muiden organisaatioiden käyttäjiä voidaan kutsua vieraskäyttäjinä hyödyntämään organisaation kertakirjautumista. Vieraskäyttäjät voivat hyödyntää myös oman yrityksensä tunnistuspalvelua silloin kun molemmat yritykset käyttävät samaa Azure ADFS -teknologiaa.

Vaikka Hub and Spoke kuulostaa topologiana yksinkertaiselta ja sopimattomalta suuriin verkostoihin, on sitä käytetty myös laajoissa tunnistamisen verkostoissa ja suuria käyttäjämäriä kattavissa palveluissa. Esimerkiksi Norjan yliopistojen tunnistamisverkosto Feide on toteutettu Hub and Spoke -mallilla.

Hub and Spoke -mallisesta topologiasta voi puhua myös silloin, kun laajemman verkoston osa on erotettu muusta verkostosta omaksi saarekkeekseen esimerkiksi välityspalvelun avulla. Silloin monimutkaisen verkoston haara itenäisesti toimiessaan voidaan katsoa Hub and Spoke -malliseksi.

Full Mesh

Full Mesh on edellisiä monipuolisempi topologia sikäli, että verkostoon voi kuulua n kappaletta tunnistuspalvelimia ja n kappaletta tunnistukseen tukeutuvia palveluja. Yhteisesti jaetun metadatan avulla Full Mesh -verkostossa minkä tahansa tunnistuspalvelun käyttäjä voi kirjautua mihin tahansa verkostossa olevaan tunnistukseen tukeutuvaan palveluun.

Full Mesh -federaatiot ovat erityisen toimivia organisaatiorajat ylittävässä kirjautumisessa. Verkosto mahdollistaa sen, että siihen kuuluvien organisaatioiden käyttäjät voivat kirjautua joustavasti palveluihin, vaikka ne olisivatkin organisaation ulkopuolella toteutettu. Käytännön esimerkkejä Full Mesh -verkostoista on lähinnä akateemisissa verkostoissa kattaen kansallisia yliopistoverkostoja aina kansainvälisiin konfederaatioihin asti.

Tunnistuksen välityspalvelut - brokerointi

Full Mesh -verkostoja voidaan laajentaa kattamaan jopa globaalisti useita paikallisia federaatioita, mutta joissain käyttötapauksissa on hyödyllistä erottaa verkostot toisistaan yhteenliitospisteen avulla. Tunnistuksen välityspalvelu toimii siis kertakirjautumisessa kuten integraatiopalvelu (ESB – Enterprice Service Bus) perinteisessä monoliittisessa järjestelmäarkkitehtuurissa. Tunnistuksen välityspalvelu kytkeytyy tunnistukseen tukeutuviin palveluihin ja välittää niille tunnistuspalvelujen tuottamaa tunnistamispalvelua ja tarvittaessa kertakirjautumista.

Välityspalvelu kytkee useita verkostoja yhteen. Välityspalvelun rooli voi olla myös eristää tunnistuspalvelut tai tunnistukseen tukeutuvat palvelut laajemmasta verkostosta. Välityspalvelu voi toimia ikäänkuin palomuurina laajemmalle verkostolle piilottaen laajemmalta verkostolta sen takana sijaitsevat palvelut.

Tunnistamisen välityspalvelu voi olla myös normalisoimassa tunnistamista. Se voi auttaa hankalasti hallinnoitavan tunnistusmenetelmän kytkemistä palveluihin tai toisaalta avustaa sellaistan palvelujen kytkemisessä tunnistamisen piiriin, joissa ei ole tukea moderneille yhteyskäytänteille. Välityspalvelu voi myös toteuttaa protokollamuunnoksen siten, että SAML2:een tukeutuvat asiointipalvelut voivat kytkeytyä OIDC-käytäntöä toteuttaviin tunnistuspalveluihin.

Välityspalvelumallista voi olla hyötyä myös yksittäiselle yritykselle. Tyypillinen esimerkki voisi olla uudenlainen mikroarkkitehtuuriin perustuva yrityksen asiointipalvelujen sovelluskehitys. Käytettäessä Hub and Spoke -topologiaa, eli esimerkiksi kytkettäessä yrityksen asiointipalvelut Azure ADFS -tunnistuspalveluun, jokainen mikropalvelurajapinta ja jokainen applikaatio on rekisteröitävä ADFS-tunnistuspalveluun erikseen. Välityspalvelun avulla tämä voi olla helpompaa.

Organisaation tietohallinnon vastuiden jakamisen kannalta voi olla hyödyllistä, että kertakirjautumisen ratkaisuista vastaa yksi tiimi, joka tuntee osa-alueen parhaiten. Sen sijaan Azure ADFS -palvelua saattaa hallinnoida tiimi, joka on keskittynyt enemmän Windows- ja Microsoft-teknologioiden ylläpitoon. Kertakirjautuminen ja tunnistaminen ei ehkä ole tämän tiimin ydintoimintaa.

Jos myöhemmin on tarve lisätä yrityksen omiin palveluihin tunnistusmahdollisuus esimerkiksi kumppaniyrityksen käyttäjille, kumppanit on joko kutsuttava vieraskäyttäjinä yrityksen hakemistoon tai kumppanin oma tunnistuspalvelin on kytkettävä kaikkiin tarvittaviin palveluihin.

Välityspalvelun avulla uusien tunnistuspalvelujen liitos ja niiden muutokset toteutetaan yhdessä pisteessä sen sijaan että kaikkia tunnistukseen tukeutuvia palveluja muutetaan erikseen. Välityspalvelulla keskitetään yrityksen tunnistaminen yhteen pisteeseen. Välityspalvelusta tulee siis yrityksen tunnistamisen integraatiopiste.

Välityspalvelun avulla yritys voi hallinnoida tunnistamista yhdestä paikasta esim. sallien kertakirjautumisen yhteen liittyvien palvelujen kesken ja varmistaa, että muuhun vahvempaa todennusta tarvitsevaan palveluun edellytetään jokaisen tapahtuman yhteydessä erikseen tai jopa monivaiheista tunnistamista.

Välityspalvelu vahvan sähköisen tunnistamisen verkostossa

Suomessa tunnetuin toteutus välityspalvelumalliin perustuvasta tuonnistusverkostosta on valtiollinen ja lailla säädelty vahvan sähköisen tunnistamisen verkosto (FTN). FTN:n liitännäisenä on viranomaispalveluihin kansalaisten ja virkailijoiden tunnistamista välittävä Suomi.fi -verkosto, joka perustuu myös välityspalvelumalliin.

FTN-verkostossa on käynnissä mielenkiintoinen keskustelu kertakirjautumisen tuomisesta vahvaan sähköiseen tunnistamiseen. FTN-verkostossa kertakirjautumista ei ole suoranaisesti suositeltu. Profiilissa määritetään jotakuinkin siten, että kertakirjautuminen ei saa tapahtua sattumalta. Tämä tarkoittaa, että viranomainen ei ole määrittellyt kertakirjautumisen reunaehtoja, vaan jos sitä aiotaan toteuttaa, osapuolten on siitä erikseen sovittava.

FTN-verkostossa kertakirjautuminen voisi tapahtua erikseen sitä varten rajatulla alueella, erillisen välityspalvelun takana. Kun esimerkiksi eläkevakuutukset ovat hajaantuneet Suomessa moneen yhtiöön, vakuutettu voisi saada kattavan eläkevakuutusotteen yhdellä kertakirjautumisella. Suomalaisten eläkevakuutusyhtiöiden pitäisi kytkeytyä samaan välityspalveluun, joka osaa välittää kertakirjautumista verkostossa sovittujen ehtojen mukaisesti. (Käytännesääntöjä kertakirjautumiseen FTN-verkostossa luonnostellaan parhaillaan tätä kirjoittaessa.)

Luotettavat prosessit - hallintamalli

Keskeistä kertakirjautumisen toteuttamisessa on pohtia, miten tunnistamista hallinnoidaan. Perinteisesti kertakirjautuminen on nähty kytke ja käytä -tyyppisenä ratkaisuna. Vieläkin käytettäessä tunnistamisessa yrityksen ADFS-tunnistuspalvelua kytkös tehdään usein projektina palvelu kerrallaan ja sen jälkeen luottosuhde unohdetaan niin pitkään, kun se toimii ja palvelee luotettavasti.

Kertakirjautumisesta on tullut yrityksessä niin merkittävä tekijä, etttä sen hallinnalle pitäisi olla omat prosessinsa ja hallintamalli. Kertakirjautumisessa on säännöllistä huoltoa ja ylläpitoa vaativia tehtäviä, kuten uusien palvelujen liittäminen ja vanhojen poistaminen. Lisäksi palveluissa tapahtuu teknisiä muutoksia, esim. niiden varmenteita vaihdetaan ja tunnistustekijät muuttuvat ja kehittyvät. Kertakirjautuminen voi olla yrityksen sujuvalle toiminnalle niin keskeistä, että sen toimintoja on hyvä ennakoivasti valvoa, jotta mahdollisiin ongelmiin voidaan reagoida ennen kuin ne haittaavat yrityksen tuotannon prosesseja.

Eurooppalainen tietosuoja-asetus vaatii suuremmilta organisaatioilta henkilön asettamista tietosuojavastaavan rooliin. Henkilötietojen suoja yrityksessä kytkeytyy tunnistamisen alueelle, mihin myös kertakirjautuminen kuuluu.

Kun katsotaan yksittäisestä yrityksestä laajemmalle, tunnistusverkostojakin joudutaan operoimaan. Siinä, missä teknisiä ja hallinnollisia muutoksia tapahtuu organisaation sisällä, tunnistamisen verkostoissa muutoksista pitää huolehtia keskitetysti verkoston operaattorin toimesta, jotta muutokset välittyvät sujuvasti verkoston osapuolille.

Joissakin verkostoissa, kuten Suomessa vahvan sähköisen tunnistamisen FTN-verkostossa, on autonomiseen hallinnointimalliin perustuva operoinnin malli. FTN-verkostossa lienee ajateltu välityspalveluille merkittävä rooli verkoston operoinnissa, sillä verkostossa ei ole keskitettyä operaattoritoimintoa.

Autonomiseen malliin perustuvassa verkostossa osapuolet sopivat käytänteistä ja teknisistä yksityiskohdista keskenään mahdollisia verkoston ohjeita omatoimisesti tulkiten ja soveltaen. Malli saadaan välityspalvelujen avulla toimimaan vähällä keskitetyn operoinnin taakalla, mutta se lisää verkoston osapuolissa tarvittavaa hallinta- ja ylläpitotyötä. Se työ, mikä voitaisiin konsolidoida operaattorille, hajautetaan ja toistetaan osapuolissa. Keskitetyn operointiroolin puuttuminen hidastaa teknisten innovaatioiden syntymistä, kun osapuolet kehittävät toimintaa omissa kulmissaan.

Kertakirjautumisen sujuvan toiminnan ytimessä on suunniteltu hallinnointimalli, jossa kootaan keskeinen verkoston tieto yhteen.

Federoitu kirjautuminen

Kun puhutaan kertakirjautumisen verkostojen topologiasta, puhutaan itseasiassa federoidusta kirjautumisesta. Joku voisi väittää, että kyseessä on kertakirjautumisen määritelmään kuulumattomasta laajemmasta asiasta. Oikeammin niin ehkä onkin, sillä onhan niin, että kertakirjautuminen on federoidun kirjautumisen piirre. Kirjautuminen voidaan federoida siten, että siihen ei sisälly kertakirjautumista lainkaan, vaan käyttäjältä nimenomaisesti vaaditaan uusi kirjautuminen kun kirjaudutaan organisaation ulkopuoliseen palveluun.

Federoitu kirjautuminen usein toteutetaan aivan samoilla tunnistusratkaisuilla, kuin organisaation sisäinen tiukasti kertakirjautumisen määritelmään ajateltavissa oleva kirjautumistapahtuma. Siitä syystä on luontevaa puhua federoinnista kertakirjautumisen yhteydessä.

Kun määrittelimme ensimmäisessä artikkelisarjan osassa kertakirjautumisen, määritellään myös federoitu kirjautuminen.

Federoitu kirjautuminen on usein, mutta ei välttämättä organisaatiorajat ylittävää kertakirjautumiseen tukeutuvaa tai tarkoituksellisesti tunnistusvälineiden uudelleenkäyttöä edellyttävää tunnistautumista käyttäjän tunnistuspalvelusta tunnistukseen tukeutuvaan palveluun.

Federoidun kirjautumisen erityispiirteenä kertakirjautumisesta määritelmällisesti erottaen on yleensä laajempi skooppi, jossa kirjautuminen tapahtuu useiden palvelujen muodostamassa verkostossa mahdollisesti organisaatiorajat ylittäen. Federoidun kirjautumisen ytimessä on yhteisesti sovittu hallinnointimalli, jossa määritellään tunnistuspalvelujen ja tunnistukseen tukeutuvien palvelujen välisen luottosuhteen muodostamisen tapa, tunnistuksen teknisen toteuttamisen edellyttämien teknisten tietojen ja yksityiskohtien sopimisesta sekä tunnistamisen käytänteet ja politiikat.

Seuraavaksi

Artikkelisarjassa julkaistaan vielä vähintään yksi osa, jossa kerrotaan kertakirjautumisen ja federoidun tunnistamisen eduista ja haitoista.

Jatka lukemista

Facebook
Twitter
LinkedIn