Parliamo del progetto
Dati e conformità

PostgreSQL Anonymizer 3.2: rendere sicuri i trattamenti di mascheramento e preparare la migrazione dei ruoli

PostgreSQL Anonymizer 3.2 modifica il contesto dei trattamenti di mascheramento. Verificate versione, privilegi, precondizioni e ripristino prima di migrare i ruoli.

Rôles et traitements de masquage PostgreSQL.

PostgreSQL Anonymizer 3.2 corregge problemi di sicurezza e blocca il mascheramento eseguito come superutente. Un aggiornamento deve quindi esaminare i ruoli dei trattamenti esistenti, i loro backup e i loro risultati, invece di neutralizzare la protezione per mantenere gli script precedenti.

Datare correttamente l'annuncio e identificare il componente

Il comunicato di PostgreSQL Anonymizer 3.2 è datato 4 settembre 2026; PostgreSQL.org lo ha ripubblicato il 9 settembre. L'evento è l'annuncio del 4 settembre, senza presumere un orario di disponibilità. PostgreSQL Anonymizer è un'estensione: le sue correzioni e le sue precondizioni non descrivono indistintamente tutto PostgreSQL. [annuncio PostgreSQL.org]

La versione 3.2 annuncia il blocco del mascheramento eseguito da un superutente e la migrazione progressiva da pseudo_* a seeded_*, secondo l'annuncio dell'editore.

Un rapporto indipendente descrive due distinti percorsi di elevazione dei privilegi riprodotti sulla 3.1.3: il primo riguarda il proprietario di una tabella senza un secondo attore privilegiato; il secondo richiede che un operatore privilegiato importi un file di regole il cui contenuto sia stato influenzato da un attaccante. Queste precondizioni non consentono né di affermare uno sfruttamento attivo né di stabilire tutte le versioni interessate. [rapporto 665]

Inventariare trattamenti e ruoli

Un ruolo è un'identità alla quale PostgreSQL associa autorizzazioni; un superutente dispone di privilegi che superano quelli di un comune ruolo applicativo. La pseudonimizzazione sostituisce un valore con un altro per limitarne l'identificazione diretta. Il suo determinismo significa che, con gli stessi parametri, uno stesso input può produrre uno stesso output; una collisione è il caso in cui input distinti producono lo stesso valore. La locale è il parametro di lingua e regione che influenza alcuni formati. Il mascheramento statico modifica i dati, la replica produce una copia e l'esportazione produce un set esterno: queste modalità non si qualificano con gli stessi diritti.

Iniziate documentando la versione dell'estensione, la modalità di mascheramento e l'identità effettiva, senza eseguire trattamenti né modificare un database di produzione. Non disabilitate anon.nosuperuser per aggirare la nuova protezione.

AmbienteVersioneModalitàRuolo effettivoProprietarioOperazioneAutorizzazione da confermareProva
Da compilareDa verificareStatica, replica o esportazioneDa verificareDa designareDa descrivereDa confermareDa allegare
Inventario dei ruoli e delle operazioni da convalidare prima dell'aggiornamento di PostgreSQL Anonymizer.
Le autorizzazioni vengono qualificate per operazione, senza una ricetta universale di diritti.

Qualificare un ruolo dedicato nei test

I privilegi minimi si deducono dalle funzioni effettivamente utilizzate e dalla documentazione della versione di destinazione; non esiste un comando universale di assegnazione dei diritti (GRANT) adatto a tutti i trattamenti. Un piano proposto, non eseguito, inizia con un ripristino di test autorizzato e dati sintetici. Verifica esecuzione, errori, backup e recupero, poi conserva un rollback fondato su un ripristino convalidato, non sulla disabilitazione di una protezione o su un passaggio improvvisato.

Questo piano include anche relazioni, valori nulli, collisioni e ripetizione: verificare che una relazione resti utilizzabile, che un valore nullo conservi il comportamento previsto, che le collisioni siano misurate e che i risultati ripetuti corrispondano alla proprietà ricercata. Il determinismo non garantisce l'anonimato. [documentazione delle funzioni]

Esempio esclusivamente sintetico: tre persone fittizie P01, P02 e P03 hanno rispettivamente Personne_A, Personne_B e Personne_A in un campo nome; P03 ha un valore facoltativo nullo. Due ordini fittizi C01 e C02 sono collegati a P01 e P02. Per le ripetizioni vengono registrati la locale, gli stessi parametri e lo stesso valore iniziale («seme»). Nessuno di questi record è reale.

CasoAttesoProva
Relazioni C01→P01 e C02→P02Riferimenti coerenti dopo il trattamentoNON ESEGUITO
Valore nullo P03Comportamento documentato e mantenutoNON ESEGUITO
Collisione Personne_A / Personne_BCollisione misurata, non presunta assenteNON ESEGUITO
Ripetizione con stessi seme e parametriRisultato confrontato per il determinismo desideratoNON ESEGUITO
Vecchio e nuovo nome di funzioneConfrontati senza imporre l'uguaglianza dei valoriNON ESEGUITO
Vincoli dello schemaRisultato controllatoNON ESEGUITO
Controlli di relazioni, valori nulli, collisioni e ripetizione su dati sintetici.
I controlli riguardano dati sintetici, mai un risultato di anonimizzazione preteso garantito.

Trattare la correzione come una modifica controllata

La nuova famiglia seeded_* sostituisce progressivamente pseudo_*, che sono conservate per compatibilità nella 3.2 ma deprecate, quindi destinate a essere ritirate in seguito. Non si deve presumere alcuna corrispondenza di valori identici. Verificate locale, funzioni disponibili e risultati attesi nella versione di destinazione. [annuncio 3.2]

Piano proposto e non eseguito: inventario; backup della configurazione, dei ruoli e dei dati sintetici; ripristino isolato; convalida di un ruolo dedicato; test; decisione di arresto o di passaggio; rollback verificato mediante ripristino. Non si tratta di un ritorno cieco a una versione precedente dell'estensione. Per il quadro di continuità e ripristino, consultate il piano di continuità e ripristino.

Il proprietario del trattamento definisce i risultati attesi; l'amministratore convalida diritti e ripristino; il team che usa i dati conferma che relazioni e vincoli restano utilizzabili. Un fallimento del ripristino, un'autorizzazione inspiegata o un'incoerenza dei dati sospendono il passaggio. Questo piccolo set consente di verificare il metodo: non misura il rischio globale di collisione né la resistenza alla reidentificazione su dati reali. Resta necessario consultare la documentazione corrispondente alla versione installata; le pagine latest possono evolvere.

Condividi questo articolo