【问题标题】:Grant access to a specific future table in Snowflake授予对 Snowflake 中特定未来表的访问权限
【发布时间】:2021-11-15 05:38:34
【问题描述】:

我目前正在使用 Fivetran 将数据通过管道传输到 Snowflake。数据到达后,DBT 每 6 小时运行一些简单的已保存查询,这些查询在模式中显示为表。 但是,各种角色的权限不断被重置,他们无法再访问我允许他们查看的架构中的表。我怀疑这是因为 DBT 正在删除然后重新创建有问题的表。

一种可能的解决方案是授予对架构中未来表的访问权限,例如:

grant select on future tables in schema myschema to role some_role;

但是,我只想授予对单个表的访问权限,而不是全部。这可能吗?

【问题讨论】:

    标签: snowflake-cloud-data-platform dbt database-permissions fivetran


    【解决方案1】:

    post-hooks 完全可以做到这一点!与{{ this }} (docs) 配合使用,是一款功能强大且灵活的工具。

    您有两个选项可以使用 post-hooks 提供对单个表的访问权限:

    • 作为模型定义文件顶部的配置块(如下),或
    • dbt_project.yml
    {{ config(
        post_hook=[
          "grant select on {{ this }} to role some_role;"
        ]
    ) }}
    
    select ...
    

    这里有更多in-depth guide 在 dbt 项目中授予访问权限

    附言喜欢你的用户名!

    【讨论】:

    • 非常感谢!这很好用。
    猜你喜欢
    • 2021-05-12
    • 2021-08-10
    • 2014-05-06
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多