Cosa significa RBAC nella sicurezza dei database?

Risposta breve

  1. RBAC = Controllo degli accessi basato sui ruoli (Role-Based Access Control).
  2. Invece di concedere permessi individuali a ogni utente, definisci ruoli (admin, developer, analyst, read-only) e li assegni agli utenti.
  3. Concretamente: un analyst riceve il ruolo read-only sulle tabelle di vendita, ma non può accedere alle tabelle con dati personali.
  4. RBAC è lo standard di sicurezza per database enterprise ed è richiesto da GDPR, SOC 2 e ISO 27001.

Cosa dice lo standard / la legislazione

  • GDPR Art. 5(1)(f): principio di integrità e riservatezza — RBAC è l'implementazione tecnica di questo principio.
  • PostgreSQL: RBAC nativo tramite GRANT/REVOKE + Row-Level Security (RLS) per l'isolamento a livello di riga.
  • MySQL: RBAC tramite privilegi (SELECT, INSERT, UPDATE, DELETE) a livello di database, tabella o colonna.
  • MongoDB: RBAC tramite ruoli incorporati (readAnyDatabase, dbAdmin, clusterAdmin) + ruoli personalizzati granulari.

Esempi pratici

  • Esempio 1 — SaaS multi-tenant: il ruolo tenant_user vede SOLO le righe con tenant_id = il proprio ID (RLS in PostgreSQL). Un tenant non può vedere i dati di un altro tenant.
  • Esempio 2 — team dati: i developer hanno accesso in SCRITTURA sulle tabelle di staging; gli analyst hanno SOLA LETTURA sulle tabelle di produzione; nessuno ha DROP TABLE.
  • Esempio 3 — audit GDPR: il ruolo audit_log_reader può leggere l'audit log ma non può modificare o eliminare i record.

Errori frequenti

  • Errore 1: usare un singolo utente del database (root/admin) per l'intera applicazione — qualsiasi vulnerabilità applicativa dà accesso completo al DB.
  • Errore 2: non revocare l'accesso quando un developer lascia il team — il 30% delle violazioni di sicurezza interne coinvolge ex dipendenti (IBM X-Force 2023).
  • Errore 3: concedere GRANT ALL PRIVILEGES invece di definire ruoli specifici — il principio del privilegio minimo viene ignorato.
  • Errore 4: non controllare chi accede a cosa — senza audit log, non è possibile rilevare accessi non autorizzati.

Come ti aiuta 4database.net

  • 4database.net ha RBAC granulare integrato: crea ruoli custom (developer, analyst, ops) con permessi a livello di tabella o colonna.
  • Row-Level Security (RLS) disponibile su PostgreSQL managed — isola i dati per tenant, per reparto o per utente.
  • Audit log completo: ogni query, ogni login, ogni modifica dello schema viene registrata con utente, timestamp e IP.
  • Revoca istantanea: disattiva l'accesso di un utente con un click, senza riavviare il database.
  • Avviso automatico in caso di tentativi di accesso non autorizzato (login falliti, query su tabelle ristrette).
Începe gratuit →

Vedi anche