This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE ROLE MASKING_ADMIN; | |
CREATE OR REPLACE MASKING POLICY dp_governance.masking_policies.string_mask_customer AS (val STRING) RETURNS STRING -> | |
CASE | |
WHEN EXISTS (SELECT 1 FROM TABLE(SPLIT_TO_TABLE(SYSTEM$GET_TAG('dp_governance.tags.customer_sensitive', dp_governance.tags.get_current_user(), 'user'), ',')) WHERE value = 'customer-survey') and SYSTEM$GET_TAG_ON_CURRENT_COLUMN('dp_governance.tags.customer_sensitive') = 'customer-survey' THEN val | |
WHEN EXISTS (SELECT 1 FROM TABLE(SPLIT_TO_TABLE(SYSTEM$GET_TAG('dp_governance.tags.customer_sensitive', dp_governance.tags.get_current_user(), 'user'), ',')) WHERE value = 'customer-loyalty') and SYSTEM$GET_TAG_ON_CURRENT_COLUMN('dp_governance.tags.customer_sensitive') = 'customer-loyalty' THEN val | |
WHEN EXISTS (SELECT 1 FROM TABLE(SPLIT_TO_TABLE(SYSTEM$GET_TAG('dp_governance.tags.technical_user', dp_governance.tags.get_current_user(), 'user'), ',')) WHERE value = 'ServiceAccount') THEN val | |
ELSE '***MASKED***' | |
END | |
COMMENT = 'String masking policy for c |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE ROLE MASKING_ADMIN; | |
CREATE OR REPLACE MASKING POLICY dp_governance.masking_policies.string_mask_employee AS (val STRING) RETURNS STRING -> | |
CASE | |
WHEN EXISTS (SELECT 1 FROM TABLE(SPLIT_TO_TABLE(SYSTEM$GET_TAG('dp_governance.tags.employee_sensitive', dp_governance.tags.get_current_user(), 'user'), ',')) WHERE value = 'compensation') and SYSTEM$GET_TAG_ON_CURRENT_COLUMN('dp_governance.tags.employee_sensitive') = 'compensation' THEN val | |
WHEN EXISTS (SELECT 1 FROM TABLE(SPLIT_TO_TABLE(SYSTEM$GET_TAG('dp_governance.tags.employee_sensitive', dp_governance.tags.get_current_user(), 'user'), ',')) WHERE value = 'payroll') and SYSTEM$GET_TAG_ON_CURRENT_COLUMN('dp_governance.tags.employee_sensitive') = 'payroll' THEN val | |
WHEN EXISTS (SELECT 1 FROM TABLE(SPLIT_TO_TABLE(SYSTEM$GET_TAG('dp_governance.tags.technical_user', dp_governance.tags.get_current_user(), 'user'), ',')) WHERE value = 'ServiceAccount') THEN val | |
ELSE '***MASKED***' | |
END | |
COMMENT = 'String masking policy for employee experience sensi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE ROLE TAG_ADMIN; | |
ALTER TAG dp_governance.tags.customer_sensitive | |
SET MASKING POLICY dp_governance.masking_policies.string_mask_customer, | |
MASKING POLICY dp_governance.masking_policies.timestamp_mask_customer, | |
MASKING POLICY dp_governance.masking_policies.date_mask_customer | |
; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE ROLE TAG_ADMIN; | |
ALTER TAG dp_governance.tags.employee_sensitive | |
SET MASKING POLICY dp_governance.masking_policies.string_mask_employee, | |
MASKING POLICY dp_governance.masking_policies.float_mask_employee, | |
MASKING POLICY dp_governance.masking_policies.timestamp_mask_employee, | |
MASKING POLICY dp_governance.masking_policies.date_mask_employee, | |
MASKING POLICY dp_governance.masking_policies.number_mask_employee | |
; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE ROLE tag_admin; | |
ALTER TAG dp_governance.tags.customer_sensitive | |
UNSET MASKING POLICY dp_governance.masking_policies.string_mask_customer, | |
MASKING POLICY dp_governance.masking_policies.timestamp_mask_customer, | |
MASKING POLICY dp_governance.masking_policies.date_mask_customer | |
; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE ROLE TAG_ADMIN; | |
ALTER TAG dp_governance.tags.employee_sensitive | |
UNSET MASKING POLICY dp_governance.masking_policies.string_mask_employee, | |
MASKING POLICY dp_governance.masking_policies.float_mask_employee, | |
MASKING POLICY dp_governance.masking_policies.timestamp_mask_employee, | |
MASKING POLICY dp_governance.masking_policies.date_mask_employee, | |
MASKING POLICY dp_governance.masking_policies.number_mask_employee | |
; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE ROLE SYSADMIN; | |
CREATE DTABASE dp_governance; | |
CREATE SCHEMA dp_governance.tags; | |
CREATE SCHEMA dp_governance.masking_policies; |