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.
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.
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.
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.
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.
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:
- Stai sviluppando un prodotto B2C, B2B o una combinazione di entrambi? Le identità sono considerate identità aziendali?
- La tua app necessita di un'architettura multi-tenant?
- C'è bisogno di un certo livello di isolamento nella tua app, come determinato dall'unità aziendale?
- 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:
- Navigazione e Acquisto di Libri: Gli utenti possono cercare e acquistare facilmente libri da una collezione diversificata, che spazia tra vari generi e autori.
- Gestione degli Ordini e Tracciamento della Logistica: I clienti registrati possono gestire i loro ordini, tracciare la spedizione e ricevere aggiornamenti sugli acquisti.
- 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.
- Assistenza Clienti: I clienti possono aprire ticket di supporto per risolvere eventuali problemi o dubbi, ricevendo assistenza tempestiva dal personale di BookHarber.
- 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:
- Ospite: Utenti non registrati che possono navigare sul sito, cercare libri e visualizzare offerte speciali.
- Cliente: Utenti registrati che possono acquistare libri, gestire ordini, tracciare la logistica e aprire ticket di supporto.
- Amministratore del Negozio: Membri del personale responsabili della supervisione della gestione e del funzionamento generale della piattaforma. Con pieno accesso.
- Gestore dei Libri: Membri del personale incaricati della gestione dei libri e delle categorie.
- Agente di Servizio Clienti: Membri del personale incaricati di rispondere ai ticket di supporto.
- Fornitore di Logistica di Terzi: Partner esterni responsabili della gestione e del tracciamento della spedizione e della consegna degli ordini.
- 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.
Creare alcune organizzazioni
Definire il modello di organizzazione per il controllo dell'accesso a livello 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
Mappa dell'identità e dei ruoli di un'utente
Definire risorse API, ruoli degli utenti
Configurare le organizzazioni
Profilo di Sarah
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.