Italiano
  • organizzazione
  • B2B
  • RBAC
  • auth
  • autenticazione

Controllo dell'accesso basato su organizzazione e ruoli: Come progettare il tuo modello di autorizzazione per il tuo prodotto

Questo articolo offre una guida dettagliata su come progettare un modello di autorizzazione per il controllo dell'accesso basato su organizzazione e ruoli, e propone le migliori pratiche per diversi modelli di autorizzazione sulla piattaforma Logto.

Guamian
Guamian
Product & Design

Cos'è l'organizzazione

Definizione di organizzazione

L'organizzazione è un gruppo di utenti (identità) e può rappresentare i team, i clienti commerciali e le aziende partner che possono accedere alla tua applicazione.

Organizzazione

L'organizzazione è particolarmente efficace in contesti business-to-business (B2B). A differenza dei singoli consumatori, i clienti aziendali spesso consistono in team, organizzazioni o intere aziende, piuttosto che una sola persona. L'introduzione di un'organizzazione come entità è importante, poiché non solo raggruppa gli utenti, ma fornisce anche un contesto per l'isolamento degli inquilini in app multi-tenant.

Casi d'uso dell'organizzazione

Con questo elemento fondamentale, puoi ora costruire le funzionalità imprescindibili per i tuoi prodotti B2B:

  • Costruire un'architettura multi-tenant per isolare i dati e le risorse dei clienti.
  • I livelli di accesso all'applicazione sono definiti dai ruoli assegnati ai membri dell'organizzazione.
  • Provisioning dei membri su invito e in modo giust-in-time.
  • Le organizzazioni possono avere ognuna un'esperienza di autenticazione single sign-on (SSO).

Cos'è il controllo dell'accesso basato sui ruoli?

Definizione del controllo dell'accesso basato sui ruoli

Il controllo dell'accesso basato sui ruoli (RBAC) è un metodo per assegnare permessi agli utenti in base ai loro ruoli. Il controllo dell'accesso basato sui ruoli è un meccanismo di controllo dell'accesso neutro rispetto alla policy, definito intorno a ruoli e privilegi. I componenti di RBAC, come permessi dei ruoli, ruoli degli utenti, e relazioni tra ruoli, rendono semplice l'assegnazione degli utenti. Uno studio del NIST ha dimostrato che RBAC soddisfa molte esigenze delle organizzazioni commerciali e governative.

Casi d'uso del controllo dell'accesso basato sui ruoli

In precedenza, abbiamo sviluppato diverse guide per aiutarti a utilizzare RBAC per soddisfare i tuoi requisiti aziendali. Dai un'occhiata a questi tutorial facili da seguire per iniziare rapidamente.

🔐 Controllo dell'accesso basato sui ruoli (RBAC) | Documenti Logto

Utilizzo di diversi modelli di autorizzazione in Logto per best practice

Il controllo dell'accesso basato sui ruoli e l'organizzazione sono componenti chiave delle funzionalità di autorizzazione di Logto. Come piattaforma completa di gestione delle identità, Logto offre soluzioni su misura per vari scenari e livelli, soddisfacendo le esigenze di sviluppatori e aziende per diverse architetture di prodotto.

API role-based access control

Per proteggere risorse API generali che non sono specifiche di alcuna organizzazione e non necessitano di restrizioni di contesto, la funzione API RBAC è ideale.

Basta registrare l'API e assegnare permessi a ciascuna risorsa. Quindi, controlla l'accesso attraverso la relazione tra ruoli e utenti.

Gestire i permessi

Le risorse API, i ruoli e i permessi qui sono “democatizzati” sotto un sistema di identità unificata. Questo è piuttosto comune in prodotti B2C con meno gerarchie e che non necessitano di un livello di isolamento dei dati molto profondo.

Organization role-based access control

Nel contesto B2B e multi-tenant, l'isolamento degli inquilini è necessario. Per ottenere ciò, le organizzazioni vengono utilizzate come contesto per l'isolamento, il che significa che RBAC è efficace solo quando un utente appartiene a una specifica organizzazione.

Onboarding dell'organizzazione

L'RBAC dell'organizzazione si concentra sul controllo degli accessi a livello di organizzazione piuttosto che a livello di API. Questo offre una notevole flessibilità per l'auto-gestione a livello di organizzazione nel lungo termine ma all'interno di un sistema di identità unificato.

Una caratteristica chiave dell'RBAC dell'organizzazione è che ruoli e permessi sono generalmente gli stessi in tutte le organizzazioni per impostazione predefinita, il che rende il “modello di organizzazione” di Logto estremamente significativo per migliorare l'efficienza dello sviluppo.

Template dell'organizzazione

Questo si allinea con la filosofia condivisa delle app multi-tenant, dove le policy di controllo degli accessi e le identità sono componenti infrastrutturali comuni tra tutti gli inquilini (app tenant), una pratica comune nei prodotti SaaS.

Scegliere e progettare il modello di autorizzazione appropriato

Quando si seleziona il giusto modello di autorizzazione, considera queste domande:

  1. Stai sviluppando un prodotto B2C, B2B o una combinazione di entrambi? Le identità sono considerate identità aziendali?
  2. La tua app necessita di un'architettura multi-tenant?
  3. C'è bisogno di un certo livello di isolamento nella tua app, come determinato dall'unità aziendale?
  4. Quali permessi e ruoli devono essere definiti nel contesto dell'organizzazione e quali no?

