Funzioni di mascheramento dei dati predefinite - Amazon Aurora

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