Azure AD B2C: Kattavat ominaisuudet käyttäjien tietojen hallintaan

Microsoftin Azure AD B2C tarjoaa kuluttajamarkkinoille kuluttajaidentiteetin hallintaan tietoturvallisen työkalun. Käyttöönotto ja yksinkertaisimpien kirjautumis- ja rekisteröitymislomakkeiden luominen onnistuu keneltä tahansa, jolla on riittävän väkevät Azure-oikeudet. Räätälöintitarpeita tulee kuitenkin heti, kun halutaan poiketa Microsoftin määrittelemistä vakiokäyttötapauksista.

Viimeksi kirjoitin kuluttajaidentiteetin hallinnan tärkeydestä ja miten Azure AD B2C suojaa kuluttajien identeteettiä verkkopalveluissa. Azure AD B2C on kuluttajamarkkinoille suunnattu versio Microsoftin Azure Active Directorystä, joka tarjoaa kattavat ominaisuudet kuluttajaidentiteettien hallintaan. Azure AD B2C:n avulla yritykset voivat tarjota käyttäjilleen mahdollisuuden rekisteröityä ja kirjautua sisään eri sovelluksiin ja palveluihin yhdellä käyttäjätunnuksella. Tämä parantaa käyttökokemusta ja helpottaa kuluttajaidentiteettien hallintaa.  

Azure AD B2C sisältää myös monipuoliset ominaisuudet käyttäjien tietojen hallintaan, kuten käyttäjätietojen kerääminen, varmentaminen ja ylläpito. Lisäksi Azure AD B2C tukee useita eri tunnistusprotokollia, kuten OAuth2, SAML ja OpenID Connect, mikä mahdollistaa sovellusten integroinnin Azure AD B2C:hen helposti.

Azure AD B2C on helppo ottaa käyttöön: kuka tahansa, jolla on tarpeeksi väkevät Azure-oikeudet, pystyy klikkailemaan sen käyttöön muutamassa minuutissa. Rekisteröinnin, kirjautumisen ja käyttäjäprofiilin päivittämisen toteuttaminen onnistuu hetkessä. Kirjautumis- ja rekisteröintisivujen brändäys ja lokalisointi onnistuu suoraan käyttöliittymästä Azure-portaalin käyttöliittymästä.

Kehittäjien vastuulle jää kirjautumisen toteutus sovelluksissa. Azure AD B2C:n yhdistämiseksi sovelluksiin Microsoftin julkaisee avoimen lähdekoodin kirjastoja, jotka ovat käytettävissä useilla ohjelmistokielillä, käyttöliittymäkehyksillä ja molemmilla mobiilikäyttöjärjestelmillä.

Yrityskohtaisten tarpeiden huomioiminen Azure AD B2C:n käyttöönotossa

Azure AD B2C on helppo ottaa käyttöön: kuka tahansa, jolla on tarpeeksi väkevät Azure-oikeudet, pystyy klikkailemaan sen käyttöön muutamassa minuutissa. Rekisteröinnin, kirjautumisen ja käyttäjäprofiilin päivittämisen toteuttaminen onnistuu hetkessä. Kirjautumis- ja rekisteröintisivujen brändäys ja lokalisointi onnistuu suoraan käyttöliittymästä Azure -portaalin käyttöliittymästä.  

Kehittäjien vastuulle jää kirjautumisen toteutus mobiili- ja webbisovelluksissa. Azure AD B2C:n yhdistämiseksi sovelluksiin Microsoftin julkaisee avoimen lähdekoodin kirjastoja, jotka ovat käytettävissä useilla ohjelmistokielillä, käyttöliittymäkehyksillä ja molemmilla mobiilikäyttöjärjestelmillä.  

Vaikka Azure AD B2C on helppo käyttöönotettava, räätälöintiprojekteja ja konsultteja tarvitaan usein. Tämä johtuu siitä, että yritykset haluavat usein integroida Azure AD B2C:n olemassa olevaan infrastruktuuriinsa ja sovelluksiinsa. Käyttöönottoon liittyy usein yrityskohtaisia räätälöintitarpeita. Konsulttien avulla yritys voi varmistua siitä, että Azure AD B2C:n käyttöönotto ja integrointi sujuu jouhevasti, ja että lopputulos vastaa yrityksen tarpeita.

Käyttäjävirrat Azure AD B2C:ssä: Nopea ja helppo toteuttaa

Azure AD B2C:n käyttöliittymästä löytyvät valmiit käyttäjävirrat (User Flow) ovat erittäin kätevä tapa aloittaa loppukäyttäjäkokemuksen määrittely. Käyttäjävirrat kattavat yleisimmät käyttötapaukset, kuten käyttäjän rekisteröitymisen ja kirjautumisen sekä salasanan palautuksen. Mallit on helppo valita ja määrittää käyttötarpeiden mukaisesti.    

Käyttäjävirran käyttöönotto eri käyttötapauksille on nopeaa. Esimerkiksi rekisteröitymislomakkeen tapauksessa tarvitsee vain vastata muutamaan kysymykseen, kuten halutaanko kaksivaiheinen tunnistautuminen ja mitä tietoja rekisteröintilomakkeella halutaan kysyä. Tämän jälkeen täysin toimiva rekisteröitymislomake on valmis käytettäväksi.

Muutamassa minuutissa Käyttäjävirroilla (User Flow) toteutettu, täysin toimiva rekisteröitymislomake

