

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à.

# Procedure per la gestione delle politiche di mascheramento dei dati
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures"></a>

È possibile gestire le politiche di mascheramento utilizzando le procedure fornite dall'`pg_columnmask`estensione. Per creare, modificare o eliminare le politiche di mascheramento, è necessario disporre di uno dei seguenti privilegi:
+ Proprietario della tabella su cui si sta creando la `pg_columnmask` politica.
+ Membro di`rds_superuser`.
+ Membro del ruolo di `pg_columnmask` policy manager impostato dal `pgcolumnmask.policy_admin_rolname` parametro.

Il comando seguente crea una tabella che viene utilizzata nelle sezioni successive:

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

## CREATE\_MASKING\_POLICY
<a name="AuroraPostgreSQL.Security.DynamicMasking.Procedures.CreateMaskingPolicy"></a>

La procedura seguente crea una nuova politica di mascheramento per una tabella utente:

**Sintassi**

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

**Arguments (Argomenti)**


| Parametro | DataType | Description | 
| --- | --- | --- | 
| policy\_name | NAME |  Nome della policy di mascheramento. Deve essere unico per tabella.  | 
| table\_name | REGCLASS |  Il qualified/unqualified nome o l'ID della tabella a cui applicare la politica di mascheramento.  | 
| masking\_expressions | JSONB |  Oggetto JSON contenente il nome della colonna e le coppie di funzioni di mascheramento. Ogni chiave è un nome di colonna e il suo valore è l'espressione di mascheramento da applicare su quella colonna.  | 
| roles | NOME [] |  I ruoli a cui si applica questa politica di mascheramento. L'impostazione predefinita è PUBLIC.  | 
| weight | INT |  Peso della politica di mascheramento. Quando sono applicabili più criteri a una determinata query dell'utente, il criterio con il peso più elevato (numero intero più alto) verrà applicato a ciascuna colonna mascherata. Il valore predefinito è 0. Non esistono due politiche di mascheramento sulla tabella che possono avere lo stesso peso.  | 

**Tipo restituito**

Nessuno

**Example di creare una politica di mascheramento che maschera la colonna di posta elettronica per il ruolo: `test_user`**  

```
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>

Questa procedura modifica una politica di mascheramento esistente. `ALTER_MASKING_POLICY`può modificare le espressioni di mascheramento delle policy, l'insieme di ruoli a cui si applica la policy e il peso della policy di mascheramento. Quando uno di questi parametri viene omesso, la parte corrispondente della politica rimane invariata.

**Sintassi**

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

**Arguments (Argomenti)**


| Parametro | DataType | Description | 
| --- | --- | --- | 
| policy\_name | NAME |  Nome esistente della politica di mascheramento.  | 
| table\_name | REGCLASS |  Il qualified/unqualified nome id della tabella contenente la politica di mascheramento.  | 
| masking\_expressions | JSONB |  Nuovo oggetto JSON contenente il nome della colonna e le coppie di funzioni di mascheramento o NULL in caso contrario.  | 
| roles | NOME [] |  L'elenco dei nuovi ruoli a cui si applica questa politica di mascheramento o NULL in caso contrario.  | 
| weight | INT |  Nuovo peso per la politica di mascheramento o NULL in caso contrario.  | 

**Tipo restituito**

Nessuno

**Example di aggiungere il ruolo di analista a una politica di mascheramento esistente senza modificare altri attributi della politica.**  

```
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>

Questa procedura rimuove una politica di mascheramento esistente.

**Sintassi**

```
drop_masking_policy(
        policy_name,
        table_name)
```

**Arguments (Argomenti)**


| Parametro | DataType | Description | 
| --- | --- | --- | 
| policy\_name | NAME |  Nome esistente della politica di mascheramento.  | 
| table\_name | REGCLASS |  Il qualified/unqualified nome id della tabella contenente la politica di mascheramento.  | 

**Tipo restituito**

Nessuno

**Example di eliminare la politica di mascheramento customer\_mask**  

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