Lessico IT › Database › Sicurezza a livello di riga

Sicurezza a livello di riga

Database Svenska → Aggiornato: 2026-10-02

Autorizzazione per singola riga integrata in PostgreSQL dalla versione 9.5. Il database filtra le righe che l'utente non può vedere, qualunque query l'applicazione invii.

Si abilita per tabella e si scrivono poi policy con un'espressione USING per ciò che si può leggere e un'espressione WITH CHECK per ciò che si può scrivere. La condizione viene integrata nella query dal planner, quindi un WHERE tenant_id = … dimenticato da qualche parte nell'applicazione non causa più fughe di dati. L'uso più comune è proprio lo scenario multi-tenant, in cui la policy confronta il proprietario della riga con una variabile di sessione impostata alla connessione. Tre cose sorprendono: il proprietario della tabella aggira per impostazione predefinita le proprie policy, a meno che non si specifichi FORCE; le policy possono rovinare i piani di esecuzione perché limitano ciò che l'ottimizzatore può spostare; e le funzioni non marcate LEAKPROOF possono in teoria servire a dedurre il contenuto nascosto.

← Torna al lessico