2016-12-28 59 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特權。在對象的所有權可以轉讓之前,需要撤銷該特權。

根據同一個文檔頁面,限制條件的存在是爲了防止新的所有者不知不覺地繼承已經對其進行授權的對象。