我正在尝试将OWNERSHIP
从一个角色更改为Snowflake DWH中的其他角色。假设Old Owner Role
是当前所有权的角色,New Owner Role
是我希望赋予所有权的角色,R3
是一个已经拥有对感兴趣对象的访问权限的角色。当我试图这样做时,我得到了以下错误。
SQL执行错误:依赖授予权限' SELECT'上 安全的''角色' R3' 存在。必须先撤销它。不止一个依赖 可能存在补助
为什么现有角色会成为所有权变更的问题?
答案 0 :(得分:2)
根据Snowflake文档(https://docs.snowflake.net/manuals/sql-reference/sql/grant-ownership.html),Kannan无法将对象的所有权授予(转移)到另一个角色,除非已撤销对该对象的所有当前特权(使用REVOKE命令) 。它看起来像当前所有者或具有相应权限的角色成员,该角色之前已授予对R3角色的对象(可能是表或视图)的SELECT权限。在转让对象的所有权之前,需要撤销该特权。
根据同一个文档页面,存在限制以防止新所有者在不知情的情况下继承已经对其进行授权的对象。