Suomi
  • organisaatiot
  • yhteistyö
  • identiteetti
  • käyttäjähallinta
  • todennus
  • valtuutus

Tapaustutkimus: Rakentaminen monitoimijaominaisuus Logto Organisaatioilla

Opi, miten voit luoda vankan ja skaalautuvan identiteettiperustan monitoimijuuteen Logto Organisaatioilla.

Gao
Gao
Founder

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.

Organisaatioesimerkki

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:

Organisaatiomalli

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 on jäsen-rooli.
  • Organisaatio B: Vain Alice on jäsen, ja hänellä on jäsen-rooli.

Organisaatio A

Organisaatio B

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.

Organisaatioroolit uusi

Yhteenveto

Logto Organisaatioiden avulla monitoimijuuden hallinta ja skaalaaminen muuttuu standardiksi ja mukavaksi. Voit keskittyä liiketoimintalogiikkaasi ja jättää identiteetin ja pääsynhallinnan Logton huoleksi.