

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
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures"></a>

Vous pouvez gérer les politiques de masquage à l'aide des procédures fournies par l'`pg_columnmask`extension. 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 de`rds_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
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures.CreateMaskingPolicy"></a>

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.<br />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

**Example 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
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures.AlterMaskingPolicy"></a>

Cette procédure modifie une politique de masquage existante. `ALTER_MASKING_POLICY`peut 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

**Example 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
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures.DropMaskingPolicy"></a>

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

**Example de supprimer la politique de masquage customer\_mask**  

```
-- Drop a masking policy
    CALL pgcolumnmask.drop_masking_policy(
        'customer_mask',
        'public.customers',
    );
```