2

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

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

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

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

4

1 回答 1

2

这完全可以通过post-hooks实现!与{{ this }}( docs ) 一起使用,它们是一个强大而灵活的工具。

使用 post-hook 提供对单个表的访问有两种选择:

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

select ...

这是在 dbt 项目中授予访问权限的更深入指南

ps爱你的用户名!

于 2021-09-21T16:59:57.960 回答