You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake任务执行Notebook权限问题求助

解决Snowflake任务执行Notebook的权限问题

首先明确:Snowflake Notebook目前不支持直接对Notebook对象授予USAGE或OWNERSHIP权限,你遇到的报错正是因为该特性尚未开放。要让角色PROD_ALL_RW_AR通过任务执行Notebook,需从以下维度配置权限:

1. 授予角色Notebook关联仓库的权限

Notebook执行依赖计算仓库,必须给角色授予仓库的USAGE和OPERATE权限:

GRANT USAGE, OPERATE ON WAREHOUSE <你的仓库名称> TO ROLE PROD_ALL_RW_AR;

若Notebook涉及多个仓库,需对每个仓库执行上述授权。

2. 验证角色对Notebook所在模式的权限

确认角色除数据库USAGE外,同时拥有Notebook所在模式的USAGE权限:

GRANT USAGE ON SCHEMA BI_ELT.INTEGRATIONS TO ROLE PROD_ALL_RW_AR;

3. 授予角色对Notebook中SQL涉及对象的权限

Notebook的执行本质是运行其中的SQL语句,角色需拥有这些语句操作对象的对应权限:

  • 查询表/视图:GRANT SELECT ON TABLE BI_ELT.INTEGRATIONS.<目标表名> TO ROLE PROD_ALL_RW_AR;
  • 写入数据:GRANT INSERT, UPDATE ON TABLE BI_ELT.INTEGRATIONS.<目标表名> TO ROLE PROD_ALL_RW_AR;
  • 涉及UDF、存储过程时,需授予对应对象的USAGE权限。

4. 检查任务配置的正确性

确保任务指定的仓库是角色已授权的,且任务执行角色为PROD_ALL_RW_AR:

ALTER TASK <你的任务名称> SET WAREHOUSE = <授权过的仓库名称>;
ALTER TASK <你的任务名称> SET EXECUTE AS ROLE PROD_ALL_RW_AR;

替代方案(若上述配置仍有问题)

如果必须保留Notebook的交互逻辑,可尝试将Notebook导出为SQL脚本,修改任务直接执行该脚本;或由ACCOUNTADMIN角色创建并执行Notebook任务,再通过角色权限控制任务的可见性。

内容的提问来源于stack exchange,提问作者Sebastian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:57:37