2016-12-28 33 views
1

我正在尝试将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

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

回答

2

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

根据同一个文档页面,限制条件的存在是为了防止新的所有者不知不觉地继承已经对其进行授权的对象。