我在ACCOUNTADMIN
下尝试REVOKE ALL ON DATABASE ABC FROM ROLE XYZ
并得到了成功消息。
当我切换到角色XYZ
时,我仍然看到ABC
数据库,但它显示为空。在此角色下运行show databases
时,数据库也仍在列表中。
如何使此角色根本看不到数据库?
顺便说一下,此问题会阻止我们与雪花的模式连接在 UI 中列出可用表。
创建两个数据库:db1 和 db2,例如,使用 ACCOUNTADMIN 角色:
创建数据库 DB1; 创建数据库 DB2;
然后创建两个角色,一个用于数据库 db1,另一个用于数据库 db2
创建角色 DB1; 创建角色 DB2;
现在,将数据库 db1 上的使用权授予角色 db1,与角色 db2 类似。
向角色 DB1 授予数据库 DB1 的使用权; 将数据库 DB2 上的使用权授予角色 DB2;
切换到角色 db2 时,您将看不到 db1 数据库,反之亦然。 此外,当您运行 :
显示数据库;
比如说,当您将角色设置为 DB1 时, 您将不会在结果中看到数据库 DB2。
希望这有帮助。
就我而言,我也有使用监控,因此必须做revoke MONITOR USAGE on account from role XYZ
。我怀疑这是一个非常极端的情况,不会影响很多人。:(