0

我为 PII 数据创建了屏蔽策略。然后我将它应用到这样的表中:

CREATE TABLE EXAMPLE.EXAMPLE_TABLE 
(ID INT,
LAST_NAME STRING,
PHONE_NUMBER INT);

ALTER TABLE EXAMPLE.EXAMPLE_TABLE MODIFY COLUMN LAST_NAME SET MASKING POLICY PUBLIC.PII_MASK_STRING;
ALTER TABLE EXAMPLE.EXAMPLE_TABLE MODIFY COLUMN PHONE_NUMBER SET MASKING POLICY PUBLIC.PII_MASK_NUMERIC;

现在我希望能够对ALTER TABLE... SET MASKING POLICY包含的 DDL 脚本进行逆向工程。

有没有办法查询应用了屏蔽策略的列的列表(以及它使用的屏蔽)?

编辑:对于这种情况,用户拥有表的所有权,但没有屏蔽策略。查询这些信息需要什么权限?

4

2 回答 2

1

信息模式表函数 POLICY_REFERENCES 在这种情况下有一些有趣的信息,更多信息在这里:https ://docs.snowflake.com/en/sql-reference/functions/policy_references.html

如果这还不够,当您将上面的查询与您的 SHOW MASKING POLICIES 结合使用时,您可以查询所有表和所有列的所有策略;和 RESULT_SCAN() 函数。RESULT_SCAN() 允许您查询 SHOW MASKING POLICIES 的结果;(https://docs.snowflake.com/en/sql-reference/functions/result_scan.html

结果:您将获得所有策略名称,并且可以为每个策略调用 POLICY_REFERENCES()。

于 2020-10-22T19:24:46.130 回答
-1

供应商选项是使用 Snowflake 合作伙伴解决方案来自动化 PII 上的屏蔽策略,以使用 Immuta 进行动态数据屏蔽。如果您觉得有帮助,这里有一个演示视频。

全面披露:我受雇于我的 Immuta,我的团队为数据工程师处理内容。

于 2020-10-22T19:51:54.420 回答