Vai al contenuto principale

Panoramica

Apollo utilizza un modello di permessi a tre livelli che fornisce un controllo degli accessi granulare dal livello dell’organizzazione fino ai board dei singoli progetti.

Livelli di Permesso

Livello 1: Organizzazione

Gestito in organization_members. Controlla l’accesso a livello dell’intera organizzazione.
RuoloPermessi
OwnerControllo completo — fatturazione, impostazioni, gestione membri, tutte le funzionalità
AdminGestire membri, team e la maggior parte delle impostazioni. Non può eliminare l’organizzazione o gestire la fatturazione
MemberAccesso alle funzionalità in base ai ruoli di team e board. Non può gestire le impostazioni dell’organizzazione
External CollaboratorAccesso limitato solo ai progetti specificamente assegnati

Livello 2: Team

Gestito in team_members. Controlla le risorse nell’ambito del team.
RuoloPermessi
LeadGestire impostazioni del team, membri, configurazione delle funzionalità e assegnazioni di progetto
MemberAccesso a progetti, attività, release e base di conoscenza del team

Livello 3: Board (Progetto)

Gestito in user_project_access.board_role. Controlla l’accesso per progetto.
RuoloPermessi
OwnerControllo completo del progetto — impostazioni, membri, eliminazione
EditorCreare e modificare attività, release e pagine della base di conoscenza
ViewerAccesso in sola lettura alle risorse del progetto

Tipi di Utente

Derivati dal ruolo nell’organizzazione:
Tipo di UtenteDerivato DaVisualizza
InternalRuolo Owner, Admin o Member nell’organizzazionePiattaforma completa in base all’accesso alle funzionalità
CustomerTipo utente CustomerDashboard semplificata, progetti assegnati
External CollaboratorRuolo External Collaborator nell’organizzazioneSolo progetti specificamente assegnati

Protezione delle Rotte

Apollo applica i permessi su più livelli:
  • <ProtectedRoute> — richiede autenticazione (qualsiasi utente autenticato)
  • <FeatureRoute feature="..."> — richiede che la funzionalità indicata sia abilitata per l’utente
  • <InternalRoute> — richiede tipo di utente interno
  • <AdminRoute> — richiede ruolo admin o owner nell’organizzazione

Row-Level Security (RLS)

Tutte le tabelle del database hanno policy di Row-Level Security applicate a livello PostgreSQL. Anche se il frontend venisse aggirato, il database applica le regole di accesso basate su auth.uid().