雪花标签和基于标签的屏蔽策略



我一直在寻找一种方法来查询雪花标记和它们的财产,如模式、表、视图和列,以及所应用的屏蔽策略。最简单的方法是从account_usage模式查询它,如下所示。只有一些人分配了account_admin角色,所以我们不能使用这个选项。

select * from snowflake.account_usage.tags
order by tag_name;
select * from snowflake.account_usage.tag_references
order by tag_name;

我一直在检查选项并从信息模式中查询它们,但是我必须编写输入以使其像下面这样发生。

我会用

show tables 

然后使用下面列出的表,但它不允许我编写一个变量,其中"DimCustomer"是。

select *
from table(information_schema.tag_references_all_columns('"DimCustomer"', 'table'))

用于策略;

select *
from table (information_schema.policy_references(
POLICY_NAME  => 'CUST_KEY_MASK')
);

考虑到如果我不知道dim_customers有一个标签,也不知道标签有CUST_KEY_MASK策略,我该如何列出所有带标签的对象并应用于屏蔽策略呢?

作为总结:

1-列出所有的对象,表,视图

2-列出所有应用了标签的对象

3-列出所有的对象,它们的标签,以及应用的标签策略。

你能帮我一下吗?

许多谢谢,

Hazal

"最简单的方法是从account_usage模式查询它,如下所示。只有一些人分配了account_admin角色,所以我们不能使用这个选项。">

可以将SNOWFLAKE数据共享和ACCOUNT_USAGE模式的访问权限授予其他角色

为其他角色启用Snowflake数据库

默认情况下,雪花数据库只对ACCOUNTADMIN角色可用。

为使其他角色能够访问数据库和模式,并查询视图,具有ACCOUNTADMIN角色的用户必须为所需角色授予以下数据共享权限:IMPORTED PRIVILEGES

USE ROLE ACCOUNTADMIN;
GRANT IMPORTED PRIVILEGES ON DATABASE snowflake TO ROLE SYSADMIN;
GRANT IMPORTED PRIVILEGES ON DATABASE snowflake TO ROLE customrole1;

如果需要更细粒度的权限分配,则:

ACCOUNT_USAGE Schema SNOWFLAKE Database Roles

此外,您可以使用SNOWFLAKE Database角色向帐户授予更精细的控制。有关数据库角色的更多信息,请参见数据库角色。

ACCOUNT_USAGE模式有四个定义的雪花数据库角色,每个角色在特定视图上被授予SELECT权限。

ACCOUNT_USAGE数据库角色视图

OBJECT_VIEWER、USAGE_VIEWER、GOVERNACE_VIEWER和SECURITY_VIEWER角色具有查询共享数据库Account Usage视图的SELECT权限。

"OBJECT_VIEWER角色"one_answers"GOVERNANCE_VIEWER角色"有标签视图

USE SNOWFLAKE;
GRANT DATABASE ROLE GOVERNANCE_VIEWER TO ROLE SYSADMIN;
GRANT DATABASE ROLE GOVERNANCE_VIEWER TO ROLE CUSTOM_ROLE;

相关内容

  • 没有找到相关文章

最新更新