Il modello multi-tenancy di Logto spiegato
Dai un'occhiata a come abbiamo progettato il modello multi-tenant di Logto e ai benefici che porta alle app SaaS.
Dai un'occhiata a come abbiamo progettato il modello multi-tenant di Logto e ai benefici che porta alle app SaaS.
Potresti aver sentito parlare di alcuni prodotti che usano il termine "multi-tenancy" per rappresentare l'isolamento dell'identità: ogni tenant ha il proprio insieme di utenti, ruoli, permessi e dati.
Potrebbe sembrare controintuitivo, ma in realtà, "multi-tenancy" indica il contrario: più tenant condividono risorse in un'unica istanza. Per gli utenti, un'identità in un'app è come una patente di guida. Ad esempio, con una patente di guida, puoi guidare in diversi stati (un'identità per più organizzazioni), invece di richiedere una nuova patente per ogni stato.
In Logto, abbiamo notato questa confusione all'inizio del nostro design, e ci siamo impegnati a renderlo corretto per le tue app e i tuoi utenti. Ecco il nostro design:
Questo modello offre flessibilità e riusabilità nella gestione delle identità, specialmente per le app SaaS. Se diamo un'occhiata ad alcune app SaaS popolari, possiamo vedere che possono adattarsi a questo modello. Il termine "organizzazione" può differire a seconda delle app, come "workspace", "team", ecc. Ma il concetto è lo stesso.
Ad esempio, in Notion (un popolare strumento di collaborazione):
Pertanto, gli utenti possono facilmente passare tra i workspace senza dover cambiare account o rientrare, mantenendo l'isolamento tra i workspace. Tradotto nel modello di Logto, significa:
Secondo i diversi ruoli, un utente può avere permessi diversi in diversi workspace (organizzazioni).
Per gli utenti, possono godere della vera esperienza di single sign-on. Cambiare organizzazione è semplice come passare da una scheda all'altra.
Uno dei vantaggi delle app SaaS è che sono standardizzate e scalabili. Ad esempio, puoi creare un nuovo workspace in Notion con pochi clic, ed è pronto all'uso.
Quando la tua app cresce, potresti voler aggiungere più ruoli e permessi per ogni organizzazione. Ad esempio, un nuovo ruolo "ospite" e un nuovo permesso "invita:ospite". Può essere un incubo se devi aggiornare tutte le organizzazioni esistenti una per una.
Con Logto, puoi aggiornare il modello dell'organizzazione, e tutte le organizzazioni esistenti saranno aggiornate automaticamente.
In Logto, utilizziamo lo stesso modello di controllo degli accessi (RBAC) sia per le organizzazioni che per le risorse API. Significa che non devi imparare un nuovo modello di controllo degli accessi se sei già familiare con RBAC. Nel frattempo, sono isolati l'uno dall'altro, quindi puoi usarli per casi d'uso differenti.
La parte più emozionante è che puoi usarli contemporaneamente. Estendiamo l'esempio di Notion:
La maggior parte degli SDK di Logto supporta entrambi i tipi di RBAC.
Le differenze
RBAC dell'organizzazione e RBAC delle risorse API sono differenti nei seguenti aspetti:
Costruire un'app SaaS è difficile, e speriamo che Logto possa aiutarti a concentrarti sul tuo core business. Non esitare a darci feedback se hai domande o suggerimenti.