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
È possibile gestire le politiche di mascheramento utilizzando le procedure fornite dall'pg_columnmaskestensione. 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_columnmaskpolitica. -
Membro di
rds_superuser. -
Membro del ruolo di
pg_columnmaskpolicy manager impostato dalpgcolumnmask.policy_admin_rolnameparametro.
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
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
Esempio 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
Questa procedura modifica una politica di mascheramento esistente. ALTER_MASKING_POLICYpuò 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
Esempio 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
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
Esempio di eliminare la politica di mascheramento customer_mask
-- Drop a masking policy CALL pgcolumnmask.drop_masking_policy( 'customer_mask', 'public.customers', );