【发布时间】:2020-10-07 10:34:54
【问题描述】:
如何在雪花中获取特定帐户中创建的所有屏蔽策略?有什么风景可以看吗?
显示屏蔽策略只检索与策略相关的数据,而不是它的应用位置?
如何获取所有策略以及在哪些表的哪些列中应用这些策略?
【问题讨论】:
标签: snowflake-cloud-data-platform snowflake-data-masking
如何在雪花中获取特定帐户中创建的所有屏蔽策略?有什么风景可以看吗?
显示屏蔽策略只检索与策略相关的数据,而不是它的应用位置?
如何获取所有策略以及在哪些表的哪些列中应用这些策略?
【问题讨论】:
标签: snowflake-cloud-data-platform snowflake-data-masking
可以查询信息架构表-函数POLICY_REFERENCES,看这里:https://docs.snowflake.com/en/sql-reference/functions/policy_references.html
这也是文档中的一个示例:
use database my_db;
use schema information_schema;
select *
from table(information_schema.policy_references(policy_name => 'ssn_mask'));
重要提示:您必须执行USE DATABASE ... 和USE SCHEMA INFORMATION_SCHEMA 命令或使用完全限定标识符。
如果这还不够,当您将上面的查询与SHOW MASKING POLICIES; 和 RESULT_SCAN() 函数结合使用时,您可以查询所有表和所有列的所有策略。
RESULT_SCAN() 可以查询SHOW MASKING POLICIES;(https://docs.snowflake.com/en/sql-reference/functions/result_scan.html)的结果
结果:您将获得所有策略名称,并且您可以为每个名称调用 POLICY_REFERENCES()。
【讨论】: