Procedure per la gestione delle politiche di mascheramento dei dati - Amazon Aurora

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_columnmask politica.

  • Membro dirds_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

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', );