Tapaustutkimus: Rakentaminen monitoimijaominaisuus Logto Organisaatioilla
Opi, miten voit luoda vankan ja skaalautuvan identiteettiperustan monitoimijuuteen Logto Organisaatioilla.
Nykyään monitoimijuus on olennainen osa sovellusta tai SaaS-palvelua. Se sisältää usein monimutkaisen suhteen käyttäjien, organisaatioiden, roolien ja käyttöoikeuksien välillä. Esimerkiksi käyttäjä voi olla jäsen useammassa kuin yhdessä organisaatiossa ja päinvastoin; käyttäjällä voi myös olla erilaisia rooleja eri organisaatioissa.
Ongelma
Tämä voi aiheuttaa päänvaivaa paitsi alussa, myös sovelluksen pitkäaikaisessa ylläpidossa. Perinteinen roolipohjainen pääsynhallintamalli (RBAC) voi osittain ratkaista tämän ongelman, mutta siitä tulee nopeasti painajainen, kun käyttäjien ja organisaatioiden määrä kasvaa.
Esimerkiksi alussa sinulla voi olla vain kaksi roolia kussakin organisaatiossa: admin
ja jäsen
. Kun sinulla on 10 organisaatiota, hallinnoit 20 roolia; kun sinulla on 1 000 organisaatiota, hallinnoit 2 000 roolia.
Kun liiketoiminta kasvaa, saatat joutua lisäämään enemmän rooleja, kuten vieras
, kehittäjä
jne. RBAC-mallin monimutkaisuus kasvaa eksponentiaalisesti.
Meillä oli sama ongelma, kun rakensimme Logto Cloudia. Huomasimme pian, että se on yleinen ongelma alalla, ja meidän täytyy ratkaista se. Ja Logto Organisaatiot on täällä pelastamaan.
Organisaatiomalli
Nopea kysymys: Miksi SaaS-sovellukset ovat SaaS-sovelluksia? Uskomme, että skaalautuvuus on yksi tärkeimmistä syistä. Toisin sanoen, mikä toimii yhdelle asiakkaalle, tulisi toimimaan kaikille asiakkaille.
Tämä johtaa konseptiin "organisaatiomalli". Organisaatiomalli on jokaisen organisaation pääsynhallintamallin pohjapiirros: se määrittelee roolit ja käyttöoikeudet, jotka koskevat kaikkia organisaatioita.
Oletetaan, että meillä on kaksi roolia kussakin organisaatiossa:
admin
: voi hallita organisaatiota, mukaan lukien jäsenten lisääminen/poistaminen, roolien muuttaminen jne.jäsen
: voi käyttää organisaation resursseja ja kutsua uusia jäseniä.
Voimme luoda organisaatiomallin seuraavalla kokoonpanolla:
Lisää käyttäjiä organisaatioihin
Koska olemme luoneet organisaatiomallin, käyttäjien hallinnasta tulee helppoa ja luontevaa. Voit lisätä käyttäjän organisaatioon Logto Console (verkkokäyttöliittymän) tai Logto Management API:n kautta.
Katso Määritä organisaatiot oppiaksesi lisää.
Lisäsimme kaksi organisaatiota seuraavalla asetuksella:
- Organisaatio A: Sekä Alice että Bob ovat jäseniä. Alicella on
admin
-rooli, ja Bobilla onjäsen
-rooli. - Organisaatio B: Vain Alice on jäsen, ja hänellä on
jäsen
-rooli.
Pyydä organisaatioiden tunnuksia sovelluksessasi
Asiakkailesi suunnatussa sovelluksessa voit nyt pyytää organisaation käyttöoikeustunnusta (organisaatiotunnusta) Logtolta. Organisaatiotunnus on JWT-tunnus, joka sisältää tarvittavat tiedot palvelusi varmistaakseen, onko käyttäjällä lupa organisaatiossa.
Yksityiskohtaiset vaiheet organisaatiotunnuksen pyytämiseen on kuvattu kohdassa Integroi Organisaatiot sovellukseesi.
Oletetaan, että Alice on kirjautunut sovellukseesi ja hän haluaa poistaa käyttäjän Organisaatiosta A. Sovelluksesi voi pyytää organisaatiotunnusta "Organisaatio A" poista:jäsen
-luvalla (laajuus). Logto tarkistaa, onko Alicella lupa organisaatiossa, ja palauttaa organisaatiotunnuksen, koska hänellä on admin
-rooli:
Tässä on joitakin esimerkkejä virhetapauksista:
- Jos Bob haluaa poistaa käyttäjän Organisaatiosta A, Logto palauttaisi virheen, koska hänellä ei ole
admin
-roolia Organisaatiossa A. - Jos Alice haluaa poistaa käyttäjän Organisaatiosta B, Logto palauttaisi myös virheen, koska hänellä ei ole
admin
-roolia Organisaatiossa B. - Jos Bob haluaa hakea organisaatiotunnuksen millä tahansa käyttöoikeudella Organisaatiossa B, Logto palauttaisi virheen, koska hän ei ole jäsenenä Organisaatiossa B.
Kun sovelluksesi vastaanottaa organisaatiotunnuksen, se voi kutsua palveluasi käyttämällä organisaatiotunnusta lisäämällä sen Authorization
-otsikkoon.
Tarkista organisaatiotunnukset palvelussasi
Palvelussasi voit tarkistaa organisaatiotunnuksen standardin JWT-varmistusprosessin avulla. Katso Tarkista organisaatiotunnukset saadaksesi lisätietoja.
Päivitä organisaatiomalli
Kun sinun täytyy päivittää organisaatiomallia, esimerkiksi lisätä uusi rooli nimeltään kehittäjä
, voit tehdä sen Logto Consolessa tai Logto Management API:n kautta. Muutos koskee automaattisesti kaikkia organisaatioita ilman seisokkeja.
Yhteenveto
Logto Organisaatioiden avulla monitoimijuuden hallinta ja skaalaaminen muuttuu standardiksi ja mukavaksi. Voit keskittyä liiketoimintalogiikkaasi ja jättää identiteetin ja pääsynhallinnan Logton huoleksi.