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à.
Identificatori di escape nella procedura DDL della politica di mascheramento
Quando si creano policy di mascheramento dei dati con identificatori tra virgolette, è necessario un corretto escape per garantire i riferimenti agli oggetti e l'applicazione delle policy corretti. Per utilizzare gli identificatori tra virgolette all'interno delle procedure di gestione delle policy di mascheramento: pg_columnmask
Nome della politica: deve essere racchiuso tra virgolette doppie.
Nome tabella: sia il nome dello schema che il nome della tabella devono essere racchiusi tra virgolette doppie singolarmente, se necessario.
Espressioni di mascheramento: i nomi delle colonne e delle funzioni nelle espressioni di mascheramento devono essere racchiusi tra virgolette doppie e le virgolette stesse devono essere eliminate utilizzando una barra rovesciata.
Ruoli: la matrice dei nomi dei ruoli viene citata automaticamente. Il nome del ruolo deve corrispondere esattamente al nome indicato,
pg_rolesinclusa la distinzione tra maiuscole e minuscole.
Esempio della sintassi in escape e tra virgolette
Questo esempio mostra la sintassi corretta di escape e virgolette quando si creano policy di mascheramento per tabelle, colonne, funzioni e ruoli che utilizzano nomi composti da maiuscole e minuscole o richiedono identificatori tra virgolette in Aurora PostgreSQL.
-- Create a table and columns with mixed case name CREATE TABLE public."Employees" ( "Name" TEXT, "Email" TEXT, ssn VARCHAR(20) ); -- Create a role with mixed case name CREATE ROLE "Masked_user"; -- Create a function with mixed case name CREATE OR REPLACE FUNCTION public."MaskEmail"(text) RETURNS character varying LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE AS $$ BEGIN RETURN 'XXXXXXXX'::text; END $$; -- Now use these objects with mixed case names in -- masking policy management procedures CALL pgcolumnmask.create_masking_policy( '"Policy1"', -- policy name should be surrounded with double quotes for quoting 'public."Employees"', -- table and schema name should be individually -- surrounded with double quotes for quoting JSON_OBJECT('{ "\"Email\"", "\"MaskEmail\"(\"Email\")" }')::JSONB, -- masking expression should have double quotes around function names -- and columns names etc when needed. Also the double quotes itself -- should be escaped using \ (backslash) since this is a JSON string ARRAY['Masked_user'], -- Rolename do not need quoting -- (this behaviour may change in future release) 100 ); SELECT * FROM pgcolumnmask.pg_columnmask_policies WHERE tablename = 'Employees'; -[ RECORD 1 ]-----+------------------------------------- schemaname | public tablename | Employees policyname | Policy1 roles | {Masked_user} masked_columns | {Email} masking_functions | {"(\"MaskEmail\"(\"Email\"))::text"} weight | 100
Viste amministrative
È possibile rivedere tutta la pg_columnmask politica utilizzando la visualizzazione pgcolumnmask.pg_columnmask_policies amministrativa accessibile al pubblico. Le seguenti informazioni sono disponibili utilizzando questa visualizzazione. La vista restituisce solo le politiche di mascheramento di proprietà dell'utente corrente.
| Nome della colonna | Tipo di dati | Description |
|---|---|---|
|
schemaname |
NAME |
Schema della relazione a cui è allegata la politica |
|
tablename |
NAME |
Nome della relazione a cui è allegata la politica |
|
nome della politica |
NAME |
Nome della politica di mascheramento, tutte le politiche di mascheramento hanno nomi univoci |
|
roles |
TESTO [] |
Ruolo a cui si applica la politica. |
|
masked_columns |
TESTO [] |
Colonne mascherate |
|
funzioni_mascheramento |
TESTO [] |
Funzioni di mascheramento |
| peso | INT |
Peso della politica allegata |