在雪花表中授予所有权时出错

Error in granting ownership in snowflake tables

我正在尝试将 OWNERSHIP 从 Snowflake DWH 中的一个角色更改为另一个角色。说 Old Owner Role 是具有当前所有权的角色,New Owner Role 是我希望赋予所有权的角色,R3 是已经可以访问感兴趣对象的角色。当我尝试这样做时,我遇到了错误。

SQL execution error: Dependent grant of privilege 'SELECT' on securable '' to role 'R3' exists. It must be revoked first. More than one dependent grant may exist

为什么现有角色会成为所有权变更的问题?

Kannan,根据 Snowflake 文档 (https://docs.snowflake.net/manuals/sql-reference/sql/grant-ownership.html),一个对象的所有权不能被授予(转移)给另一个角色,除非当前授予该对象的所有权限都已被撤销(使用 REVOKE命令)。看起来当前所有者或具有适当权限的角色成员先前已将对象(可能是 table 或视图)的 SELECT 权限授予 R3 角色。在转让对象的所有权之前,需要撤销该特权。

根据同一个文档页面,存在限制是为了防止新所有者在不知不觉中继承已经授予的对象。