授予在Snowflake中特定未来表的访问权限

3
我目前正在使用Fivetran将数据传输到Snowflake。一旦数据到达,每6小时DBT运行一些简单的已保存查询,这些查询会显示为模式中的表格。
然而,各种角色的权限不断被重置,他们无法再访问我给他们查看权限的模式中的表格。我怀疑这是因为DBT正在删除并重新创建相关的表格。
一个可能的解决方法是授予模式中未来表格的访问权限,例如:
grant select on future tables in schema myschema to role some_role;

然而,我只想授予访问单个表格的权限,而不是所有表格。这是否可能?
1个回答

3
这是完全可能的,使用post-hooks!与{{ this }}docs)一起使用,它们是一个强大而灵活的工具。
您有两个选项可以使用 post-hooks 在单个表上提供访问:
  • 作为模型定义文件顶部的配置块(如下所示),或
  • dbt_project.yml
{{ config(
    post_hook=[
      "grant select on {{ this }} to role some_role;"
    ]
) }}

select ...

这里有一个更加深入的指南,介绍如何在dbt项目中授予访问权限。
附言:喜欢你的用户名!

非常感谢!这个很好用。 - LittleBobbyTables

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接