You are on page 1of 1

-- APPLY MASKING POLICIES ON VIEWS

USE ROLE ACCOUNTADMIN;

-- CREATE A VIEW
CREATE OR REPLACE VIEW VW_EMPL AS
SELECT * FROM EMPLOYEE_INFO
WHERE SALARY > 40000;

SELECT * FROM VW_EMPL;

-- grant select privilege to analyst roles


GRANT SELECT ON VIEW DEMO_DB.EMPLOYEE.VW_EMPL TO ROLE ANALYST;
GRANT SELECT ON VIEW DEMO_DB.EMPLOYEE.VW_EMPL TO ROLE ANALYST_REAL;
GRANT SELECT ON VIEW DEMO_DB.EMPLOYEE.VW_EMPL TO ROLE DEVELOPER;

-- APPLY MASKING POLICY TO A VIEW's NUMBER COLUMN


ALTER VIEW VW_EMPL MODIFY COLUMN salary SET MASKING POLICY
sensitive_info_masking_numbers;

-- APPLY THE MASKING POLICY TO A VIEW's STRING COLUMN


ALTER VIEW VW_EMPL MODIFY COLUMN dept SET MASKING POLICY
sensitive_info_masking_strings;

SELECT * FROM VW_EMPL;

-- SEE MASKING IN ACTION


USE ROLE ANALYST_REAL;
SELECT * FROM VW_EMPL;

USE ROLE ANALYST;


SELECT * FROM VW_EMPL;

You might also like