Fonctions de masquage de données prédéfinies - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonctions de masquage de données prédéfinies

pg_columnmaskL'extension fournit des fonctions utilitaires intégrées écrites en langage C (pour une exécution plus rapide) qui peuvent être utilisées comme expression de masquage pour les pg_columnmask politiques.

texte_masque

Fonction permettant de masquer les données textuelles avec des options de visibilité configurables.

Arguments

Paramètre Datatype Description
input TEXT

La chaîne de texte d'origine à masquer

mask_char CHAISE (1)

Caractère utilisé pour le masquage (par défaut : « X »)

visible_prefix INT

Nombre de caractères au début du texte saisi qui resteront démasqués (par défaut : 0)

visible_suffix INT

Nombre de caractères à la fin du texte saisi qui resteront démasqués (par défaut : 0)

use_hash_mask BOOLEAN

Si VRAI, utilise un masquage basé sur le hachage au lieu de mask_char (par défaut : FALSE)

Exemple d'utiliser différentes options de masquage

Masquer l'intégralité de la chaîne d'entrée avec le caractère « X » par défaut

postgres=> SELECT pgcolumnmask.mask_text('Hello World'); mask_text ------------- XXXXXXXXXXX

Utilisez l'mask_charargument pour masquer la saisie de texte à l'aide d'un caractère différent

postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*'); mask_text ------------- ***********

Utilisation visible_prefix et visible_suffix paramètres pour contrôler le nombre de caractères non masqués au début et à la fin du texte

postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*', 5, 1); mask_text ------------- Hello*****d

Lorsque use_hash_mask c'est vrai, la chaîne d'entrée est masquée à l'aide de caractères aléatoires, l'mask_charargument est ignoré mais visible_prefix est visible_suffix toujours respecté.

postgres=> SELECT pgcolumnmask.mask_text('Hello World', '*', 2, 2, true); mask_text ------------- Hex36dOHild

mask_timestamp

Paramètre Datatype Description
ts_to_mask TIMESTAMP

L'horodatage d'origine à masquer

mask_part TEXT

Spécifie la partie de l'horodatage à masquer (par défaut : « toutes ») Valeurs valides : « année », « mois », « jour », « heure », « minute », « seconde », « tout »

mask_value TIMESTAMP

La valeur d'horodatage à utiliser pour le masquage (par défaut : '1900-01-01 00:00:00 ')

Exemple d'utilisation de mask_timestamps

Ces exemples illustrent le masquage complet de l'horodatage à une valeur par défaut, le masquage partiel de composants d'horodatage spécifiques (année uniquement) et le masquage avec une valeur de remplacement personnalisée.

Masquer complètement la valeur d'entrée à l'horodatage par défaut

postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00'); mask_timestamp --------------------- 1900-01-01 00:00:00

Pour masquer une seule partie de l'horodatage (par exemple, uniquement l'année)

postgres=> SELECT pgcolumnmask.mask_timestamp('2023-06-15 14:30:00', 'year'); mask_timestamp --------------------- 1900-06-15 14:30:00

Pour modifier la valeur masquée de l'horodatage, utilisez l'argument 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

Fonction permettant de masquer les adresses e-mail tout en préservant la structure des e-mails.

Paramètre Datatype Description
input TEXT

L'adresse e-mail d'origine à masquer

mask_char CHAISE (1)

Caractère utilisé pour le masquage (par défaut : « X »)

mask_local BOOLEAN

Si VRAI, masque la partie locale de l'e-mail (avant @) (par défaut : TRUE)

mask_domain BOOLEAN

Si VRAI, masque la partie domaine de l'e-mail (après @) (par défaut : TRUE)

Exemple d'utilisation de mask_email

Ces exemples illustrent le masquage complet des e-mails, les caractères de masque personnalisés et le masquage sélectif de la partie locale ou de la partie domaine de l'adresse e-mail.

Masquage complet

postgres=> SELECT pgcolumnmask.mask_email('user@example.com'); mask_email ------------------ XXXX@XXXXXXX.com

mask_charÀ utiliser pour modifier le caractère utilisé pour le masquage

postgres=> SELECT pgcolumnmask.mask_email('user@example.com', '*'); mask_email ------------------ ****@*******.com

Utiliser mask_local et mask_domain contrôler le masquage en local et sur le domaine

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