Ruoli e permessi
Modello RBAC di Blu Pantheon — formato dei permessi, matrice completa ruolo per permesso, ruoli personalizzati e propagazione delle modifiche.
Il controllo degli accessi di Blu Pantheon è basato sui ruoli (RBAC). Un utente riceve un ruolo all'interno di un tenant; il ruolo raccoglie un insieme di permessi atomici.
Prima di iniziare
- Permesso identity:roles:read per consultare i ruoli
- Permesso identity:roles:write per crearli e modificarli
- Ruolo Amministratore o Proprietario per assegnare ruoli elevati
Formato dei permessi
Ogni permesso segue lo schema {servizio}:{risorsa}:{azione}.
Esempio di permesso
identity:users:readServizio: identity — Risorsa: users — Azione: read.
| Segmento | Significato | Valori tipici |
|---|---|---|
| servizio | Modulo della piattaforma | identity, console, billing, booking |
| risorsa | Entità su cui si agisce | users, roles, sessions, customers, documents |
| azione | Operazione consentita | read, write, delete, export, invite, assign |
Esempi letti in italiano:
| Permesso | Significato |
|---|---|
identity:users:read | Consultare l'elenco e le schede degli utenti del tenant |
console:sessions:write | Rispondere, taggare e chiudere le conversazioni |
console:customers:delete | Cancellare definitivamente una scheda cliente |
billing:invoices:read | Scaricare fatture e ricevute |
booking:appointments:write | Creare e modificare appuntamenti |
Le azioni non sono gerarchiche
write non implica read, e delete non implica write. Un ruolo deve elencare
esplicitamente ogni permesso necessario. Questo evita concessioni implicite non volute.
Ruoli predefiniti
| Ruolo | Destinatario | Sintesi |
|---|---|---|
| Proprietario | Titolare del contratto | Tutti i permessi, inclusi trasferimento proprietà e disdetta |
| Amministratore | IT o responsabile della piattaforma | Gestione utenti, configurazione, sicurezza, fatturazione |
| Responsabile | Capo servizio o team leader | Configurazione operativa, supervisione, report |
| Operatore | Addetto assistenza o front office | Gestione conversazioni, clienti, prenotazioni |
| Analista | Controllo di gestione, qualità | Sola lettura estesa con esportazioni |
| Sola lettura | Revisori, consulenti esterni | Consultazione senza modifiche né esportazioni |
Matrice dei permessi
Legenda: Sì permesso incluso, — permesso non incluso.
| Permesso | Proprietario | Amministratore | Responsabile | Operatore | Analista | Sola lettura |
|---|---|---|---|---|---|---|
identity:users:read | Sì | Sì | Sì | — | Sì | Sì |
identity:users:invite | Sì | Sì | — | — | — | — |
identity:users:write | Sì | Sì | — | — | — | — |
identity:users:delete | Sì | Sì | — | — | — | — |
identity:users:reset_mfa | Sì | Sì | — | — | — | — |
identity:roles:read | Sì | Sì | Sì | — | Sì | Sì |
identity:roles:write | Sì | Sì | — | — | — | — |
identity:apikeys:read | Sì | Sì | — | — | — | — |
identity:apikeys:write | Sì | Sì | — | — | — | — |
identity:audit:read | Sì | Sì | — | — | Sì | — |
identity:tenant:write | Sì | Sì | — | — | — | — |
identity:tenant:transfer | Sì | — | — | — | — | — |
console:dashboard:read | Sì | Sì | Sì | Sì | Sì | Sì |
console:sessions:read | Sì | Sì | Sì | Sì | Sì | Sì |
console:sessions:write | Sì | Sì | Sì | Sì | — | — |
console:sessions:delete | Sì | Sì | — | — | — | — |
console:sessions:export | Sì | Sì | Sì | — | Sì | — |
console:handover:read | Sì | Sì | Sì | Sì | Sì | Sì |
console:handover:write | Sì | Sì | Sì | Sì | — | — |
console:handover:assign | Sì | Sì | Sì | — | — | — |
console:customers:read | Sì | Sì | Sì | Sì | Sì | Sì |
console:customers:write | Sì | Sì | Sì | Sì | — | — |
console:customers:delete | Sì | Sì | — | — | — | — |
console:customers:export | Sì | Sì | Sì | — | Sì | — |
console:documents:read | Sì | Sì | Sì | Sì | Sì | Sì |
console:documents:write | Sì | Sì | Sì | Sì | — | — |
console:documents:review | Sì | Sì | Sì | Sì | — | — |
console:documents:delete | Sì | Sì | — | — | — | — |
console:knowledge:read | Sì | Sì | Sì | Sì | Sì | Sì |
console:knowledge:write | Sì | Sì | Sì | — | — | — |
console:projects:read | Sì | Sì | Sì | Sì | Sì | Sì |
console:projects:write | Sì | Sì | Sì | — | — | — |
console:widgets:publish | Sì | Sì | Sì | — | — | — |
console:flows:write | Sì | Sì | Sì | — | — | — |
console:tools:write | Sì | Sì | Sì | — | — | — |
console:webhooks:write | Sì | Sì | — | — | — | — |
console:analytics:read | Sì | Sì | Sì | Sì | Sì | Sì |
console:analytics:export | Sì | Sì | Sì | — | Sì | — |
billing:subscription:read | Sì | Sì | — | — | Sì | — |
billing:subscription:write | Sì | Sì | — | — | — | — |
billing:invoices:read | Sì | Sì | — | — | Sì | — |
billing:payment_methods:write | Sì | Sì | — | — | — | — |
billing:usage:read | Sì | Sì | Sì | — | Sì | — |
booking:appointments:read | Sì | Sì | Sì | Sì | Sì | Sì |
booking:appointments:write | Sì | Sì | Sì | Sì | — | — |
booking:appointments:delete | Sì | Sì | Sì | — | — | — |
booking:resources:write | Sì | Sì | Sì | — | — | — |
booking:availability:write | Sì | Sì | Sì | — | — | — |
Permessi ad alto impatto
identity:users:write, identity:roles:write, identity:apikeys:write,
console:webhooks:write e tutti i permessi :delete consentono azioni non reversibili o
l'estensione dei privilegi. Assegnali al minor numero possibile di persone e verificali a ogni
revisione trimestrale.
Ruoli personalizzati
Parti da un ruolo esistente
Seleziona Duplica da e scegli il ruolo predefinito più vicino alle tue esigenze. È più sicuro che partire da zero e dimenticare un permesso necessario.
Assegna nome e descrizione
Usa nomi che descrivono la funzione aziendale, non la persona: segreteria-medica,
back-office-fatture, rpa-documenti. La descrizione deve spiegare a chi è destinato il ruolo.
Seleziona i permessi
I permessi sono raggruppati per servizio e risorsa. Il pannello laterale mostra in tempo reale le voci di menu che diventeranno visibili con la selezione corrente.
Limita l'ambito
Se necessario, vincola il ruolo a progetti o team specifici. Un ruolo con
console:sessions:write limitato al progetto assistenza-clienti non può operare sugli altri
progetti.
Verifica prima di assegnare
Usa Anteprima come per simulare l'esperienza di un utente con quel ruolo, senza assegnarlo a nessuno.
Salva e assegna
Il ruolo diventa disponibile nell'elenco a tendina di inviti e schede utente.
Nessuna scalata di privilegi
Non puoi creare un ruolo che contenga permessi che tu stesso non possiedi. Un Amministratore non
può quindi generare un ruolo con identity:tenant:transfer, riservato al Proprietario.
Privilegio minimo: linee guida
| Situazione | Assegnazione consigliata |
|---|---|
| Nuovo addetto assistenza | Operatore limitato ai progetti del suo servizio |
| Consulente esterno temporaneo | Sola lettura, con revisione dell'accesso a fine incarico |
| Studio di consulenza fiscale | Ruolo personalizzato con billing:invoices:read e billing:usage:read |
| Automazione RPA | Utente di servizio con i soli permessi sulla risorsa trattata |
| Responsabile qualità | Analista con console:sessions:export |
| Fornitore di sviluppo | Ruolo personalizzato senza permessi su clienti e sessioni |
Regola pratica
Se dubiti se concedere un permesso, non concederlo. Aggiungerlo dopo una richiesta motivata richiede pochi secondi; individuare una fuga di dati richiede settimane.
Propagazione delle modifiche
I permessi sono inclusi nel token di accesso emesso all'autenticazione. Le modifiche non sono quindi istantanee su tutte le superfici.
| Superficie | Momento di applicazione |
|---|---|
| Interfaccia Console | Al successivo rinnovo del token, entro 15 minuti |
| Chiamate API con JWT | Al successivo rinnovo del token, entro 15 minuti |
| Chiamate API con chiave API | Immediata, i permessi sono verificati a ogni richiesta |
| Nuovo accesso | Immediata, il token viene emesso con i permessi aggiornati |
Applicare subito una revoca
Da Tenant → Utenti → Apri utente → Revoca sessioni invalidi tutti i token attivi dell'utente. Al successivo accesso riceverà un token con i permessi aggiornati.
Verificare l'esito
Controlla nell'audit log le voci
identity.role.updated e identity.session.revoked con attore e timestamp.
/identity/v1/rolesBearer JWTElenca i ruoli del tenant con i permessi associati. Richiede identity:roles:read.
/identity/v1/users/{userId}/roleBearer JWTModifica il ruolo di un utente. Richiede identity:users:write.
Passi successivi
Utenti e inviti
Invitare utenti al tenant, gestire lo stato degli inviti, disattivare e riattivare account, trasferire la proprietà e creare utenti di servizio.
Autenticazione e sicurezza
Politica delle password, blocco account, MFA obbligatoria, durata delle sessioni, SSO e gestione completa delle chiavi API con rotazione.