Logto's multi-tenant model uitgelegd
Bekijk hoe we het multi-tenant model van Logto hebben ontworpen en de voordelen die het biedt aan SaaS-apps.
Bekijk hoe we het multi-tenant model van Logto hebben ontworpen en de voordelen die het biedt aan SaaS-apps.
Je hebt misschien gehoord van sommige producten die de term "multi-tenancy" gebruiken om de identiteitsisolatie weer te geven: elke tenant heeft zijn eigen set gebruikers, rollen, rechten en gegevens.
Het kan contra-intuïtief zijn, maar in feite geeft "multi-tenancy" het tegenovergestelde aan: meerdere tenants delen middelen in een enkele instantie. Voor gebruikers is een identiteit in een app als een rijbewijs. Met één rijbewijs kun je bijvoorbeeld in verschillende staten rijden (één identiteit voor meerdere organisaties) in plaats van voor elke staat een nieuw rijbewijs aan te vragen.
Bij Logto merkten we deze verwarring op aan het begin van ons ontwerp, en we drongen erop aan om het goed te maken voor jouw apps en jouw gebruikers. Hier is ons ontwerp:
Dit model biedt flexibiliteit en herbruikbaarheid voor het beheren van identiteiten, vooral voor SaaS-apps. Als we kijken naar enkele populaire SaaS-apps, kunnen we zien dat ze allemaal in dit model passen. De term "organisatie" kan verschillend zijn in verschillende apps, zoals "werkruimte", "team", etc. Maar het concept is hetzelfde.
Bijvoorbeeld, in Notion (een populaire samenwerkingstool):
Daardoor kunnen gebruikers gemakkelijk schakelen tussen werkruimtes zonder accounts te wisselen of opnieuw in te loggen, en het behoudt de isolatie tussen werkruimtes. Vertaal dit naar Logto's model, het betekent:
Volgens verschillende rollen kan een gebruiker verschillende rechten hebben in verschillende werkruimtes (organisaties).
Voor gebruikers kunnen ze genieten van de echte single sign-on ervaring. Schakelen tussen organisaties is net zo gemakkelijk als schakelen tussen tabbladen.
Een voordeel van SaaS-apps is dat ze gestandaardiseerd en schaalbaar zijn. Je kunt bijvoorbeeld met een paar klikken een nieuwe werkruimte in Notion maken, en het is klaar voor gebruik.
Wanneer je app groeit, wil je misschien meer rollen en rechten toevoegen aan elke organisatie. Bijvoorbeeld, een nieuwe rol "gast" en een nieuw recht "uitnodigen:gast". Het kan een nachtmerrie zijn als je alle bestaande organisaties één voor één moet bijwerken.
Met Logto kun je het organisatie sjabloon bijwerken, en alle bestaande organisaties worden automatisch bijgewerkt.
In Logto gebruiken we hetzelfde toegangscontrolemodel (RBAC) voor zowel organisaties als API-resource. Het betekent dat je geen nieuw toegangscontrolemodel hoeft te leren als je bekend bent met RBAC. Ondertussen zijn ze van elkaar geïsoleerd, zodat je ze voor verschillende gebruikssituaties kunt gebruiken.
Het spannendste is dat je ze tegelijkertijd kunt gebruiken. Laten we het Notion voorbeeld uitbreiden:
De meeste Logto SDK's ondersteunen beide soorten RBAC.
De verschillen
Organisatie RBAC en API-resource RBAC verschillen in de volgende aspecten:
Het bouwen van een SaaS-app is moeilijk, en we hopen dat Logto je kan helpen je te concentreren op je kernactiviteiten. Aarzel niet om ons feedback te geven als je vragen of suggesties hebt.