ruoli
crea ruoli per separare permessi di lettura, scrittura, admin.
CREATE ROLE analyst;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO analyst;
permessi granulari
concedi il minimo necessario. evita accesso diretto a tabelle sensibili.
REVOKE ALL ON customers FROM public;
GRANT SELECT (id, name) ON customers TO analyst;
audit e monitoring
logga accessi e query critiche. integra audit con i log applicativi.
- registra accessi admin
- controlla query su dati sensibili
- ruota le credenziali
esercizi
definisci ruoli reader, writer, admin per un db demo.
aggiungi audit su una tabella utenti.
checklist
- principio del minimo privilegio
- ruoli separati per team
- audit periodico
- documenta le policy
panoramica
In questo capitolo su sicurezza e ruoli, permessi granulari e audit per database solidi. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.
Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).
badge: security
obiettivi
- capire e applicare ruoli in uno scenario reale
- capire e applicare permessi in uno scenario reale
- capire e applicare audit in uno scenario reale
- capire e applicare esercizi in uno scenario reale
scheda rapida
SELECT categoria, COUNT(*) AS tot
FROM prodotti
WHERE attivo = TRUE
GROUP BY categoria
ORDER BY tot DESC
LIMIT 5;
Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.
tips
- usa alias chiari
- filtra presto con WHERE
- controlla i piani di esecuzione
- principio del minimo privilegio
- usa ruoli per gruppi
- revoca accessi inutili
tip: I permessi sono codice: versionali.
mini progetto
Definisci ruoli per app e analyst.
- crea ruoli
- assegna grant
- testa accessi
- documenta policy
output atteso: uno script o query ripetibile con risultati verificabili.