Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Funzioni di mascheramento dei dati predefinite
pg_columnmaskl'estensione fornisce funzioni di utilità integrate scritte in linguaggio C (per un'esecuzione più rapida) che possono essere utilizzate come espressione di mascheramento per le pg_columnmask politiche.
mask_text
Una funzione per mascherare i dati di testo con opzioni di visibilità configurabili.
Arguments (Argomenti)
| Parametro | DataType | Description |
|---|---|---|
input |
TEXT |
La stringa di testo originale da mascherare |
mask_char |
CARATTERE (1) |
Carattere usato per mascherare (predefinito: 'X') |
visible_prefix |
INT |
Numero di caratteri all'inizio del testo di input che rimarranno non mascherati (impostazione predefinita: 0) |
visible_suffix |
INT |
Numero di caratteri alla fine del testo di input che rimarranno non mascherati (impostazione predefinita: 0) |
use_hash_mask |
BOOLEAN |
Se TRUE, utilizza un mascheramento basato su hash anziché mask_char (impostazione predefinita: FALSE) |
Esempio di utilizzare diverse opzioni di mascheramento
Maschera l'intera stringa di input con il carattere 'X' predefinito
postgres=> SELECT pgcolumnmask.mask_text('Hello World'); mask_text ------------- XXXXXXXXXXX
Usa l'mask_charargomento per mascherare l'immissione di testo utilizzando un carattere diverso
postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*'); mask_text ------------- ***********
Usa visible_prefix i visible_suffix parametri per controllare quanti caratteri rimangono non mascherati all'inizio e alla fine del testo
postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*', 5, 1); mask_text ------------- Hello*****d
Quando use_hash_mask è vero, la stringa di input viene mascherata utilizzando caratteri casuali, l'mask_charargomento viene ignorato ma viene comunque visible_prefix rispettato visible_suffix
postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*', 2, 2, true); mask_text ------------- Hex36dOHild
mask_timestamp
| Parametro | DataType | Description |
|---|---|---|
ts_to_mask |
TIMESTAMP |
Il timestamp originale da mascherare |
mask_part |
TEXT |
Speciifica quale parte del timestamp mascherare (impostazione predefinita: 'all') Valori validi: 'anno', 'mese', 'giorno', 'ora', 'minuto', 'secondo', 'tutto' |
mask_value |
TIMESTAMP |
Il valore del timestamp da usare per il mascheramento (predefinito: '1900-01-01 00:00:00 ') |
Esempio di utilizzo di mask_timestamps
Questi esempi mostrano il mascheramento completo del timestamp su un valore predefinito, il mascheramento parziale di componenti del timestamp specifici (solo anno) e il mascheramento con un valore sostitutivo personalizzato.
Maschera completamente il valore di input al timestamp predefinito
postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00'); mask_timestamp --------------------- 1900-01-01 00:00:00
Per mascherare solo una parte del timestamp, ad esempio solo l'anno
postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00', 'year'); mask_timestamp --------------------- 1900-06-15 14:30:00
Per modificare il valore mascherato per il timestamp usa l'argomento mask_value
postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00', 'all', '2012-12-12 12:12:12'); mask_timestamp --------------------- 2012-12-12 12:12:12
mask_timestamp
Una funzione per mascherare gli indirizzi e-mail preservando la struttura delle e-mail.
| Parametro | DataType | Description |
|---|---|---|
input |
TEXT |
L'indirizzo email originale da mascherare |
mask_char |
CARATTERE (1) |
Carattere usato per mascherare (predefinito: 'X') |
mask_local |
BOOLEAN |
Se TRUE, maschera la parte locale dell'email (prima di @) (impostazione predefinita: TRUE) |
mask_domain |
BOOLEAN |
Se TRUE, maschera la parte del dominio dell'email (dopo @) (impostazione predefinita: TRUE) |
Esempio di utilizzo di mask_email
Questi esempi illustrano il mascheramento completo delle e-mail, i caratteri di maschera personalizzati e il mascheramento selettivo della parte locale o della parte del dominio dell'indirizzo e-mail.
Mascheratura completa
postgres=> SELECT pgcolumnmask.mask_email('user@example.com'); mask_email ------------------ XXXX@XXXXXXX.com
Si usa mask_char per cambiare il carattere usato per mascherare
postgres=> SELECT pgcolumnmask.mask_email('user@example.com', '*'); mask_email ------------------ ****@*******.com
Usa mask_local e controlla mask_domain il mascheramento a livello locale e di dominio
postgres=> SELECT pgcolumnmask.mask_email('user@example.com', '*', true, false); mask_email ------------------ ****@example.com postgres=> SELECT pgcolumnmask.mask_email('user@example.com', '*', false, true); mask_email ------------------ user@*******.com