Vaikka käyttäjävirrat ovat helppoja ja nopeita toteuttaa, niissä määriteltyä todennusprosessia ei voi muuttaa. Tämä sulkee pois joitakin käyttötapauksia, esimerkiksi vahvistuslinkkiä valmiit käyttäjävirrat eivät tue, vaan on käytettävä sähköpostiin lähtevää vahvistuskoodia. Jos käyttötapaus on yksinkertainen ja standardi, käyttäjävirrat ovat käyttökelpoisia.    

Käyttäjävirtojen akuutein yksittäinen puute on se, että lähtevien sähköpostien lähettäjään ja ulkoasuun ei voi vaikuttaa. Riippumatta käyttäjädatan sijainnista, sähköpostit lähtevät globaalista sähköposti-infrastruktuurista. Visuaalinen puoli lienee lukittu roskapostituksen hillitsemiseksi. Euroopan talousalueelle rajatun Azure AD B2C hakemiston käyttäjille sähköpostin lähettäminen Kaliforniasta on puolestaan vähintään kyseenalaista.  

Vakiomallinen vahvistusviesti, jonka muokkausmahdollisuudet rajoittuvat organisaation nimen ja logon vaihtamiseen

Sovelluskohtaiset käytännöt raskaaseen räätälöintiin

Jos halutaan luoda täysin räätälöity prosessi, voidaan käyttää sovelluskohtaisia käytäntöjä (Custom Policy). Sovelluskohtaiset käytännöt mahdollistavat täydellisen hallinnan käyttäjäpolun prosessista. Kehittäjä voi luoda kaikki tarvittavat prosessivaiheet ja määrittää niiden järjestyksen ja logiikan itse. Tämä tarjoaa täydellisen vapauden ja joustavuuden, mutta vaatii myös enemmän aikaa ja teknistä osaamista kuin käyttäjävirrat.

Sovelluskohtainen käytäntö on XML-kuvauskielellä toteutettu deklaratiivinen ohjelma, jonka Azure AD B2C suorittaa käyttäjän pyytäessä varmennetta. Se toimii luottamusmeklarina tehden kaikki tarpeelliset toimenpiteet: tarkastaa onko käyttäjän syöttämä salasana oikein, lähettää käyttäjälle MFA-haasteet ja varmistaa kirjautumisyrityksen tapahtuvan tietoturvapolitiikan sallimissa raameissa.

Tavanomainen rajapintaohjelmointi on imperatiivista: ohjelman kulku määritellään ehto- ja toistolausein, eli kontrollirakentein. Deklaratiivisessa lähestymistavassa ohjelmiston toiminta kuvataan korkealla abstraktiotasolla ja ”miten” jää Azure AD B2C Policy Enginen huoleksi.

Käyttäjäpolun lopuksi AAD B2C allekirjoittaa digitaalisen varmenteen, johon on listattu varmenteen käyttötarkoituksen mukaiset faktat (Claim). Kaikessa yksinkertaisuudessaan sovelluskohtaisen käytännön tehtävä on kerätä ja varmentaa nämä faktat.  

Azure AD B2C on hyvä tuote, joka kärsii suosion puutteesta

Edellä kerrotun perusteella vaikuttaa helpolta. Käytännön tekeminen ei ole loputtoman vaikeaa vaikkakin melko työlästä. Suurin Azure B2C -harmistukseni aihe on kunnollisten työkalujen puute. Loputtomien tuntuisten XML tiedostojen selaamiseen ei yhtä heppoista VS Code -laajennosta kummempaa tukea ole tarjolla.  

XML-koodia syntyy melko paljon: hiljattain toteuttamani niin sanotusti kaikille herkuilla höystetty kolmen käyttötapauksen ratkaisu sisälsi yhteensä 3138 koodiriviä. Vaikka ratkaisu on hyvin dokumentoitu, vaatii sen ymmärtäminen perinpohjaista perehtymistä Azure AD B2C:n sovelluskohtaisiin käytäntöihin.  

Osaajien puute on sovelluskohtaisten käytäntöjen suurin heikkous. Verrattuna kilpailijoihin Microsoft on valinnut täysin erilaisen lähestymistavan. Suurimmassa osassa kilpailevia tuotteita on panostettu käyttäjävirta-tyyppisten valmiiksi toteutettujen laajempiin räätälöintimahdollisuuksiin. Nämä tuotteet ovat helppoutensa takia houkutteleva vaihtoehto ”keskivaikeisiin” käyttötapauksiin.  

Tulevaisuudessa toivoisin myös Microsoftin panostavan käyttäjävirtojen räätälöintimahdollisuuksiin. Jo pelkästään suora SendGrid-integraatio olisi niin valtava parannus, että lähes kaikki sovelluskohtaiset käytännöt jäisivät tekemättä.

Tällaisessa täydellisessä tulevaisuudessa kilpailevien tuotteiden suosittelu olisi aika vaikeaa; nyt tietyissä käyttötapauksissa esim. Auth0 on hirvittävästä hinnastaan huolimatta hyvä vaihtoehto, kun käyttäjämääriä ei lasketa sadoissa tuhansissa ja tarvitaan keskiraskasta käyttäjäkokemuksen räätälöintiä. Globaalit käyttötapaukset, monivaiheinen tunnistaminen ja muut edistyneet tietoturvatarpeet kallistavat vaakakupit silti pienilläkin käyttäjämäärillä Azure AD B2C suuntaan.