Procédures de gestion des politiques de masquage des données - 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.

Procédures de gestion des politiques de masquage des données

Vous pouvez gérer les politiques de masquage à l'aide des procédures fournies par l'pg_columnmaskextension. Pour créer, modifier ou supprimer des politiques de masquage, vous devez disposer de l'un des privilèges suivants :

  • Propriétaire de la table sur laquelle vous créez la pg_columnmask politique.

  • Membre derds_superuser.

  • Membre du rôle de responsable des pg_columnmask politiques défini par le pgcolumnmask.policy_admin_rolname paramètre.

La commande suivante crée une table qui sera utilisée dans les sections suivantes :

CREATE TABLE public.customers ( id SERIAL PRIMARY KEY, name TEXT, phone TEXT, address TEXT, email TEXT );

CRÉER UNE POLITIQUE DE MASQUAGE

La procédure suivante crée une nouvelle politique de masquage pour une table utilisateur :

Syntaxe

create_masking_policy( policy_name, table_name, masking_expressions, roles, weight)

Arguments

Paramètre Datatype Description
policy_name NAME

Nom de la politique de masquage. Doit être unique par table.

table_name REGCLASS

Le qualified/unqualified nom ou l'identifiant de la table à laquelle appliquer la politique de masquage.

masking_expressions JSONB

Objet JSON contenant le nom de colonne et les paires de fonctions de masquage. Chaque clé est un nom de colonne et sa valeur est l'expression de masquage à appliquer à cette colonne.

roles NOM []

Les rôles auxquels s'applique cette politique de masquage. La valeur par défaut est PUBLIC.

weight INT

Le poids de la politique de masquage. Lorsque plusieurs politiques sont applicables à la requête d'un utilisateur donné, la politique ayant le poids le plus élevé (nombre entier le plus élevé) sera appliquée à chaque colonne masquée.

La valeur par défaut est 0. Il n'y a pas deux politiques de masquage proposées sur la table qui peuvent avoir le même poids.

Type de retour

Aucune

Exemple de la création d'une politique de masquage qui masque la colonne d'e-mail associée au test_user rôle :
CALL pgcolumnmask.create_masking_policy( 'customer_mask', 'public.customers', JSON_OBJECT('{ "email", "pgcolumnmask.mask_email(email)" }')::JSONB, ARRAY['test_user'], 100 );

ALTER_MASKING_POLICY

Cette procédure modifie une politique de masquage existante. ALTER_MASKING_POLICYpeut modifier les expressions de masquage de la politique, l'ensemble des rôles auxquels la politique s'applique et le poids de la politique de masquage. Lorsque l'un de ces paramètres est omis, la partie correspondante de la politique reste inchangée.

Syntaxe

alter_masking_policy( policy_name, table_name, masking_expressions, roles, weight)

Arguments

Paramètre Datatype Description
policy_name NAME

Nom existant de la politique de masquage.

table_name REGCLASS

qualified/unqualified Nom oid de la table contenant la politique de masquage.

masking_expressions JSONB

Nouvel objet JSON contenant le nom de colonne et les paires de fonctions de masquage ou NULL dans le cas contraire.

roles NOM []

La liste des nouveaux rôles auxquels s'applique cette politique de masquage ou NULL dans le cas contraire.

weight INT

Nouveau poids pour la politique de masquage ou NULL dans le cas contraire.

Type de retour

Aucune

Exemple d'ajouter le rôle d'analyste à une politique de masquage existante sans modifier les autres attributs de la stratégie.
CALL pgcolumnmask.alter_masking_policy( 'customer_mask', 'public.customers', NULL, ARRAY['test_user', 'analyst'], NULL ); -- Alter the weight of the policy without altering other details CALL pgcolumnmask.alter_masking_policy( 'customer_mask', 'customers', NULL, NULL, 4 );

DROP_MASKING_POLICY

Cette procédure supprime une politique de masquage existante.

Syntaxe

drop_masking_policy( policy_name, table_name)

Arguments

Paramètre Datatype Description
policy_name NAME

Nom existant de la politique de masquage.

table_name REGCLASS

qualified/unqualified Nom oid de la table contenant la politique de masquage.

Type de retour

Aucune

Exemple de supprimer la politique de masquage customer_mask
-- Drop a masking policy CALL pgcolumnmask.drop_masking_policy( 'customer_mask', 'public.customers', );