Dynamic Data Masking on Redshift Table

0

is it possible to conveniently mask all columns in a Redshift table? The example in the docs only masks one column but is there a way to mask 20 with a single policy/UDF for example?

sidath
posta 4 mesi fa459 visualizzazioni
1 Risposta
0
Risposta accettata

Yes, it is possible to conveniently mask multiple columns in a Redshift table using Dynamic Data Masking. Here are a couple approaches you could take:

  1. Create a separate data masking policy for each column you want to mask. This allows you to customize the masking function and parameters per column. The downside is having to manage multiple policies.

  2. Create a User Defined Function (UDF) that accepts the column name as a parameter, checks it against your list of columns to mask, and applies the appropriate masking based on the column. You would then create a single data masking policy that calls this UDF, passing the column name.

For example:

CREATE FUNCTION mask_columns(col varchar) 
RETURNS varchar STABLE AS $$
  if col in ('col1', 'col2', 'col3') then 
    return 'XX';
  else
    return col;
  end if;
$$ LANGUAGE plpgsql;

CREATE DATA MASKING POLICY policy1 
AS (mask_columns(colname));

ALTER TABLE table1 
ALTER COLUMN col1 SET MASKED BY policy1; 

ALTER TABLE table1  
ALTER COLUMN col2 SET MASKED BY policy1;

ALTER TABLE table1
ALTER COLUMN col3 SET MASKED BY policy1;

This allows you to add a single policy to mask

AWS
Saad
con risposta 4 mesi fa
profile pictureAWS
ESPERTO
verificato 4 mesi fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande