Snowflake多所有权角色任务调用存储过程的执行角色咨询
Snowflake任务调用存储过程的执行角色说明
当你的Snowflake任务运行并调用按调用者权限执行的存储过程时,实际执行调用操作的角色是任务的当前所有者角色(OWNER),具体规则如下:
- 任务创建时,默认所有者为创建它的角色“A”。
- 如果后续通过
GRANT OWNERSHIP ON TASK <你的任务名> TO ROLE <目标角色>语句将任务所有权转移给其他角色,任务运行时会以最后一次被授予所有权的角色作为执行上下文。 - 若仅给多个角色授予了任务的管理权限(未转移所有权),任务所有者仍为角色“A”,此时调用存储过程的执行角色就是角色“A”。
由于存储过程设置为按调用者权限执行(CALLER'S RIGHTS),它会完全继承调用它的任务所有者角色的权限与上下文运行。
内容的提问来源于stack exchange,提问作者Estrobelai
相关产品推荐
相关产品推荐

