从Snowflake中的角色隐藏数据库

时间:2019-11-27 01:35:25

标签: snowflake-data-warehouse

我在REVOKE ALL ON DATABASE ABC FROM ROLE XYZ下尝试了ACCOUNTADMIN,并收到了一条成功消息。

当我切换到角色XYZ时,仍然看到ABC数据库,但它显示为空。在该角色下运行show databases时,数据库仍在列表中。

如何使该角色完全看不到数据库?

顺便说一句,此问题阻止我们与Snowflake的Mode连接列出UI中的可用表。

2 个答案:

答案 0 :(得分:0)

例如,使用ACCOUNTADMIN角色创建两个数据库:db1和db2:

创建数据库db1; 创建数据库db2;

然后创建两个角色,一个用于数据库db1,另一个用于数据库db2

创建角色db1; 创建角色db2;

现在,将数据库db1上的用法授予角色db1,与角色db2类似。

将数据库db1上的使用授予角色db1; 将数据库db2上的用法授予角色db2;

切换到角色db2时,您将看不到db1数据库,反之亦然。 另外,当您运行时:

显示数据库;

说,当您将角色设置为db1时, 您将不会在结果中看到数据库db2。

希望这会有所帮助。

答案 1 :(得分:0)

就我而言,我还具有使用情况监视功能,因此必须执行revoke MONITOR USAGE on account from role XYZ。我怀疑这是一个极端的案例,不会影响很多人。 :(