雪花存储过程、任务和所有权

问题描述 投票:0回答:1

我在 Snowflake 上有一个调用存储过程的任务。该存储过程已被定义为由调用者执行。反过来,运行存储过程的任务是使用角色“A”创建的,但也有一些角色被授予了该任务的所有权。

问题:当任务运行并调用存储过程时,如果有多个角色拥有该任务的所有权,那么哪个角色实际上在调用存储过程?

stored-procedures snowflake-cloud-data-platform roles rbac
1个回答
0
投票

如果存储过程已定义为

EXECUTE AS CALLER
,则它使用任务的角色,该角色对应于拥有该任务的角色。

不存在“拥有任务所有权的多个角色”,因为每个对象只能有一个所有者。

相关文档:

“Snowflake 以任务所有者的权限运行任务(即对任务具有 OWNERSHIP 权限的角色)”

https://docs.snowflake.com/en/user-guide/tasks-intro#understanding-the-system-service

“每个安全对象都由一个角色拥有,默认情况下是用于创建对象的角色”

https://docs.snowflake.com/en/user-guide/security-access-control-overview

“调用者权限存储过程以调用该存储过程的角色的数据库权限运行”

https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-rights#privileges-on-database-objects

© www.soinside.com 2019 - 2024. All rights reserved.