【问题标题】:Snowflake tags and tag based masking policies雪花标签和基于标签的屏蔽策略
【发布时间】:2023-01-03 01:14:03
【问题描述】:

我一直在寻找一种查询 Snowflake 标签及其附属物(如架构、表、视图和列)以及应用的屏蔽策略的方法。最简单的方法是从 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- 列出所有对象、它们的标签和应用的标签策略。

你能帮我解决这个问题吗?

非常感谢,

哈扎尔

【问题讨论】:

    标签: tags snowflake-cloud-data-platform data-masking


    【解决方案1】:

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

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

    Enabling Snowflake Database Usage for Other Roles

    默认情况下,SNOWFLAKE 数据库仅对 ACCOUNTADMIN 角色可用。

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

    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 数据库角色为帐户授予更精细的控制权。有关数据库角色的更多信息,请参阅数据库角色。

    ACCOUNT_USAGE 模式有四个定义的 SNOWFLAKE 数据库角色,每个角色都被授予对特定视图的 SELECT 特权。

    ACCOUNT_USAGE Views by Database Role

    OBJECT_VIEWER、USAGE_VIEWER、GOVERNACE_VIEWER 和 SECURITY_VIEWER 角色具有在共享 SNOWFLAKE 数据库中查询帐户使用情况视图的 SELECT 权限。

    标签视图可用于 OBJECT_VIEWER 角色和 GOVERNANCE_VIEWER 角色

    【讨论】:

      猜你喜欢
      • 2022-06-23
      • 2021-07-09
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 2022-06-30
      • 2021-10-13
      • 2023-02-07
      • 2022-07-02
      相关资源
      最近更新 更多