1. Glossario/

System Privilege

Privilegio di sistema Oracle

Un System Privilege in Oracle è un’autorizzazione che permette di eseguire operazioni globali sul database, indipendentemente da uno specifico oggetto. Esempi tipici includono CREATE TABLE, CREATE SESSION, ALTER SYSTEM, CREATE USER e DROP ANY TABLE.

Come funziona #

I system privileges si assegnano con GRANT e si revocano con REVOKE. Possono essere assegnati direttamente a un utente o a un ruolo. Il ruolo predefinito DBA include oltre 200 system privileges, motivo per cui assegnarlo a utenti applicativi è una pratica pericolosa.

A cosa serve #

I system privileges definiscono cosa un utente può fare a livello di database: creare oggetti, gestire utenti, modificare parametri di sistema. Sono il livello più alto di autorizzazione in Oracle e devono essere gestiti con estrema cautela, seguendo il principio del least privilege.

Cosa può andare storto #

Un system privilege come DROP ANY TABLE permette di eliminare qualsiasi tabella di qualsiasi schema. Se assegnato per errore a un utente applicativo, un singolo comando può distruggere dati di produzione. La distinzione tra system privileges e object privileges è fondamentale per costruire un modello di sicurezza robusto.