Un'app B2C

Usiamo un esempio di applicazione web: BookHarber, una libreria online. BookHarber offre una vasta gamma di funzionalità per clienti e personale, garantendo un'esperienza di acquisto fluida e sicura.

Le caratteristiche principali di BookHarber includono:

  1. Navigazione e Acquisto di Libri: Gli utenti possono cercare e acquistare facilmente libri da una collezione diversificata, che spazia tra vari generi e autori.
  2. Gestione degli Ordini e Tracciamento della Logistica: I clienti registrati possono gestire i loro ordini, tracciare la spedizione e ricevere aggiornamenti sugli acquisti.
  3. Offerte Speciali e Attività delle Feste: BookHarber fornisce sconti esclusivi e promozioni durante eventi speciali e festività per coinvolgere e premiare la sua base di clienti.
  4. Assistenza Clienti: I clienti possono aprire ticket di supporto per risolvere eventuali problemi o dubbi, ricevendo assistenza tempestiva dal personale di BookHarber.
  5. Gestione dei Clienti: I membri del personale con diversi ruoli hanno la possibilità di gestire vari aspetti della piattaforma, come account dei clienti, elaborazione degli ordini e risoluzione dei problemi.

Ruoli

Nell'ecosistema BookHarber, possiamo identificare diversi ruoli chiave degli utenti, come:

  1. Ospite: Utenti non registrati che possono navigare sul sito, cercare libri e visualizzare offerte speciali.
  2. Cliente: Utenti registrati che possono acquistare libri, gestire ordini, tracciare la logistica e aprire ticket di supporto.
  3. Amministratore del Negozio: Membri del personale responsabili della supervisione della gestione e del funzionamento generale della piattaforma. Con pieno accesso.
  4. Gestore dei Libri: Membri del personale incaricati della gestione dei libri e delle categorie.
  5. Agente di Servizio Clienti: Membri del personale incaricati di rispondere ai ticket di supporto.
  6. Fornitore di Logistica di Terzi: Partner esterni responsabili della gestione e del tracciamento della spedizione e della consegna degli ordini.
  7. Personale di Marketing: Membri del personale responsabili della promozione di BookHarber, incaricati di gestire offerte speciali e eventi.

In precedenza, abbiamo sviluppato diverse guide per aiutarti a usare RBAC per soddisfare i tuoi requisiti aziendali. Dai un'occhiata a questi tutorial facili da seguire per iniziare rapidamente.

Mastering RBAC in Logto: A Comprehensive Real-World Example

App B2B

Le app multi-tenant trovano spesso il loro posto nelle soluzioni business-to-business (B2B) come strumenti di produttività, sistemi di pianificazione delle risorse aziendali (ERP) e altri prodotti software-as-a-service (SaaS). In questo contesto, ogni "tenant" rappresenta tipicamente un cliente aziendale, che potrebbe avere più utenti (i suoi dipendenti). Inoltre, un cliente aziendale potrebbe avere più tenant per rappresentare organizzazioni distinte o divisioni aziendali.

B2B

Creare alcune organizzazioni

Creare organizzazioni

Definire il modello di organizzazione per il controllo dell'accesso a livello di organizzazione

Definire il modello di organizzazione

App ibrida B2B & B2C

Le applicazioni B2B vanno oltre i prodotti SaaS e spesso coinvolgono l'uso di app multi-tenant. Nei contesti B2B, queste app servono come una piattaforma comune per diversi team, clienti aziendali e aziende partner per accedere alle tue applicazioni.

Ad esempio, considera una società di ride-sharing che fornisce sia app B2C che B2B. Le app B2B servono diversi clienti aziendali, e l'uso di un'architettura multi-tenant può aiutare nella gestione dei loro dipendenti e risorse. Per illustrare, se l'azienda desidera mantenere un sistema di identità utente unificato, può progettare un'architettura come il seguente esempio:

Usiamo Sarah come esempio. Sarah ha sia un'identità personale che aziendale. Usa il servizio di ride-sharing come passeggera e lavora anche come autista nel suo tempo libero. Nel suo ruolo professionale, gestisce anche la propria attività personale e utilizza questa identità aziendale per essere partner con Business 1.

Entità configurate in Logto

Entità configurate in Logto

Mappa dell'identità e dei ruoli di un'utente

Mappa dell'identità e dei ruoli di un'utente

Definire risorse API, ruoli degli utenti

Creare risorse API

Ruolo passeggeroRuolo autista

Configurare le organizzazioni

Creare organizzazioni aziendaliDettagli dell'organizzazione aziendale

Profilo di Sarah

Profilo di Sarah - organizzazioni

Profilo di Sarah - ruoli

Costruisci la tua autorizzazione oggi.

Logto offre sia il controllo dell'accesso basato sui ruoli (RBAC) sia le funzionalità organizzative per soddisfare i tuoi requisiti di autorizzazione. Queste funzionalità sono progettate per essere facilmente integrate in varie parti del tuo prodotto. Per maggiori informazioni, dai un'occhiata alle nostre sezioni su organizzazioni e RBAC, oppure puoi provare Logto subito.