在雪花中检索帐户的所有可用屏蔽策略
Posted
技术标签:
【中文标题】在雪花中检索帐户的所有可用屏蔽策略【英文标题】:Retrieve all available masking policies for an account in snowflake 【发布时间】:2020-10-07 10:34:54 【问题描述】:如何在雪花中获取特定帐户中创建的所有屏蔽策略?有什么风景可以看吗?
显示屏蔽策略只检索与策略相关的数据,而不是它的应用位置?
如何获取所有策略以及在哪些表的哪些列中应用这些策略?
【问题讨论】:
【参考方案1】:可以查询信息架构表-函数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()。
【讨论】:
以上是关于在雪花中检索帐户的所有可用屏蔽策略的主要内容,如果未能解决你的问题,请参考以下文章