Italiano
  • modello di identità
  • tenant singolo
  • multi-tenant
  • prodotto

Hai davvero bisogno di più tenant per gestire il tuo sistema di identità?

Il concetto di 'tenant' è relativamente sconosciuto alla maggior parte degli utenti, ma è particolarmente importante per costruire modelli di identità. In questo articolo, passeremo attraverso esempi per aiutare tutti a capire quale tipo di modello di identità si adatta al loro business.

Darcy Ye
Darcy Ye
Developer

Con la crescente maturità degli strumenti low-code e dei servizi cloud oggi, accompagnata dall'accelerazione della strumentazione AI, la soglia per sviluppare app è notevolmente abbassata e sempre più app stanno apparendo sul mercato.

Che si tratti di app complesse o semplici, la maggior parte delle app coinvolgono scenari di registrazione e accesso degli utenti, in modo che gli utenti possano ottenere servizi più stabili, sicuri e personalizzati. E per risolvere il problema del login e della registrazione degli utenti, il primo passo è costruire un sistema di identità.

Per molte app rivolte ai consumatori, i loro modelli di identità sono spesso relativamente semplici, o richiedono solo email e password. Per app che sono in una fase di rapida crescita e attirano nuovi utenti, questo è sufficiente; ma una volta che l'app ha il suo modello di business, nel caso più semplice, ad esempio, servire annunci, deve esserci una distinzione tra account utenti ordinari e account inserzionisti. Gli account inserzionisti possono personalizzare le scalette di consegna degli annunci, il contenuto, etc; mentre gli utenti ordinari possono solo navigare alcuni contenuti e annunci gratuiti, etc.

Logto è una soluzione di identità basata su cloud, e c'è anche una soluzione software open-source (OSS) con lo stesso kernel dei servizi cloud per gli utenti con esigenze speciali di personalizzazione. Il servizio di Logto è costruito su un sistema multi-tenant, dove ogni utente Logto crea il proprio account e può gestire più tenant all'interno dell'account. Altri vari servizi di identità cloud hanno anche architetture simili, con ciascun servizio cloud diverso che ha la propria definizione di "tenant", quindi il modello di tenant di cui discutiamo in questo articolo è limitato allo scenario di Logto, e per altri fornitori potrebbero esserci altri concetti corrispondenti.

È importante notare che, nel modello multi-tenant di Logto, i dati tra i tenant (tutte le informazioni degli utenti finali) sono isolati, quindi gli utenti Logto possono gestire i dati degli account degli utenti finali secondo le loro esigenze commerciali all'interno di un unico account Logto. Molti altri servizi di identità cloud possono supportare solo ciascun account con un tenant, il che fa sì che gli utenti che hanno bisogno di gestire più tenant contemporaneamente siano spesso costretti a cambiare account, risultando in un'esperienza scadente.

Modello di identità generale

Dopo tutto ciò, come dovresti scegliere un modello di account adatto per la tua app? Qui diamo un'occhiata a tre casi.

Caso 1: App fornisce direttamente il servizio agli utenti finali

Il modello di identità in questo tipo di app è piuttosto semplice. Utilizziamo un'app di streaming musicale come esempio — oltre all'amministratore (l'utente Logto “foo”, che è proprietario del tenant in questo caso, ha intrinsecamente l'accesso amministrativo), ci sono solo utenti finali.

In questo scenario, gli utenti finali possono essere divisi in tre tipi:

  1. Utente piano gratuito: Può solo riprodurre musica gratuita
  2. Utente piano a pagamento: Può riprodurre musica gratuita e può creare le proprie playlist
  3. Utente premium: Oltre a riprodurre musica gratuita e creare playlist, può anche riprodurre musica HiFi

Nel suddetto scenario applicativo, abbiamo bisogno solo di tre tipi di ruoli (gratuito, a pagamento, premium), ciascuno assegnato con permessi diversi. Quindi, dopo che l'utente finale ha effettuato l'accesso, Logto può decidere se fornire determinati servizi specifici (es. accesso alla musica HiFi) a lui in base al ruolo che ha. A questo punto, abbiamo bisogno solo di un singolo tenant per soddisfare i requisiti.

Modello di identità dell'app musicale

Caso 2: app della piattaforma eCommerce

Una piattaforma che collega fornitori di servizi di terze parti e utenti finali, che è anche un modello di business 2C molto comune al giorno d'oggi. Ci sono due gruppi di utenti da considerare - usando un'app di e-commerce come esempio, essi sono commercianti (fornitori di servizi) e acquirenti (utenti finali).

Ci sono due modi per costruire il modello di identità qui:

  1. Mettere i gruppi di utenti acquirenti e commercianti sotto lo stesso tenant.
Modello di identità di un singolo tenant dell'app eCommerce
  1. Mettere gli acquirenti e i commercianti in due tenant diversi rispettivamente.
Modello di identità multi-tenant dell'app eCommerce

Per rendere l'esempio più facile da capire, assumiamo che gli acquirenti possano effettuare ordini o visualizzare le descrizioni dei prodotti; i commercianti possono modificare i prezzi dei prodotti, modificare le descrizioni dei prodotti e visualizzare l'inventario dei prodotti. I commercianti visualizzano le descrizioni dei prodotti per aiutarli a trovare problemi e aggiornare le informazioni sui prodotti in modo tempestivo.

Per il modello di identità 1, c'è solo un'app. Tutti gli utenti che si registrano diventano acquirenti. Se qualcuno ha bisogno di vendere cose, può aggiungere i propri prodotti in vendita, quindi tali utenti finali otterranno permessi da commerciante oltre ai permessi da acquirente per gestire i propri prodotti.

Per il modello di identità 2, poiché ogni tenant ha le proprie informazioni di identità uniche e il proprio gateway di autorizzazione separato, ciascun tenant necessita di avere la propria app separata. Nel caso d'esempio, ci sarebbe un'app acquirente e un'app commerciante. Gli account acquirente non possono diventare commercianti, e gli account commerciante non possono anche diventare acquirenti. Se i commercianti vogliono controllare le proprie descrizioni dei prodotti dalla prospettiva di un acquirente come nel modello 1, devono reimplementare la stessa funzionalità nell'app commerciante, o registrare un account dell'app acquirente per visualizzarlo. Ciò aggiunge molta complessità, ma il vantaggio è che le identità di acquirente e commerciante sono completamente isolate.

Se i commercianti hanno molti diversi prodotti da gestire, utilizzare il modello di identità 2 e sviluppare un'app commerciante più specializzata dovrebbe essere una scelta migliore. Il modello 1 è più adatto per piattaforme come eBay, dove i commercianti non hanno molti prodotti e non hanno bisogno di funzionalità di gestione dei prodotti troppo complesse.

Caso 3: App realizzate da società di consulenza IT

Supponiamo che ci sia una società di consulenza tecnica IT i cui clienti non hanno la capacità di sviluppare sistemi IT autonomamente, quindi hanno bisogno di cercare servizi tecnici da questa società.

Supponendo che la società abbia due clienti, uno essendo un sistema di gestione dei libri interno per una libreria, e l'altro cliente è un sistema di prenotazione per un hotel.

Dal punto di vista del proprietario della libreria, ovviamente non voglio che gli ospiti dell'hotel possano accedere casualmente al mio sistema di gestione dei libri, poiché sarebbe molto insicuro. Pertanto, dall'aspetto della protezione della privacy, un tenant separato deve essere impostato per ciascun cliente, utilizzando il meccanismo di isolamento delle informazioni del tenant, per garantire che i dati dei clienti siano invisibili ad altri clienti.

Modello di identità per società di consulenza IT

Come abbiamo menzionato prima, anche se hai la necessità di creare più tenant, Logto può aiutarti a gestire più tenant all'interno di un account, il che è più conveniente e sicuro rispetto ad alcuni altri servizi che richiedono di creare e gestire più account tu stesso.

Attraverso gli esempi mostrati sopra, devi aver capito quando è assolutamente necessario creare più tenant, in quali scenari puoi avere sia un singolo tenant che più tenant, e secondo le tue esigenze di business, scegliere la soluzione di modello di identità che si adatta meglio a te.

Il team di Logto mira a garantire che la questione di "se creare più tenant" non sia un ostacolo per nessun business. Se non sei sicuro se il tuo scenario d'affari può essere realizzato con un singolo tenant, per favore unisciti alla comunità di Logto per una consultazione. La tua domanda può essere anche la domanda di qualcun altro, quindi condividi le sfide che hai incontrato con noi per aiutare a migliorare la scalabilità dei prodotti di Logto.

Se stai selezionando un framework di identità per la tua app, Logto vale la pena di essere provato. Offre una soluzione pronta all'uso adatta per vari scenari di business, dalle piccole imprese alle applicazioni su larga scala!